| author | Stephen Paul Weber
<singpolyma@singpolyma.net> 2025-05-12 13:17:00 UTC |
| committer | Stephen Paul Weber
<singpolyma@singpolyma.net> 2025-05-12 13:36:16 UTC |
| parent | 35872f4f9bcb2fc99667327de98b83e85ab8d438 |
| HaxeSwiftBridge.hx | +12 | -1 |
diff --git a/HaxeSwiftBridge.hx b/HaxeSwiftBridge.hx index 5de16d4..8d5cec6 100644 --- a/HaxeSwiftBridge.hx +++ b/HaxeSwiftBridge.hx @@ -177,7 +177,7 @@ class HaxeSwiftBridge { builder.add(": "); builder.add(getSwiftType(arg.t, true)); if (arg.opt) { - Context.fatalError("default? " + arg.name, Context.currentPos()); + builder.add(" = nil"); } } } @@ -417,6 +417,17 @@ class HaxeSwiftBridge { default: } } + for (arg in targs) { + final allowNull = switch arg.t { + case TAbstract(_.get().name => "Null", [param]): true; + default: false; + }; + switch TypeTools.followWithAbstracts(Context.resolveType(Context.toComplexType(arg.t), Context.currentPos()), false) { + case TInst(_.get().name => "Array", [TInst(_.get().name => "String", _)]): + builder.add("with" + (allowNull ? "Optional" : "") + "ArrayOfCStrings(" + arg.name + ") { __" + arg.name + " in "); + default: + } + } final ibuilder = new hx.strings.StringBuilder("c_"); ibuilder.add(libName); ibuilder.add(".");