Browse Source

Renamed HiddenStructureReturn to IndirectReturnType as it is a lot more clear.

pull/47/merge
triton 13 years ago
parent
commit
a964df9069
  1. 10
      src/AST/Function.cs
  2. 16
      src/Generator/Generators/CSharp/CSharpTextTemplate.cs
  3. 2
      src/Generator/Generators/CSharp/CSharpTypePrinter.cs
  4. 2
      src/Generator/Passes/CheckDuplicatedNamesPass.cs

10
src/AST/Function.cs

@ -24,7 +24,7 @@ namespace CppSharp.AST @@ -24,7 +24,7 @@ namespace CppSharp.AST
public enum ParameterKind
{
Regular,
HiddenStructureReturn,
IndirectReturnType,
OperatorParameter
}
@ -103,12 +103,12 @@ namespace CppSharp.AST @@ -103,12 +103,12 @@ namespace CppSharp.AST
get { return CallingConvention == CallingConvention.C; }
}
public bool HasHiddenStructParameter
public bool HasIndirectReturnTypeParameter
{
get
{
return Parameters.Any(param =>
param.Kind == ParameterKind.HiddenStructureReturn);
param.Kind == ParameterKind.IndirectReturnType);
}
}
@ -116,11 +116,11 @@ namespace CppSharp.AST @@ -116,11 +116,11 @@ namespace CppSharp.AST
{
get
{
if (!HasHiddenStructParameter)
if (!HasIndirectReturnTypeParameter)
return ReturnType;
var hiddenParam = Parameters.Single(param =>
param.Kind == ParameterKind.HiddenStructureReturn);
param.Kind == ParameterKind.IndirectReturnType);
return hiddenParam.QualifiedType;
}
}

16
src/Generator/Generators/CSharp/CSharpTextTemplate.cs

@ -1057,7 +1057,7 @@ namespace CppSharp.Generators.CSharp @@ -1057,7 +1057,7 @@ namespace CppSharp.Generators.CSharp
if (param.Ignore)
continue;
if (param.Kind == ParameterKind.HiddenStructureReturn)
if (param.Kind == ParameterKind.IndirectReturnType)
continue;
var ctx = new CSharpMarshalContext(Driver)
@ -1076,7 +1076,7 @@ namespace CppSharp.Generators.CSharp @@ -1076,7 +1076,7 @@ namespace CppSharp.Generators.CSharp
}
var hasReturn = !method.ReturnType.Type.IsPrimitiveType(PrimitiveType.Void)
&& !method.HasHiddenStructParameter;
&& !method.HasIndirectReturnTypeParameter;
if (hasReturn)
Write("var _ret = ");
@ -1624,10 +1624,10 @@ namespace CppSharp.Generators.CSharp @@ -1624,10 +1624,10 @@ namespace CppSharp.Generators.CSharp
var needsFixedThis = needsInstance && isValueType;
var @params = GenerateFunctionParamsMarshal(parameters, function);
if (function.HasHiddenStructParameter)
if (function.HasIndirectReturnTypeParameter)
{
var hiddenParam = function.Parameters[0];
if (hiddenParam.Kind != ParameterKind.HiddenStructureReturn)
if (hiddenParam.Kind != ParameterKind.IndirectReturnType)
throw new NotSupportedException("Expected hidden structure parameter kind");
Class retClass = null;
@ -1647,7 +1647,7 @@ namespace CppSharp.Generators.CSharp @@ -1647,7 +1647,7 @@ namespace CppSharp.Generators.CSharp
names.Add(name);
}
if (function.HasHiddenStructParameter)
if (function.HasIndirectReturnTypeParameter)
{
var name = string.Format("new IntPtr(&{0})", GeneratedIdentifier("ret"));
names.Insert(0, name);
@ -1667,7 +1667,7 @@ namespace CppSharp.Generators.CSharp @@ -1667,7 +1667,7 @@ namespace CppSharp.Generators.CSharp
WriteLine("var {0} = ToInternal();", Generator.GeneratedIdentifier("instance"));
}
if (needsReturn && !function.HasHiddenStructParameter)
if (needsReturn && !function.HasIndirectReturnTypeParameter)
Write("var {0} = ", GeneratedIdentifier("ret"));
WriteLine("{0}({1});", functionName, string.Join(", ", names));
@ -1776,7 +1776,7 @@ namespace CppSharp.Generators.CSharp @@ -1776,7 +1776,7 @@ namespace CppSharp.Generators.CSharp
var paramIndex = 0;
foreach (var param in @params)
{
if (param.Kind == ParameterKind.HiddenStructureReturn)
if (param.Kind == ParameterKind.IndirectReturnType)
continue;
marshals.Add(GenerateFunctionParamMarshal(param, paramIndex, function));
@ -1853,7 +1853,7 @@ namespace CppSharp.Generators.CSharp @@ -1853,7 +1853,7 @@ namespace CppSharp.Generators.CSharp
{
var param = function.Parameters[i];
if (param.Kind == ParameterKind.HiddenStructureReturn)
if (param.Kind == ParameterKind.IndirectReturnType)
continue;
@params.Add(string.Format("{0}{1} {2}", GetParameterUsage(param.Usage),

2
src/Generator/Generators/CSharp/CSharpTypePrinter.cs

@ -361,7 +361,7 @@ namespace CppSharp.Generators.CSharp @@ -361,7 +361,7 @@ namespace CppSharp.Generators.CSharp
{
var paramType = parameter.Type;
if (parameter.Kind == ParameterKind.HiddenStructureReturn)
if (parameter.Kind == ParameterKind.IndirectReturnType)
return "global::System.IntPtr";
return paramType.Visit(this);

2
src/Generator/Passes/CheckDuplicatedNamesPass.cs

@ -39,7 +39,7 @@ namespace CppSharp.Passes @@ -39,7 +39,7 @@ namespace CppSharp.Passes
private bool UpdateName(Method method)
{
var @params = method.Parameters.Where(p => p.Kind != ParameterKind.HiddenStructureReturn)
var @params = method.Parameters.Where(p => p.Kind != ParameterKind.IndirectReturnType)
.Select(p => p.QualifiedType.ToString());
var signature = string.Format("{0}({1})", Name,string.Join( ", ", @params));

Loading…
Cancel
Save