Browse Source

Moved IsSynthetized from Method to Function.

Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>

Conflicts:
	src/AST/Method.cs
pull/277/head
Dimitar Dobrev 12 years ago
parent
commit
ca2b3a312e
  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
public enum FunctionSynthKind public enum FunctionSynthKind
{ {
None, None,
NonMemberOperator,
ComplementOperator, ComplementOperator,
AbstractImplCall, AbstractImplCall,
DefaultValueOverload DefaultValueOverload
@ -190,6 +189,8 @@ namespace CppSharp.AST
} }
public FunctionSynthKind SynthKind { get; set; } public FunctionSynthKind SynthKind { get; set; }
public bool IsSynthetized { get { return SynthKind != FunctionSynthKind.None; } }
public bool IsNonMemberOperator { get; set; }
public Function OriginalFunction { get; set; } public Function OriginalFunction { get; set; }

1
src/AST/Method.cs

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

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

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

2
src/Generator/Passes/CheckOperatorsOverloads.cs

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

2
src/Generator/Passes/MoveFunctionToClassPass.cs

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

2
src/Generator/Passes/MoveOperatorToClassPass.cs

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

2
src/Generator/Passes/ObjectOverridesPass.cs

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

Loading…
Cancel
Save