@@ -83,7 +83,6 @@ class SymbolFileDWARF : public SymbolFileCommon {
83
83
friend class DWARFCompileUnit ;
84
84
friend class DWARFDIE ;
85
85
friend class DWARFASTParser ;
86
- friend class ::DWARFASTParserClang;
87
86
88
87
// Static Functions
89
88
static void Initialize ();
@@ -138,7 +137,6 @@ class SymbolFileDWARF : public SymbolFileCommon {
138
137
139
138
size_t ParseVariablesForContext (const SymbolContext &sc) override ;
140
139
141
- Type *ResolveTypeUID (lldb::user_id_t type_uid) override ;
142
140
std::optional<ArrayInfo>
143
141
GetDynamicArrayInfoForUID (lldb::user_id_t type_uid,
144
142
const ExecutionContext *exe_ctx) override ;
@@ -225,7 +223,7 @@ class SymbolFileDWARF : public SymbolFileCommon {
225
223
DWARFDIE
226
224
GetDeclContextDIEContainingDIE (const DWARFDIE &die);
227
225
228
- bool HasForwardDeclForClangType (const CompilerType &compiler_type);
226
+ bool HasForwardDeclForCompilerType (const CompilerType &compiler_type);
229
227
230
228
CompileUnit *GetCompUnitForDWARFCompUnit (DWARFCompileUnit &dwarf_cu);
231
229
@@ -325,14 +323,46 @@ class SymbolFileDWARF : public SymbolFileCommon {
325
323
m_file_index = file_index;
326
324
}
327
325
328
- protected:
329
326
typedef llvm::DenseMap<const DWARFDebugInfoEntry *, Type *> DIEToTypePtr;
330
- typedef llvm::DenseMap<const DWARFDebugInfoEntry *, lldb::VariableSP>
331
- DIEToVariableSP;
327
+
328
+ virtual DIEToTypePtr &GetDIEToType () { return m_die_to_type; }
329
+
332
330
typedef llvm::DenseMap<const DWARFDebugInfoEntry *,
333
331
lldb::opaque_compiler_type_t >
334
- DIEToClangType;
335
- typedef llvm::DenseMap<lldb::opaque_compiler_type_t , DIERef> ClangTypeToDIE;
332
+ DIEToCompilerType;
333
+
334
+ virtual DIEToCompilerType &GetForwardDeclDIEToCompilerType () {
335
+ return m_forward_decl_die_to_compiler_type;
336
+ }
337
+
338
+ typedef llvm::DenseMap<lldb::opaque_compiler_type_t , DIERef>
339
+ CompilerTypeToDIE;
340
+
341
+ virtual CompilerTypeToDIE &GetForwardDeclCompilerTypeToDIE () {
342
+ return m_forward_decl_compiler_type_to_die;
343
+ }
344
+
345
+ virtual UniqueDWARFASTTypeMap &GetUniqueDWARFASTTypeMap ();
346
+
347
+ bool ClassOrStructIsVirtual (const DWARFDIE &die);
348
+
349
+ SymbolFileDWARFDebugMap *GetDebugMapSymfile ();
350
+
351
+ virtual lldb::TypeSP
352
+ FindDefinitionTypeForDWARFDeclContext (const DWARFDIE &die);
353
+
354
+ virtual lldb::TypeSP FindCompleteObjCDefinitionTypeForDIE (
355
+ const DWARFDIE &die, ConstString type_name, bool must_be_implementation);
356
+
357
+ Type *ResolveTypeUID (lldb::user_id_t type_uid) override ;
358
+
359
+ Type *ResolveTypeUID (const DWARFDIE &die, bool assert_not_being_parsed);
360
+
361
+ Type *ResolveTypeUID (const DIERef &die_ref);
362
+
363
+ protected:
364
+ typedef llvm::DenseMap<const DWARFDebugInfoEntry *, lldb::VariableSP>
365
+ DIEToVariableSP;
336
366
337
367
SymbolFileDWARF (const SymbolFileDWARF &) = delete ;
338
368
const SymbolFileDWARF &operator =(const SymbolFileDWARF &) = delete ;
@@ -371,10 +401,6 @@ class SymbolFileDWARF : public SymbolFileCommon {
371
401
bool ParseSupportFiles (DWARFUnit &dwarf_cu, const lldb::ModuleSP &module ,
372
402
FileSpecList &support_files);
373
403
374
- Type *ResolveTypeUID (const DWARFDIE &die, bool assert_not_being_parsed);
375
-
376
- Type *ResolveTypeUID (const DIERef &die_ref);
377
-
378
404
lldb::VariableSP ParseVariableDIE (const SymbolContext &sc,
379
405
const DWARFDIE &die,
380
406
const lldb::addr_t func_low_pc);
@@ -402,8 +428,6 @@ class SymbolFileDWARF : public SymbolFileCommon {
402
428
DIEArray MergeBlockAbstractParameters (const DWARFDIE &block_die,
403
429
DIEArray &&variable_dies);
404
430
405
- bool ClassOrStructIsVirtual (const DWARFDIE &die);
406
-
407
431
// Given a die_offset, figure out the symbol context representing that die.
408
432
bool ResolveFunction (const DWARFDIE &die, bool include_inlines,
409
433
SymbolContextList &sc_list);
@@ -415,12 +439,6 @@ class SymbolFileDWARF : public SymbolFileCommon {
415
439
void ResolveFunctionAndBlock (lldb::addr_t file_vm_addr, bool lookup_block,
416
440
SymbolContext &sc);
417
441
418
- virtual lldb::TypeSP
419
- FindDefinitionTypeForDWARFDeclContext (const DWARFDIE &die);
420
-
421
- virtual lldb::TypeSP FindCompleteObjCDefinitionTypeForDIE (
422
- const DWARFDIE &die, ConstString type_name, bool must_be_implementation);
423
-
424
442
Symbol *GetObjCClassSymbol (ConstString objc_class_name);
425
443
426
444
lldb::TypeSP GetTypeForDIE (const DWARFDIE &die,
@@ -430,8 +448,6 @@ class SymbolFileDWARF : public SymbolFileCommon {
430
448
m_debug_map_module_wp = module_sp;
431
449
}
432
450
433
- SymbolFileDWARFDebugMap *GetDebugMapSymfile ();
434
-
435
451
DWARFDIE
436
452
FindBlockContainingSpecification (const DIERef &func_die_ref,
437
453
dw_offset_t spec_block_die_offset);
@@ -440,8 +456,6 @@ class SymbolFileDWARF : public SymbolFileCommon {
440
456
FindBlockContainingSpecification (const DWARFDIE &die,
441
457
dw_offset_t spec_block_die_offset);
442
458
443
- virtual UniqueDWARFASTTypeMap &GetUniqueDWARFASTTypeMap ();
444
-
445
459
bool DIEDeclContextsMatch (const DWARFDIE &die1, const DWARFDIE &die2);
446
460
447
461
bool ClassContainsSelector (const DWARFDIE &class_die, ConstString selector);
@@ -473,18 +487,8 @@ class SymbolFileDWARF : public SymbolFileCommon {
473
487
474
488
void UpdateExternalModuleListIfNeeded ();
475
489
476
- virtual DIEToTypePtr &GetDIEToType () { return m_die_to_type; }
477
-
478
490
virtual DIEToVariableSP &GetDIEToVariable () { return m_die_to_variable_sp; }
479
491
480
- virtual DIEToClangType &GetForwardDeclDieToClangType () {
481
- return m_forward_decl_die_to_clang_type;
482
- }
483
-
484
- virtual ClangTypeToDIE &GetForwardDeclClangTypeToDie () {
485
- return m_forward_decl_clang_type_to_die;
486
- }
487
-
488
492
void BuildCuTranslationTable ();
489
493
std::optional<uint32_t > GetDWARFUnitIndex (uint32_t cu_idx);
490
494
@@ -528,8 +532,8 @@ class SymbolFileDWARF : public SymbolFileCommon {
528
532
UniqueDWARFASTTypeMap m_unique_ast_type_map;
529
533
DIEToTypePtr m_die_to_type;
530
534
DIEToVariableSP m_die_to_variable_sp;
531
- DIEToClangType m_forward_decl_die_to_clang_type ;
532
- ClangTypeToDIE m_forward_decl_clang_type_to_die ;
535
+ DIEToCompilerType m_forward_decl_die_to_compiler_type ;
536
+ CompilerTypeToDIE m_forward_decl_compiler_type_to_die ;
533
537
llvm::DenseMap<dw_offset_t , FileSpecList> m_type_unit_support_files;
534
538
std::vector<uint32_t > m_lldb_cu_to_dwarf_unit;
535
539
// / DWARF does not provide a good way for traditional (concatenating) linkers
0 commit comments