|
|
@ -94,18 +94,22 @@ namespace CppSharp.Passes |
|
|
|
|
|
|
|
|
|
|
|
public override bool VisitFieldDecl(Field decl) |
|
|
|
public override bool VisitFieldDecl(Field decl) |
|
|
|
{ |
|
|
|
{ |
|
|
|
if (ASTUtils.CheckIgnoreField(decl)) |
|
|
|
if (!VisitDeclaration(decl)) |
|
|
|
return false; |
|
|
|
return false; |
|
|
|
|
|
|
|
|
|
|
|
if(!AlreadyVisited(decl)) |
|
|
|
if (ASTUtils.CheckIgnoreField(decl)) |
|
|
|
CheckDuplicate(decl); |
|
|
|
return false; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CheckDuplicate(decl); |
|
|
|
return false; |
|
|
|
return false; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public override bool VisitProperty(Property decl) |
|
|
|
public override bool VisitProperty(Property decl) |
|
|
|
{ |
|
|
|
{ |
|
|
|
if(!AlreadyVisited(decl) && decl.ExplicitInterfaceImpl == null) |
|
|
|
if (!VisitDeclaration(decl)) |
|
|
|
|
|
|
|
return false; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (decl.ExplicitInterfaceImpl == null) |
|
|
|
CheckDuplicate(decl); |
|
|
|
CheckDuplicate(decl); |
|
|
|
|
|
|
|
|
|
|
|
return false; |
|
|
|
return false; |
|
|
@ -113,10 +117,13 @@ namespace CppSharp.Passes |
|
|
|
|
|
|
|
|
|
|
|
public override bool VisitMethodDecl(Method decl) |
|
|
|
public override bool VisitMethodDecl(Method decl) |
|
|
|
{ |
|
|
|
{ |
|
|
|
|
|
|
|
if (!VisitDeclaration(decl)) |
|
|
|
|
|
|
|
return false; |
|
|
|
|
|
|
|
|
|
|
|
if (ASTUtils.CheckIgnoreMethod(decl)) |
|
|
|
if (ASTUtils.CheckIgnoreMethod(decl)) |
|
|
|
return false; |
|
|
|
return false; |
|
|
|
|
|
|
|
|
|
|
|
if (!AlreadyVisited(decl) && decl.ExplicitInterfaceImpl == null) |
|
|
|
if (decl.ExplicitInterfaceImpl == null) |
|
|
|
CheckDuplicate(decl); |
|
|
|
CheckDuplicate(decl); |
|
|
|
|
|
|
|
|
|
|
|
return false; |
|
|
|
return false; |
|
|
@ -124,7 +131,10 @@ namespace CppSharp.Passes |
|
|
|
|
|
|
|
|
|
|
|
public override bool VisitClassDecl(Class @class) |
|
|
|
public override bool VisitClassDecl(Class @class) |
|
|
|
{ |
|
|
|
{ |
|
|
|
if (AlreadyVisited(@class) || @class.IsIncomplete) |
|
|
|
if (!VisitDeclaration(@class)) |
|
|
|
|
|
|
|
return false; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (@class.IsIncomplete) |
|
|
|
return false; |
|
|
|
return false; |
|
|
|
|
|
|
|
|
|
|
|
// DeclarationName should always process methods first,
|
|
|
|
// DeclarationName should always process methods first,
|
|
|
|