LLDB mainline
Functions
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()

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

◆ GetAccessibilityForUdt()

static AccessType GetAccessibilityForUdt ( const PDBSymbolTypeUDT &  udt)
static

◆ GetBuiltinTypeForPDBEncodingAndBitSize()

static CompilerType GetBuiltinTypeForPDBEncodingAndBitSize ( TypeSystemClang clang_ast,
const PDBSymbolTypeBuiltin &  pdb_type,
Encoding  encoding,
uint32_t  width 
)
static

◆ GetClassOrFunctionParent()

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

◆ GetDeclFromContextByName()

static 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()

static 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()

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

Definition at line 259 of file PDBASTParser.cpp.

Referenced by PDBASTParser::CreateLLDBTypeFromPDBType().

◆ GetPDBBuiltinTypeName()

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

◆ IsAnonymousNamespaceName()

static bool IsAnonymousNamespaceName ( llvm::StringRef  name)
static

Definition at line 341 of file PDBASTParser.cpp.

◆ TranslateBuiltinEncoding()

static lldb::Encoding TranslateBuiltinEncoding ( PDB_BuiltinType  type)
static

◆ TranslateCallingConvention()

static clang::CallingConv TranslateCallingConvention ( PDB_CallingConv  pdb_cc)
static

Definition at line 345 of file PDBASTParser.cpp.

◆ TranslateEnumEncoding()

static 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()

static AccessType TranslateMemberAccess ( PDB_MemberAccess  access)
static

◆ TranslateUdtKind()

static int TranslateUdtKind ( PDB_UdtType  pdb_kind)
static

Definition at line 49 of file PDBASTParser.cpp.