LLDB mainline
PDBASTParser.cpp File Reference
#include "PDBASTParser.h"
#include "SymbolFilePDB.h"
#include "clang/AST/CharUnits.h"
#include "clang/AST/Decl.h"
#include "clang/AST/DeclCXX.h"
#include "Plugins/ExpressionParser/Clang/ClangASTMetadata.h"
#include "Plugins/ExpressionParser/Clang/ClangUtil.h"
#include "Plugins/TypeSystem/Clang/TypeSystemClang.h"
#include "lldb/Core/Declaration.h"
#include "lldb/Core/Module.h"
#include "lldb/Symbol/SymbolFile.h"
#include "lldb/Symbol/TypeMap.h"
#include "lldb/Symbol/TypeSystem.h"
#include "lldb/Utility/LLDBLog.h"
#include "llvm/DebugInfo/PDB/ConcreteSymbolEnumerator.h"
#include "llvm/DebugInfo/PDB/IPDBLineNumber.h"
#include "llvm/DebugInfo/PDB/IPDBSourceFile.h"
#include "llvm/DebugInfo/PDB/PDBSymbol.h"
#include "llvm/DebugInfo/PDB/PDBSymbolData.h"
#include "llvm/DebugInfo/PDB/PDBSymbolFunc.h"
#include "llvm/DebugInfo/PDB/PDBSymbolTypeArray.h"
#include "llvm/DebugInfo/PDB/PDBSymbolTypeBaseClass.h"
#include "llvm/DebugInfo/PDB/PDBSymbolTypeBuiltin.h"
#include "llvm/DebugInfo/PDB/PDBSymbolTypeEnum.h"
#include "llvm/DebugInfo/PDB/PDBSymbolTypeFunctionArg.h"
#include "llvm/DebugInfo/PDB/PDBSymbolTypeFunctionSig.h"
#include "llvm/DebugInfo/PDB/PDBSymbolTypePointer.h"
#include "llvm/DebugInfo/PDB/PDBSymbolTypeTypedef.h"
#include "llvm/DebugInfo/PDB/PDBSymbolTypeUDT.h"
#include "Plugins/Language/CPlusPlus/MSVCUndecoratedNameParser.h"
#include <optional>

Go to the source code of this file.

Functions

static int TranslateUdtKind (PDB_UdtType pdb_kind)
static lldb::Encoding TranslateBuiltinEncoding (PDB_BuiltinType type)
static lldb::Encoding TranslateEnumEncoding (PDB_VariantType type)
static CompilerType GetBuiltinTypeForPDBEncodingAndBitSize (TypeSystemClang &clang_ast, const PDBSymbolTypeBuiltin &pdb_type, Encoding encoding, uint32_t width)
static ConstString GetPDBBuiltinTypeName (const PDBSymbolTypeBuiltin &pdb_type, CompilerType &compiler_type)
static bool AddSourceInfoToDecl (const PDBSymbol &symbol, Declaration &decl)
static AccessType TranslateMemberAccess (PDB_MemberAccess access)
static AccessType GetDefaultAccessibilityForUdtKind (PDB_UdtType udt_kind)
static AccessType GetAccessibilityForUdt (const PDBSymbolTypeUDT &udt)
static clang::MSInheritanceAttr::Spelling GetMSInheritance (const PDBSymbolTypeUDT &udt)
static std::unique_ptr< llvm::pdb::PDBSymbol > GetClassOrFunctionParent (const llvm::pdb::PDBSymbol &symbol)
static clang::NamedDecl * GetDeclFromContextByName (const clang::ASTContext &ast, const clang::DeclContext &decl_context, llvm::StringRef name)
static bool IsAnonymousNamespaceName (llvm::StringRef name)
static clang::CallingConv TranslateCallingConvention (PDB_CallingConv pdb_cc)

Function Documentation

◆ AddSourceInfoToDecl()

bool AddSourceInfoToDecl ( const PDBSymbol & symbol,
Declaration & decl )
static

◆ GetAccessibilityForUdt()

AccessType GetAccessibilityForUdt ( const PDBSymbolTypeUDT & udt)
static

◆ GetBuiltinTypeForPDBEncodingAndBitSize()

◆ GetClassOrFunctionParent()

std::unique_ptr< llvm::pdb::PDBSymbol > GetClassOrFunctionParent ( const llvm::pdb::PDBSymbol & symbol)
static

◆ GetDeclFromContextByName()

clang::NamedDecl * GetDeclFromContextByName ( const clang::ASTContext & ast,
const clang::DeclContext & decl_context,
llvm::StringRef name )
static

Definition at line 329 of file PDBASTParser.cpp.

Referenced by PDBASTParser::GetDeclForSymbol().

◆ GetDefaultAccessibilityForUdtKind()

AccessType GetDefaultAccessibilityForUdtKind ( PDB_UdtType udt_kind)
static

Definition at line 230 of file PDBASTParser.cpp.

References lldb::eAccessPrivate, and lldb::eAccessPublic.

Referenced by GetAccessibilityForUdt().

◆ GetMSInheritance()

clang::MSInheritanceAttr::Spelling GetMSInheritance ( const PDBSymbolTypeUDT & udt)
static

Definition at line 259 of file PDBASTParser.cpp.

Referenced by PDBASTParser::CreateLLDBTypeFromPDBType().

◆ GetPDBBuiltinTypeName()

ConstString GetPDBBuiltinTypeName ( const PDBSymbolTypeBuiltin & pdb_type,
CompilerType & compiler_type )
static

◆ IsAnonymousNamespaceName()

bool IsAnonymousNamespaceName ( llvm::StringRef name)
static

Definition at line 341 of file PDBASTParser.cpp.

◆ TranslateBuiltinEncoding()

lldb::Encoding TranslateBuiltinEncoding ( PDB_BuiltinType type)
static

◆ TranslateCallingConvention()

clang::CallingConv TranslateCallingConvention ( PDB_CallingConv pdb_cc)
static

Definition at line 345 of file PDBASTParser.cpp.

◆ TranslateEnumEncoding()

lldb::Encoding TranslateEnumEncoding ( PDB_VariantType type)
static

Definition at line 84 of file PDBASTParser.cpp.

References lldb::eEncodingSint, and lldb::eEncodingUint.

Referenced by PDBASTParser::CreateLLDBTypeFromPDBType().

◆ TranslateMemberAccess()

◆ TranslateUdtKind()

int TranslateUdtKind ( PDB_UdtType pdb_kind)
static

Definition at line 49 of file PDBASTParser.cpp.