Browse Source

Extract the function parameter marshal logic into its own method.

pull/1/head
triton 13 years ago
parent
commit
901c0a6832
  1. 15
      src/Generator/Generators/CLI/CLISourcesTemplate.cs

15
src/Generator/Generators/CLI/CLISourcesTemplate.cs

@ -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)
{

Loading…
Cancel
Save