|
|
|
|
@ -348,13 +348,20 @@ namespace Cxxi.Generators.CLI
@@ -348,13 +348,20 @@ namespace Cxxi.Generators.CLI
|
|
|
|
|
for (var i = 0; i < function.Parameters.Count; ++i) |
|
|
|
|
{ |
|
|
|
|
var param = function.Parameters[i]; |
|
|
|
|
GenerateFunctionParamMarshal(function, param, @params, i); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return @params; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void GenerateFunctionParamMarshal(Function function, Parameter param, List<ParamMarshal> @params, int i) |
|
|
|
|
{ |
|
|
|
|
if (param.Type is BuiltinType) |
|
|
|
|
{ |
|
|
|
|
@params.Add(new ParamMarshal {Name = param.Name, Param = param}); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
|
|
|
|
|
var argName = "arg" + i.ToString(CultureInfo.InvariantCulture); |
|
|
|
|
|
|
|
|
|
var ctx = new MarshalContext() |
|
|
|
|
@ -384,10 +391,6 @@ namespace Cxxi.Generators.CLI
@@ -384,10 +391,6 @@ namespace Cxxi.Generators.CLI
|
|
|
|
|
var argText = marshal.ArgumentPrefix + argName; |
|
|
|
|
@params.Add(new ParamMarshal {Name = argText, Param = param}); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return @params; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public void GenerateFunctionParams(Function function, List<ParamMarshal> @params) |
|
|
|
|
{ |
|
|
|
|
|