diff options
Diffstat (limited to 'source/Expression/ClangASTSource.cpp')
-rw-r--r-- | source/Expression/ClangASTSource.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/source/Expression/ClangASTSource.cpp b/source/Expression/ClangASTSource.cpp index 316efdf9c149..853d102c5426 100644 --- a/source/Expression/ClangASTSource.cpp +++ b/source/Expression/ClangASTSource.cpp @@ -318,6 +318,10 @@ ClangASTSource::CompleteType (clang::ObjCInterfaceDecl *interface_decl) m_ast_importer->CompleteObjCInterfaceDecl (interface_decl); + if (interface_decl->getSuperClass() && + interface_decl->getSuperClass() != interface_decl) + CompleteType(interface_decl->getSuperClass()); + if (log) { log->Printf(" [COID] After:"); @@ -970,6 +974,9 @@ ClangASTSource::FindObjCMethodDecls (NameSearchContext &context) } ss.Flush(); + if (strstr(ss.GetData(), "$__lldb")) + return; // we don't need any results + ConstString selector_name(ss.GetData()); if (log) @@ -1771,14 +1778,14 @@ NameSearchContext::AddFunDecl (const ClangASTType &type) if (func_proto_type) { - unsigned NumArgs = func_proto_type->getNumArgs(); + unsigned NumArgs = func_proto_type->getNumParams(); unsigned ArgIndex; SmallVector<ParmVarDecl *, 5> parm_var_decls; for (ArgIndex = 0; ArgIndex < NumArgs; ++ArgIndex) { - QualType arg_qual_type (func_proto_type->getArgType(ArgIndex)); + QualType arg_qual_type (func_proto_type->getParamType(ArgIndex)); parm_var_decls.push_back(ParmVarDecl::Create (*ast, const_cast<DeclContext*>(m_decl_context), |