Go to file
Greg Clayton 261ac3f4b5 Made a new abstract class named "DWARFASTParser" which lives in "source/Plugins/SymbolFile/DWARF":
class DWARFASTParser
{
public:
    virtual ~DWARFASTParser() {}

    virtual lldb::TypeSP
    ParseTypeFromDWARF (const lldb_private::SymbolContext& sc,
                        const DWARFDIE &die,
                        lldb_private::Log *log,
                        bool *type_is_new_ptr) = 0;


    virtual lldb_private::Function *
    ParseFunctionFromDWARF (const lldb_private::SymbolContext& sc,
                            const DWARFDIE &die) = 0;

    virtual bool
    CompleteTypeFromDWARF (const DWARFDIE &die,
                           lldb_private::Type *type,
                           lldb_private::CompilerType &clang_type) = 0;

    virtual lldb_private::CompilerDeclContext
    GetDeclContextForUIDFromDWARF (const DWARFDIE &die) = 0;

    virtual lldb_private::CompilerDeclContext
    GetDeclContextContainingUIDFromDWARF (const DWARFDIE &die) = 0;

};

We have one subclass named DWARFASTParserClang that implements all of the clang specific AST type parsing. This keeps all DWARF parsing in the DWARF plug-in. Moved all of the DWARF parsing code that was in ClangASTContext over into DWARFASTParserClang.

lldb_private::TypeSystem classes no longer have any DWARF parsing functions in them, but they can hand out a DWARFASTParser:

virtual DWARFASTParser *
GetDWARFParser ()
{
    return nullptr;
}

This keeps things clean and makes for easy merging when we have different AST's for different languages.

llvm-svn: 246242
2015-08-28 01:01:03 +00:00
clang Fix macro backtrace printing. 2015-08-27 23:38:45 +00:00
clang-tools-extra [clang-tidy] Documented the reason to run the test in C++98 mode. 2015-08-27 23:43:39 +00:00
compiler-rt [CMake] Unify build rules for sanitizer_common for Apple and non-Apple platforms. 2015-08-27 22:23:27 +00:00
debuginfo-tests New round of fixes for "Always compile debuginfo-tests for the host triple" 2014-10-18 23:47:59 +00:00
libclc Update mailing list reference. 2015-08-24 22:43:24 +00:00
libcxx Do not include pthread.h and sched.h when threads are disabled 2015-08-27 17:47:34 +00:00
libcxxabi Fix or disable C++11 tests in C++03 mode 2015-08-20 01:22:17 +00:00
libunwind [libunwind] Remove unused includes. 2015-08-27 06:58:31 +00:00
lld [elf2] Add basic relocation support for x86-64. 2015-08-27 23:15:56 +00:00
lldb Made a new abstract class named "DWARFASTParser" which lives in "source/Plugins/SymbolFile/DWARF": 2015-08-28 01:01:03 +00:00
llgo Update to new lists.llvm.org 2015-08-05 04:03:05 +00:00
llvm [CMake] Fix build on MSVC in r246156. 2015-08-28 00:36:58 +00:00
openmp Update README.txt to include table of supported Power processors 2015-08-27 17:19:17 +00:00
polly Do not detect Scops with only one loop. 2015-08-27 16:55:18 +00:00