LLVM  15.0.0git
NativeSymbolEnumerator.h
Go to the documentation of this file.
1 //===- NativeSymbolEnumerator.h - info about enumerator values --*- 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_NATIVE_NATIVESYMBOLENUMERATOR_H
10 #define LLVM_DEBUGINFO_PDB_NATIVE_NATIVESYMBOLENUMERATOR_H
11 
16 
17 namespace llvm {
18 
19 class raw_ostream;
20 namespace pdb {
21 class NativeSession;
22 class NativeTypeEnum;
23 
25 public:
27  const NativeTypeEnum &Parent,
29 
30  ~NativeSymbolEnumerator() override;
31 
32  void dump(raw_ostream &OS, int Indent, PdbSymbolIdField ShowIdFields,
33  PdbSymbolIdField RecurseIdFields) const override;
34 
35  SymIndexId getClassParentId() const override;
36  SymIndexId getLexicalParentId() const override;
37  std::string getName() const override;
38  SymIndexId getTypeId() const override;
39  PDB_DataKind getDataKind() const override;
40  PDB_LocType getLocationType() const override;
41  bool isConstType() const override;
42  bool isVolatileType() const override;
43  bool isUnalignedType() const override;
44  Variant getValue() const override;
45 
46 protected:
49 };
50 
51 } // namespace pdb
52 } // namespace llvm
53 
54 #endif // LLVM_DEBUGINFO_PDB_NATIVE_NATIVESYMBOLENUMERATOR_H
llvm
This is an optimization pass for GlobalISel generic memory operations.
Definition: AddressRanges.h:17
llvm::pdb::NativeSymbolEnumerator::getTypeId
SymIndexId getTypeId() const override
Definition: NativeSymbolEnumerator.cpp:58
llvm::pdb::NativeSymbolEnumerator::isUnalignedType
bool isUnalignedType() const override
Definition: NativeSymbolEnumerator.cpp:74
IPDBRawSymbol.h
llvm::pdb::NativeSymbolEnumerator::getValue
Variant getValue() const override
Definition: NativeSymbolEnumerator.cpp:76
llvm::pdb::NativeSymbolEnumerator::Parent
const NativeTypeEnum & Parent
Definition: NativeSymbolEnumerator.h:47
llvm::pdb::NativeSymbolEnumerator::dump
void dump(raw_ostream &OS, int Indent, PdbSymbolIdField ShowIdFields, PdbSymbolIdField RecurseIdFields) const override
Definition: NativeSymbolEnumerator.cpp:27
llvm::pdb::PDB_LocType
PDB_LocType
These values correspond to the LocationType enumeration, and are documented here: https://msdn....
Definition: PDBTypes.h:292
llvm::pdb::NativeSymbolEnumerator::~NativeSymbolEnumerator
~NativeSymbolEnumerator() override
llvm::pdb::NativeSymbolEnumerator::getLocationType
PDB_LocType getLocationType() const override
Definition: NativeSymbolEnumerator.cpp:66
llvm::pdb::PDB_DataKind
PDB_DataKind
These values correspond to the DataKind enumeration, and are documented here: https://msdn....
Definition: PDBTypes.h:228
llvm::raw_ostream
This class implements an extremely fast bulk output stream that can only output to a stream.
Definition: raw_ostream.h:54
llvm::pdb::NativeSymbolEnumerator::getClassParentId
SymIndexId getClassParentId() const override
Definition: NativeSymbolEnumerator.cpp:48
PDBTypes.h
llvm::pdb::NativeTypeEnum
Definition: NativeTypeEnum.h:25
llvm::codeview::EnumeratorRecord
Definition: TypeRecord.h:830
TypeRecord.h
llvm::pdb::NativeSymbolEnumerator::getLexicalParentId
SymIndexId getLexicalParentId() const override
Definition: NativeSymbolEnumerator.cpp:52
llvm::pdb::NativeSymbolEnumerator
Definition: NativeSymbolEnumerator.h:24
llvm::pdb::NativeSymbolEnumerator::Record
codeview::EnumeratorRecord Record
Definition: NativeSymbolEnumerator.h:48
llvm::Record
Definition: Record.h:1508
llvm::pdb::NativeSymbolEnumerator::isVolatileType
bool isVolatileType() const override
Definition: NativeSymbolEnumerator.cpp:72
uint32_t
llvm::pdb::Variant
Definition: PDBTypes.h:411
llvm::pdb::NativeSymbolEnumerator::getName
std::string getName() const override
Definition: NativeSymbolEnumerator.cpp:54
NativeRawSymbol.h
llvm::pdb::NativeSession
Definition: NativeSession.h:32
llvm::pdb::PdbSymbolIdField
PdbSymbolIdField
Definition: IPDBRawSymbol.h:24
llvm::pdb::NativeSymbolEnumerator::isConstType
bool isConstType() const override
Definition: NativeSymbolEnumerator.cpp:70
llvm::pdb::NativeSymbolEnumerator::getDataKind
PDB_DataKind getDataKind() const override
Definition: NativeSymbolEnumerator.cpp:62
llvm::pdb::NativeSymbolEnumerator::NativeSymbolEnumerator
NativeSymbolEnumerator(NativeSession &Session, SymIndexId Id, const NativeTypeEnum &Parent, codeview::EnumeratorRecord Record)
Definition: NativeSymbolEnumerator.cpp:19
llvm::pdb::NativeRawSymbol::Session
NativeSession & Session
Definition: NativeRawSymbol.h:232
llvm::AMDGPU::VGPRIndexMode::Id
Id
Definition: SIDefines.h:238
llvm::pdb::NativeRawSymbol
Definition: NativeRawSymbol.h:21