003 File Manager
Current Path:
/usr/src/contrib/llvm-project/lldb/source/Plugins/SymbolFile/NativePDB
usr
/
src
/
contrib
/
llvm-project
/
lldb
/
source
/
Plugins
/
SymbolFile
/
NativePDB
/
📁
..
📄
CodeViewRegisterMapping.cpp
(17.13 KB)
📄
CodeViewRegisterMapping.h
(834 B)
📄
CompileUnitIndex.cpp
(8.14 KB)
📄
CompileUnitIndex.h
(3.26 KB)
📄
DWARFLocationExpression.cpp
(8.53 KB)
📄
DWARFLocationExpression.h
(1.69 KB)
📄
PdbAstBuilder.cpp
(45.61 KB)
📄
PdbAstBuilder.h
(5.06 KB)
📄
PdbFPOProgramToDWARFExpression.cpp
(3.38 KB)
📄
PdbFPOProgramToDWARFExpression.h
(1003 B)
📄
PdbIndex.cpp
(6.87 KB)
📄
PdbIndex.h
(6.3 KB)
📄
PdbSymUid.cpp
(4.4 KB)
📄
PdbSymUid.h
(3.62 KB)
📄
PdbUtil.cpp
(25.8 KB)
📄
PdbUtil.h
(4.46 KB)
📄
SymbolFileNativePDB.cpp
(53.63 KB)
📄
SymbolFileNativePDB.h
(9.5 KB)
📄
UdtRecordCompleter.cpp
(11.11 KB)
📄
UdtRecordCompleter.h
(2.66 KB)
Editing: UdtRecordCompleter.h
//===-- UdtRecordCompleter.h ------------------------------------*- C++ -*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #ifndef LLDB_SOURCE_PLUGINS_SYMBOLFILE_NATIVEPDB_UDTRECORDCOMPLETER_H #define LLDB_SOURCE_PLUGINS_SYMBOLFILE_NATIVEPDB_UDTRECORDCOMPLETER_H #include "Plugins/ExpressionParser/Clang/ClangASTImporter.h" #include "llvm/DebugInfo/CodeView/CVRecord.h" #include "llvm/DebugInfo/CodeView/TypeRecord.h" #include "llvm/DebugInfo/CodeView/TypeVisitorCallbacks.h" #include "PdbSymUid.h" namespace clang { class CXXBaseSpecifier; class QualType; class TagDecl; } // namespace clang namespace llvm { namespace pdb { class TpiStream; class GlobalsStream; } } // namespace llvm namespace lldb_private { class Type; class CompilerType; namespace npdb { class PdbAstBuilder; class PdbIndex; class UdtRecordCompleter : public llvm::codeview::TypeVisitorCallbacks { using IndexedBase = std::pair<uint64_t, std::unique_ptr<clang::CXXBaseSpecifier>>; union UdtTagRecord { UdtTagRecord() {} llvm::codeview::UnionRecord ur; llvm::codeview::ClassRecord cr; llvm::codeview::EnumRecord er; } m_cvr; PdbTypeSymId m_id; CompilerType &m_derived_ct; clang::TagDecl &m_tag_decl; PdbAstBuilder &m_ast_builder; PdbIndex &m_index; std::vector<IndexedBase> m_bases; ClangASTImporter::LayoutInfo m_layout; public: UdtRecordCompleter(PdbTypeSymId id, CompilerType &derived_ct, clang::TagDecl &tag_decl, PdbAstBuilder &ast_builder, PdbIndex &index); #define MEMBER_RECORD(EnumName, EnumVal, Name) \ llvm::Error visitKnownMember(llvm::codeview::CVMemberRecord &CVR, \ llvm::codeview::Name##Record &Record) override; #define MEMBER_RECORD_ALIAS(EnumName, EnumVal, Name, AliasName) #include "llvm/DebugInfo/CodeView/CodeViewTypes.def" void complete(); private: clang::QualType AddBaseClassForTypeIndex( llvm::codeview::TypeIndex ti, llvm::codeview::MemberAccess access, llvm::Optional<uint64_t> vtable_idx = llvm::Optional<uint64_t>()); void AddMethod(llvm::StringRef name, llvm::codeview::TypeIndex type_idx, llvm::codeview::MemberAccess access, llvm::codeview::MethodOptions options, llvm::codeview::MemberAttributes attrs); }; } // namespace npdb } // namespace lldb_private #endif // LLDB_SOURCE_PLUGINS_SYMBOLFILE_NATIVEPDB_UDTRECORDCOMPLETER_H
Upload File
Create Folder