diff options
Diffstat (limited to 'lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp')
-rw-r--r-- | lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp | 74 |
1 files changed, 0 insertions, 74 deletions
diff --git a/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp b/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp index f4457fc1b74..35a50c8fed1 100644 --- a/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp +++ b/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp @@ -1769,80 +1769,6 @@ void ClangExpressionDeclMap::AddOneGenericVariable(NameSearchContext &context, } } -bool ClangExpressionDeclMap::ResolveUnknownTypes() { - Log *log(lldb_private::GetLogIfAllCategoriesSet(LIBLLDB_LOG_EXPRESSIONS)); - Target *target = m_parser_vars->m_exe_ctx.GetTargetPtr(); - - ClangASTContextForExpressions *scratch_ast_context = - static_cast<ClangASTContextForExpressions *>( - target->GetScratchClangASTContext()); - - for (size_t index = 0, num_entities = m_found_entities.GetSize(); - index < num_entities; ++index) { - ExpressionVariableSP entity = m_found_entities.GetVariableAtIndex(index); - - ClangExpressionVariable::ParserVars *parser_vars = - llvm::cast<ClangExpressionVariable>(entity.get()) - ->GetParserVars(GetParserID()); - - if (entity->m_flags & ClangExpressionVariable::EVUnknownType) { - const NamedDecl *named_decl = parser_vars->m_named_decl; - const VarDecl *var_decl = dyn_cast<VarDecl>(named_decl); - - if (!var_decl) { - LLDB_LOGF(log, "Entity of unknown type does not have a VarDecl"); - return false; - } - - if (log) { - ASTDumper ast_dumper(const_cast<VarDecl *>(var_decl)); - LLDB_LOGF(log, "Variable of unknown type now has Decl %s", - ast_dumper.GetCString()); - } - - QualType var_type = var_decl->getType(); - TypeFromParser parser_type( - var_type.getAsOpaquePtr(), - ClangASTContext::GetASTContext(&var_decl->getASTContext())); - - lldb::opaque_compiler_type_t copied_type = nullptr; - if (m_ast_importer_sp) { - copied_type = m_ast_importer_sp->CopyType( - scratch_ast_context->getASTContext(), &var_decl->getASTContext(), - var_type.getAsOpaquePtr()); - } else if (HasMerger()) { - copied_type = CopyTypeWithMerger( - var_decl->getASTContext(), - scratch_ast_context->GetMergerUnchecked(), var_type) - .getAsOpaquePtr(); - } else { - lldbassert(0 && "No mechanism to copy a resolved unknown type!"); - return false; - } - - if (!copied_type) { - LLDB_LOGF(log, "ClangExpressionDeclMap::ResolveUnknownType - Couldn't " - "import the type for a variable"); - - return (bool)lldb::ExpressionVariableSP(); - } - - TypeFromUser user_type(copied_type, scratch_ast_context); - - // parser_vars->m_lldb_value.SetContext(Value::eContextTypeClangType, - // user_type.GetOpaqueQualType()); - parser_vars->m_lldb_value.SetCompilerType(user_type); - parser_vars->m_parser_type = parser_type; - - entity->SetCompilerType(user_type); - - entity->m_flags &= ~(ClangExpressionVariable::EVUnknownType); - } - } - - return true; -} - void ClangExpressionDeclMap::AddOneRegister(NameSearchContext &context, const RegisterInfo *reg_info, unsigned int current_id) { |