Browse Source

Fixed the AST converter code to deal with null values correctly.

pull/222/head
triton 11 years ago
parent
commit
9ec1a475d2
  1. 7
      src/Core/Parser/ASTConverter.cs

7
src/Core/Parser/ASTConverter.cs

@ -30,7 +30,7 @@ namespace CppSharp
public TRet Visit(Parser.AST.Type type) public TRet Visit(Parser.AST.Type type)
{ {
if (type.__Instance == IntPtr.Zero) if (type == null)
return default(TRet); return default(TRet);
switch (type.Kind) switch (type.Kind)
@ -563,7 +563,7 @@ namespace CppSharp
public override AST.Declaration Visit(Parser.AST.Declaration decl) public override AST.Declaration Visit(Parser.AST.Declaration decl)
{ {
if (decl.__Instance == IntPtr.Zero) if (decl == null)
return null; return null;
if (decl.OriginalPtr == null) if (decl.OriginalPtr == null)
@ -1045,7 +1045,8 @@ namespace CppSharp
_class.HasNonTrivialDestructor = @class.HasNonTrivialDestructor; _class.HasNonTrivialDestructor = @class.HasNonTrivialDestructor;
_class.IsExternCContext = @class.IsExternCContext; _class.IsExternCContext = @class.IsExternCContext;
_class.Layout = VisitClassLayout(@class.Layout); if (@class.Layout != null)
_class.Layout = VisitClassLayout(@class.Layout);
} }
public override AST.Declaration VisitClass(Class @class) public override AST.Declaration VisitClass(Class @class)

Loading…
Cancel
Save