Browse Source

Fixed broken class instance check in FunctionToInstanceMethodPass.

Fixes https://github.com/mono/CppSharp/issues/1081.
pull/1139/head
Joao Matos 7 years ago
parent
commit
2a53e079aa
  1. 5
      src/Generator/Passes/FunctionToInstanceMethodPass.cs
  2. 7
      tests/Native/Passes.h

5
src/Generator/Passes/FunctionToInstanceMethodPass.cs

@ -18,6 +18,9 @@ namespace CppSharp.Passes @@ -18,6 +18,9 @@ namespace CppSharp.Passes
public override bool VisitFunctionDecl(Function function)
{
if (AlreadyVisited(function))
return false;
if (!function.IsGenerated)
return false;
@ -79,7 +82,7 @@ namespace CppSharp.Passes @@ -79,7 +82,7 @@ namespace CppSharp.Passes
if (classParam.Type.IsPointerTo(out tag))
{
@class = tag.Declaration as Class;
return true;
return @class != null;
}
return classParam.Type.TryGetClass(out @class);

7
tests/Native/Passes.h

@ -77,3 +77,10 @@ class ClassWithAbstractOperator @@ -77,3 +77,10 @@ class ClassWithAbstractOperator
{
virtual operator int() = 0;
};
enum ConnectionRole
{
Role1, Role2
};
bool ConnectionRoleToString(const ConnectionRole& role, const char* role_str);

Loading…
Cancel
Save