Browse Source

Merge pull request #140 from ddobrev/master

Use properties in structs as well
pull/145/head
João Matos 12 years ago
parent
commit
0dc1e2c02c
  1. 7
      src/Generator/Passes/MoveFunctionToClassPass.cs
  2. 5
      tests/Basic/Basic.cpp
  3. 2
      tests/Basic/Basic.h

7
src/Generator/Passes/MoveFunctionToClassPass.cs

@ -20,6 +20,9 @@ namespace CppSharp.Passes
if (@class != null) if (@class != null)
MoveFunction(function, @class); MoveFunction(function, @class);
if (function.IsOperator)
function.ExplicityIgnored = true;
return true; return true;
} }
@ -43,6 +46,8 @@ namespace CppSharp.Passes
IsStatic = true IsStatic = true
}; };
function.ExplicityIgnored = true;
if (method.OperatorKind != CXXOperatorKind.None) if (method.OperatorKind != CXXOperatorKind.None)
{ {
var param = function.Parameters[0]; var param = function.Parameters[0];
@ -54,8 +59,6 @@ namespace CppSharp.Passes
method.OriginalFunction = null; method.OriginalFunction = null;
} }
function.ExplicityIgnored = true;
@class.Methods.Add(method); @class.Methods.Add(method);
} }
} }

5
tests/Basic/Basic.cpp

@ -207,3 +207,8 @@ int test(basic& s)
{ {
return 5; return 5;
} }
Bar::Item operator |(Bar::Item left, Bar::Item right)
{
return left | right;
}

2
tests/Basic/Basic.h

@ -233,3 +233,5 @@ struct DLL_API TestDelegates
DelegateInClass A; DelegateInClass A;
DelegateInGlobalNamespace B; DelegateInGlobalNamespace B;
}; };
DLL_API Bar::Item operator |(Bar::Item left, Bar::Item right);

Loading…
Cancel
Save