Browse Source

Walk the vtable further down after all the child declarations of the class have been processed so that we find the proper methods once we walk the vtable components.

pull/22/merge
triton 12 years ago
parent
commit
0926734f38
  1. 6
      src/Parser/Parser.cpp

6
src/Parser/Parser.cpp

@ -567,8 +567,6 @@ CppSharp::AST::Class^ Parser::WalkRecordCXX(clang::CXXRecordDecl* Record) @@ -567,8 +567,6 @@ CppSharp::AST::Class^ Parser::WalkRecordCXX(clang::CXXRecordDecl* Record)
RC->Layout->DataSize = (int)Layout->getDataSize().getQuantity();
RC->Layout->HasOwnVFPtr = Layout->hasOwnVFPtr();
RC->Layout->VBPtrOffset = Layout->getVBPtrOffset().getQuantity();
if (Record->isDynamicClass())
WalkVTable(Record, RC);
}
CppSharp::AST::AccessSpecifierDecl^ AccessDecl = nullptr;
@ -641,6 +639,10 @@ CppSharp::AST::Class^ Parser::WalkRecordCXX(clang::CXXRecordDecl* Record) @@ -641,6 +639,10 @@ CppSharp::AST::Class^ Parser::WalkRecordCXX(clang::CXXRecordDecl* Record)
RC->Bases->Add(Base);
}
// Process the vtables
if (Record->isDynamicClass())
WalkVTable(Record, RC);
return RC;
}

Loading…
Cancel
Save