diff options
| -rw-r--r-- | lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp | 25 | ||||
| -rw-r--r-- | lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp | 21 | ||||
| -rw-r--r-- | lldb/source/Symbol/ClangASTContext.cpp | 11 |
3 files changed, 21 insertions, 36 deletions
diff --git a/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp b/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp index 60afa126ce9..ec1f3478df2 100644 --- a/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp +++ b/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp @@ -816,9 +816,8 @@ void ClangExpressionDeclMap::LookUpLldbClass(NameSearchContext &context, QualType class_qual_type(class_decl->getTypeForDecl(), 0); - TypeFromUser class_user_type( - class_qual_type.getAsOpaquePtr(), - ClangASTContext::GetASTContext(&class_decl->getASTContext())); + TypeFromUser class_user_type(class_qual_type.getAsOpaquePtr(), + function_decl_ctx.GetTypeSystem()); LLDB_LOG(log, " CEDM::FEVD[{0}] Adding type for $__lldb_class: {1}", current_id, class_qual_type.getAsString()); @@ -831,9 +830,8 @@ void ClangExpressionDeclMap::LookUpLldbClass(NameSearchContext &context, QualType class_pointer_type = method_decl->getASTContext().getPointerType(class_qual_type); - TypeFromUser self_user_type( - class_pointer_type.getAsOpaquePtr(), - ClangASTContext::GetASTContext(&method_decl->getASTContext())); + TypeFromUser self_user_type(class_pointer_type.getAsOpaquePtr(), + function_decl_ctx.GetTypeSystem()); m_struct_vars->m_object_pointer_type = self_user_type; } @@ -926,9 +924,8 @@ void ClangExpressionDeclMap::LookUpLldbObjCClass(NameSearchContext &context, return; // This is unlikely, but we have seen crashes where this // occurred - TypeFromUser class_user_type( - QualType(interface_type, 0).getAsOpaquePtr(), - ClangASTContext::GetASTContext(&method_decl->getASTContext())); + TypeFromUser class_user_type(QualType(interface_type, 0).getAsOpaquePtr(), + function_decl_ctx.GetTypeSystem()); LLDB_LOG(log, " FEVD[{0}] Adding type for $__lldb_objc_class: {1}", current_id, ClangUtil::ToString(interface_type)); @@ -942,18 +939,16 @@ void ClangExpressionDeclMap::LookUpLldbObjCClass(NameSearchContext &context, method_decl->getASTContext().getObjCObjectPointerType( QualType(interface_type, 0)); - TypeFromUser self_user_type( - class_pointer_type.getAsOpaquePtr(), - ClangASTContext::GetASTContext(&method_decl->getASTContext())); + TypeFromUser self_user_type(class_pointer_type.getAsOpaquePtr(), + function_decl_ctx.GetTypeSystem()); m_struct_vars->m_object_pointer_type = self_user_type; } else { // self is a Class pointer QualType class_type = method_decl->getASTContext().getObjCClassType(); - TypeFromUser self_user_type( - class_type.getAsOpaquePtr(), - ClangASTContext::GetASTContext(&method_decl->getASTContext())); + TypeFromUser self_user_type(class_type.getAsOpaquePtr(), + function_decl_ctx.GetTypeSystem()); m_struct_vars->m_object_pointer_type = self_user_type; } diff --git a/lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp b/lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp index f647abf7b5f..6b2dbd9e1e5 100644 --- a/lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp +++ b/lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp @@ -118,31 +118,24 @@ GetBuiltinTypeForPDBEncodingAndBitSize(ClangASTContext &clang_ast, return clang_ast.GetBasicType(eBasicTypeBool); case PDB_BuiltinType::Long: if (width == ast.getTypeSize(ast.LongTy)) - return CompilerType(ClangASTContext::GetASTContext(&ast), - ast.LongTy.getAsOpaquePtr()); + return CompilerType(&clang_ast, ast.LongTy.getAsOpaquePtr()); if (width == ast.getTypeSize(ast.LongLongTy)) - return CompilerType(ClangASTContext::GetASTContext(&ast), - ast.LongLongTy.getAsOpaquePtr()); + return CompilerType(&clang_ast, ast.LongLongTy.getAsOpaquePtr()); break; case PDB_BuiltinType::ULong: if (width == ast.getTypeSize(ast.UnsignedLongTy)) - return CompilerType(ClangASTContext::GetASTContext(&ast), - ast.UnsignedLongTy.getAsOpaquePtr()); + return CompilerType(&clang_ast, ast.UnsignedLongTy.getAsOpaquePtr()); if (width == ast.getTypeSize(ast.UnsignedLongLongTy)) - return CompilerType(ClangASTContext::GetASTContext(&ast), - ast.UnsignedLongLongTy.getAsOpaquePtr()); + return CompilerType(&clang_ast, ast.UnsignedLongLongTy.getAsOpaquePtr()); break; case PDB_BuiltinType::WCharT: if (width == ast.getTypeSize(ast.WCharTy)) - return CompilerType(ClangASTContext::GetASTContext(&ast), - ast.WCharTy.getAsOpaquePtr()); + return CompilerType(&clang_ast, ast.WCharTy.getAsOpaquePtr()); break; case PDB_BuiltinType::Char16: - return CompilerType(ClangASTContext::GetASTContext(&ast), - ast.Char16Ty.getAsOpaquePtr()); + return CompilerType(&clang_ast, ast.Char16Ty.getAsOpaquePtr()); case PDB_BuiltinType::Char32: - return CompilerType(ClangASTContext::GetASTContext(&ast), - ast.Char32Ty.getAsOpaquePtr()); + return CompilerType(&clang_ast, ast.Char32Ty.getAsOpaquePtr()); case PDB_BuiltinType::Float: // Note: types `long double` and `double` have same bit size in MSVC and // there is no information in the PDB to distinguish them. So when falling diff --git a/lldb/source/Symbol/ClangASTContext.cpp b/lldb/source/Symbol/ClangASTContext.cpp index dab210c15f4..089d0177c8f 100644 --- a/lldb/source/Symbol/ClangASTContext.cpp +++ b/lldb/source/Symbol/ClangASTContext.cpp @@ -902,7 +902,7 @@ CompilerType ClangASTContext::GetBasicType(lldb::BasicType basic_type) { GetOpaqueCompilerType(&ast, basic_type); if (clang_type) - return CompilerType(GetASTContext(&ast), clang_type); + return CompilerType(this, clang_type); return CompilerType(); } @@ -2736,9 +2736,7 @@ bool ClangASTContext::IsVectorType(lldb::opaque_compiler_type_t type, bool ClangASTContext::IsRuntimeGeneratedType( lldb::opaque_compiler_type_t type) { - clang::DeclContext *decl_ctx = - ClangASTContext::GetASTContext(&getASTContext()) - ->GetDeclContextForType(GetQualType(type)); + clang::DeclContext *decl_ctx = GetDeclContextForType(GetQualType(type)); if (!decl_ctx) return false; @@ -7757,9 +7755,8 @@ clang::ObjCMethodDecl *ClangASTContext::AddMethodToObjCObjectType( clang::SourceLocation(), // endLoc, method_selector, method_function_prototype->getReturnType(), nullptr, // TypeSourceInfo *ResultTInfo, - ClangASTContext::GetASTContext(&ast)->GetDeclContextForType( - ClangUtil::GetQualType(type)), - isInstance, isVariadic, isPropertyAccessor, isSynthesizedAccessorStub, + lldb_ast->GetDeclContextForType(ClangUtil::GetQualType(type)), isInstance, + isVariadic, isPropertyAccessor, isSynthesizedAccessorStub, isImplicitlyDeclared, isDefined, impControl, HasRelatedResultType); if (objc_method_decl == nullptr) |

