bool DWARFASTParserGo::CompleteTypeFromDWARF(const DWARFDIE &die, lldb_private::Type *type, CompilerType &compiler_type) { if (!die) return false; const dw_tag_t tag = die.Tag(); SymbolFileDWARF *dwarf = die.GetDWARF(); Log *log = nullptr; // (LogChannelDWARF::GetLogIfAny(DWARF_LOG_DEBUG_INFO|DWARF_LOG_TYPE_COMPLETION)); if (log) dwarf->GetObjectFile()->GetModule()->LogMessageVerboseBacktrace( log, "0x%8.8" PRIx64 ": %s '%s' resolving forward declaration...", dwarf->MakeUserID(die.GetOffset()), DW_TAG_value_to_name(tag), type->GetName().AsCString()); assert(compiler_type); DWARFAttributes attributes; switch (tag) { case DW_TAG_structure_type: { { if (die.HasChildren()) { SymbolContext sc(die.GetLLDBCompileUnit()); ParseChildMembers(sc, die, compiler_type); } } m_ast.CompleteStructType(compiler_type); return (bool)compiler_type; } default: assert(false && "not a forward go type decl!"); break; } return false; }