About
Contact
QtCreator
KDevelop
Solarized
1
//===- PDBSymbolData.h - PDB data (e.g. variable) accessors -----*- C++ -*-===//
2
//
3
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4
// See
https://llvm.org/LICENSE.txt
for license information.
5
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6
//
7
//===----------------------------------------------------------------------===//
8
9
#
ifndef
LLVM_DEBUGINFO_PDB_PDBSYMBOLDATA_H
10
#define
LLVM_DEBUGINFO_PDB_PDBSYMBOLDATA_H
11
12
#include
"PDBSymbol.h"
13
#include
"PDBTypes.h"
14
#include
"llvm/DebugInfo/PDB/IPDBRawSymbol.h"
15
16
namespace
llvm
{
17
18
namespace
pdb
{
19
20
class
PDBSymDumper
;
21
22
class
PDBSymbolData
:
public
PDBSymbol
{
23
DECLARE_PDB_SYMBOL_CONCRETE_TYPE
(
PDB_SymType
::
Data
)
24
public
:
25
void
dump
(
PDBSymDumper
&
Dumper
)
const
override;
26
27
FORWARD_SYMBOL_METHOD
(
getAccess
)
28
FORWARD_SYMBOL_METHOD
(
getAddressOffset
)
29
FORWARD_SYMBOL_METHOD
(
getAddressSection
)
30
FORWARD_SYMBOL_METHOD
(
getAddressTaken
)
31
FORWARD_SYMBOL_METHOD
(
getBitPosition
)
32
FORWARD_SYMBOL_ID_METHOD
(
getClassParent
)
33
FORWARD_SYMBOL_METHOD
(
isCompilerGenerated
)
34
FORWARD_SYMBOL_METHOD
(
isConstType
)
35
FORWARD_SYMBOL_METHOD
(
getDataKind
)
36
FORWARD_SYMBOL_METHOD
(
isAggregated
)
37
FORWARD_SYMBOL_METHOD
(
isSplitted
)
38
FORWARD_SYMBOL_METHOD
(
getLength
)
39
FORWARD_SYMBOL_ID_METHOD
(
getLexicalParent
)
40
FORWARD_SYMBOL_METHOD
(
getLocationType
)
41
FORWARD_SYMBOL_METHOD
(
getName
)
42
FORWARD_SYMBOL_METHOD
(
getOffset
)
43
FORWARD_SYMBOL_METHOD
(
getRegisterId
)
44
FORWARD_SYMBOL_METHOD
(
getRelativeVirtualAddress
)
45
FORWARD_SYMBOL_METHOD
(
getSlot
)
46
FORWARD_SYMBOL_METHOD
(
getToken
)
47
FORWARD_SYMBOL_ID_METHOD
(
getType
)
48
FORWARD_SYMBOL_METHOD
(
isUnalignedType
)
49
FORWARD_SYMBOL_METHOD
(
getValue
)
50
FORWARD_SYMBOL_METHOD
(
getVirtualAddress
)
51
FORWARD_SYMBOL_METHOD
(
isVolatileType
)
52
53
std::
unique_ptr
<
IPDBEnumLineNumbers
>
getLineNumbers
()
const
;
54
uint32_t
getCompilandId
()
const
;
55
};
56
}
// namespace pdb
57
}
// namespace llvm
58
59
#
endif
// LLVM_DEBUGINFO_PDB_PDBSYMBOLDATA_H
60