[lldb][NFC] Remove most GetASTContext calls in AST metadata code
This commit is contained in:
parent
bee973f4df
commit
0460a6bdf2
|
@ -132,20 +132,10 @@ public:
|
||||||
void SetMetadataAsUserID(const clang::Type *type, lldb::user_id_t user_id);
|
void SetMetadataAsUserID(const clang::Type *type, lldb::user_id_t user_id);
|
||||||
|
|
||||||
void SetMetadata(const clang::Decl *object, ClangASTMetadata &meta_data);
|
void SetMetadata(const clang::Decl *object, ClangASTMetadata &meta_data);
|
||||||
|
|
||||||
void SetMetadata(const clang::Type *object, ClangASTMetadata &meta_data);
|
void SetMetadata(const clang::Type *object, ClangASTMetadata &meta_data);
|
||||||
ClangASTMetadata *GetMetadata(const clang::Decl *object) {
|
ClangASTMetadata *GetMetadata(const clang::Decl *object);
|
||||||
return GetMetadata(&getASTContext(), object);
|
ClangASTMetadata *GetMetadata(const clang::Type *object);
|
||||||
}
|
|
||||||
|
|
||||||
static ClangASTMetadata *GetMetadata(clang::ASTContext *ast,
|
|
||||||
const clang::Decl *object);
|
|
||||||
|
|
||||||
ClangASTMetadata *GetMetadata(const clang::Type *object) {
|
|
||||||
return GetMetadata(&getASTContext(), object);
|
|
||||||
}
|
|
||||||
|
|
||||||
static ClangASTMetadata *GetMetadata(clang::ASTContext *ast,
|
|
||||||
const clang::Type *object);
|
|
||||||
|
|
||||||
// Basic Types
|
// Basic Types
|
||||||
CompilerType GetBuiltinTypeForEncodingAndBitSize(lldb::Encoding encoding,
|
CompilerType GetBuiltinTypeForEncodingAndBitSize(lldb::Encoding encoding,
|
||||||
|
|
|
@ -2335,20 +2335,16 @@ void ClangASTContext::SetMetadata(const clang::Type *object,
|
||||||
m_type_metadata[object] = metadata;
|
m_type_metadata[object] = metadata;
|
||||||
}
|
}
|
||||||
|
|
||||||
ClangASTMetadata *ClangASTContext::GetMetadata(clang::ASTContext *ast,
|
ClangASTMetadata *ClangASTContext::GetMetadata(const clang::Decl *object) {
|
||||||
const clang::Decl *object) {
|
auto It = m_decl_metadata.find(object);
|
||||||
ClangASTContext *self = GetASTContext(ast);
|
if (It != m_decl_metadata.end())
|
||||||
auto It = self->m_decl_metadata.find(object);
|
|
||||||
if (It != self->m_decl_metadata.end())
|
|
||||||
return &It->second;
|
return &It->second;
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
ClangASTMetadata *ClangASTContext::GetMetadata(clang::ASTContext *ast,
|
ClangASTMetadata *ClangASTContext::GetMetadata(const clang::Type *object) {
|
||||||
const clang::Type *object) {
|
auto It = m_type_metadata.find(object);
|
||||||
ClangASTContext *self = GetASTContext(ast);
|
if (It != m_type_metadata.end())
|
||||||
auto It = self->m_type_metadata.find(object);
|
|
||||||
if (It != self->m_type_metadata.end())
|
|
||||||
return &It->second;
|
return &It->second;
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
@ -2746,8 +2742,7 @@ bool ClangASTContext::IsRuntimeGeneratedType(
|
||||||
clang::ObjCInterfaceDecl *result_iface_decl =
|
clang::ObjCInterfaceDecl *result_iface_decl =
|
||||||
llvm::dyn_cast<clang::ObjCInterfaceDecl>(decl_ctx);
|
llvm::dyn_cast<clang::ObjCInterfaceDecl>(decl_ctx);
|
||||||
|
|
||||||
ClangASTMetadata *ast_metadata =
|
ClangASTMetadata *ast_metadata = GetMetadata(result_iface_decl);
|
||||||
ClangASTContext::GetMetadata(&getASTContext(), result_iface_decl);
|
|
||||||
if (!ast_metadata)
|
if (!ast_metadata)
|
||||||
return false;
|
return false;
|
||||||
return (ast_metadata->GetISAPtr() != 0);
|
return (ast_metadata->GetISAPtr() != 0);
|
||||||
|
@ -3398,8 +3393,7 @@ bool ClangASTContext::IsPossibleDynamicType(lldb::opaque_compiler_type_t type,
|
||||||
if (is_complete)
|
if (is_complete)
|
||||||
success = cxx_record_decl->isDynamicClass();
|
success = cxx_record_decl->isDynamicClass();
|
||||||
else {
|
else {
|
||||||
ClangASTMetadata *metadata = ClangASTContext::GetMetadata(
|
ClangASTMetadata *metadata = GetMetadata(cxx_record_decl);
|
||||||
&getASTContext(), cxx_record_decl);
|
|
||||||
if (metadata)
|
if (metadata)
|
||||||
success = metadata->GetIsDynamicCXXType();
|
success = metadata->GetIsDynamicCXXType();
|
||||||
else {
|
else {
|
||||||
|
@ -8729,8 +8723,7 @@ void ClangASTContext::DumpTypeDescription(lldb::opaque_compiler_type_t type) {
|
||||||
|
|
||||||
CompilerType ct(this, type);
|
CompilerType ct(this, type);
|
||||||
const clang::Type *clang_type = ClangUtil::GetQualType(ct).getTypePtr();
|
const clang::Type *clang_type = ClangUtil::GetQualType(ct).getTypePtr();
|
||||||
ClangASTMetadata *metadata =
|
ClangASTMetadata *metadata = GetMetadata(clang_type);
|
||||||
ClangASTContext::GetMetadata(&getASTContext(), clang_type);
|
|
||||||
if (metadata) {
|
if (metadata) {
|
||||||
metadata->Dump(&s);
|
metadata->Dump(&s);
|
||||||
}
|
}
|
||||||
|
@ -9268,8 +9261,7 @@ bool ClangASTContext::DeclContextIsClassMethod(
|
||||||
return true;
|
return true;
|
||||||
} else if (clang::FunctionDecl *function_decl =
|
} else if (clang::FunctionDecl *function_decl =
|
||||||
llvm::dyn_cast<clang::FunctionDecl>(decl_ctx)) {
|
llvm::dyn_cast<clang::FunctionDecl>(decl_ctx)) {
|
||||||
ClangASTMetadata *metadata =
|
ClangASTMetadata *metadata = GetMetadata(function_decl);
|
||||||
GetMetadata(&decl_ctx->getParentASTContext(), function_decl);
|
|
||||||
if (metadata && metadata->HasObjectPtr()) {
|
if (metadata && metadata->HasObjectPtr()) {
|
||||||
if (is_instance_method_ptr)
|
if (is_instance_method_ptr)
|
||||||
*is_instance_method_ptr = true;
|
*is_instance_method_ptr = true;
|
||||||
|
@ -9347,10 +9339,8 @@ ClangASTContext::DeclContextGetAsNamespaceDecl(const CompilerDeclContext &dc) {
|
||||||
ClangASTMetadata *
|
ClangASTMetadata *
|
||||||
ClangASTContext::DeclContextGetMetaData(const CompilerDeclContext &dc,
|
ClangASTContext::DeclContextGetMetaData(const CompilerDeclContext &dc,
|
||||||
const Decl *object) {
|
const Decl *object) {
|
||||||
clang::ASTContext *ast = DeclContextGetClangASTContext(dc);
|
ClangASTContext *ast = llvm::cast<ClangASTContext>(dc.GetTypeSystem());
|
||||||
if (ast)
|
return ast->GetMetadata(object);
|
||||||
return ClangASTContext::GetMetadata(ast, object);
|
|
||||||
return nullptr;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
clang::ASTContext *
|
clang::ASTContext *
|
||||||
|
|
|
@ -737,9 +737,12 @@ bool ClangASTImporter::RequireCompleteType(clang::QualType type) {
|
||||||
ClangASTMetadata *ClangASTImporter::GetDeclMetadata(const clang::Decl *decl) {
|
ClangASTMetadata *ClangASTImporter::GetDeclMetadata(const clang::Decl *decl) {
|
||||||
DeclOrigin decl_origin = GetDeclOrigin(decl);
|
DeclOrigin decl_origin = GetDeclOrigin(decl);
|
||||||
|
|
||||||
if (decl_origin.Valid())
|
if (decl_origin.Valid()) {
|
||||||
return ClangASTContext::GetMetadata(decl_origin.ctx, decl_origin.decl);
|
ClangASTContext *ast = ClangASTContext::GetASTContext(decl_origin.ctx);
|
||||||
return ClangASTContext::GetMetadata(&decl->getASTContext(), decl);
|
return ast->GetMetadata(decl_origin.decl);
|
||||||
|
}
|
||||||
|
ClangASTContext *ast = ClangASTContext::GetASTContext(&decl->getASTContext());
|
||||||
|
return ast->GetMetadata(decl);
|
||||||
}
|
}
|
||||||
|
|
||||||
ClangASTImporter::DeclOrigin
|
ClangASTImporter::DeclOrigin
|
||||||
|
|
Loading…
Reference in a new issue