Browse Source

Merge pull request #277 from ddobrev/master

Moved IsSynthetized from Method to Function
pull/278/head
João Matos 12 years ago
parent
commit
33cb8427b8
  1. 3
      src/AST/Function.cs
  2. 1
      src/AST/Method.cs
  3. 3
      src/Generator/Generators/CSharp/CSharpTextTemplate.cs
  4. 2
      src/Generator/Passes/CheckOperatorsOverloads.cs
  5. 2
      src/Generator/Passes/MoveFunctionToClassPass.cs
  6. 2
      src/Generator/Passes/MoveOperatorToClassPass.cs
  7. 2
      src/Generator/Passes/ObjectOverridesPass.cs

3
src/AST/Function.cs

@ -88,7 +88,6 @@ namespace CppSharp.AST @@ -88,7 +88,6 @@ namespace CppSharp.AST
public enum FunctionSynthKind
{
None,
NonMemberOperator,
ComplementOperator,
AbstractImplCall,
DefaultValueOverload
@ -190,6 +189,8 @@ namespace CppSharp.AST @@ -190,6 +189,8 @@ namespace CppSharp.AST
}
public FunctionSynthKind SynthKind { get; set; }
public bool IsSynthetized { get { return SynthKind != FunctionSynthKind.None; } }
public bool IsNonMemberOperator { get; set; }
public Function OriginalFunction { get; set; }

1
src/AST/Method.cs

@ -109,7 +109,6 @@ namespace CppSharp.AST @@ -109,7 +109,6 @@ namespace CppSharp.AST
public bool IsConst { get; set; }
public bool IsImplicit { get; set; }
public bool IsExplicit { get; set; }
public bool IsSynthetized { get { return SynthKind != FunctionSynthKind.None; } }
public bool IsOverride { get; set; }
public bool IsProxy { get; set; }

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

@ -486,8 +486,7 @@ namespace CppSharp.Generators.CSharp @@ -486,8 +486,7 @@ namespace CppSharp.Generators.CSharp
Action<Method> tryAddOverload = method =>
{
if (method.SynthKind != FunctionSynthKind.NonMemberOperator &&
method.SynthKind != FunctionSynthKind.None)
if (method.IsSynthetized)
return;
if (method.IsProxy)

2
src/Generator/Passes/CheckOperatorsOverloads.cs

@ -57,7 +57,7 @@ namespace CppSharp.Passes @@ -57,7 +57,7 @@ namespace CppSharp.Passes
@operator.ExplicitlyIgnore();
continue;
}
if (@operator.SynthKind == FunctionSynthKind.NonMemberOperator)
if (@operator.IsNonMemberOperator)
continue;
if (@operator.OperatorKind == CXXOperatorKind.Subscript)

2
src/Generator/Passes/MoveFunctionToClassPass.cs

@ -58,7 +58,7 @@ namespace CppSharp.Passes @@ -58,7 +58,7 @@ namespace CppSharp.Passes
if (!FunctionToInstanceMethodPass.GetClassParameter(param, out type))
return;
method.Kind = CXXMethodKind.Operator;
method.SynthKind = FunctionSynthKind.NonMemberOperator;
method.IsNonMemberOperator = true;
method.OriginalFunction = null;
}

2
src/Generator/Passes/MoveOperatorToClassPass.cs

@ -33,7 +33,7 @@ namespace CppSharp.Passes @@ -33,7 +33,7 @@ namespace CppSharp.Passes
Namespace = @class,
Kind = CXXMethodKind.Operator,
OperatorKind = function.OperatorKind,
SynthKind = FunctionSynthKind.NonMemberOperator,
IsNonMemberOperator = true,
OriginalFunction = null,
IsStatic = true
};

2
src/Generator/Passes/ObjectOverridesPass.cs

@ -119,7 +119,7 @@ namespace CppSharp @@ -119,7 +119,7 @@ namespace CppSharp
Name = "ToString",
Namespace = @class,
ReturnType = new QualifiedType(stringType),
SynthKind = FunctionSynthKind.NonMemberOperator,
SynthKind = FunctionSynthKind.ComplementOperator,
IsOverride = true,
IsProxy = true
};

Loading…
Cancel
Save