blob: 3625e23f014f15e44d3f52028d027f8c32b43502 [file] [log] [blame]
Andrew Scull5e1ddfa2018-08-14 10:06:54 +01001//===- PDBSymbolLabel.h - label info ----------------------------*- C++ -*-===//
2//
Andrew Walbran16937d02019-10-22 13:54:20 +01003// 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
Andrew Scull5e1ddfa2018-08-14 10:06:54 +01006//
7//===----------------------------------------------------------------------===//
8
9#ifndef LLVM_DEBUGINFO_PDB_PDBSYMBOLLABEL_H
10#define LLVM_DEBUGINFO_PDB_PDBSYMBOLLABEL_H
11
12#include "PDBSymbol.h"
13#include "PDBTypes.h"
14
15namespace llvm {
16
17class raw_ostream;
18namespace pdb {
19
20class PDBSymbolLabel : public PDBSymbol {
Andrew Scull5e1ddfa2018-08-14 10:06:54 +010021 DECLARE_PDB_SYMBOL_CONCRETE_TYPE(PDB_SymType::Label)
Andrew Scull0372a572018-11-16 15:47:06 +000022public:
Andrew Scull5e1ddfa2018-08-14 10:06:54 +010023 void dump(PDBSymDumper &Dumper) const override;
24
25 FORWARD_SYMBOL_METHOD(getAddressOffset)
26 FORWARD_SYMBOL_METHOD(getAddressSection)
27 FORWARD_SYMBOL_METHOD(hasCustomCallingConvention)
28 FORWARD_SYMBOL_METHOD(hasFarReturn)
29 FORWARD_SYMBOL_METHOD(hasInterruptReturn)
30 FORWARD_SYMBOL_ID_METHOD(getLexicalParent)
31 FORWARD_SYMBOL_METHOD(getLocationType)
32 FORWARD_SYMBOL_METHOD(getName)
33 FORWARD_SYMBOL_METHOD(hasNoInlineAttribute)
34 FORWARD_SYMBOL_METHOD(hasNoReturnAttribute)
35 FORWARD_SYMBOL_METHOD(isUnreached)
36 FORWARD_SYMBOL_METHOD(getOffset)
37 FORWARD_SYMBOL_METHOD(hasOptimizedCodeDebugInfo)
38 FORWARD_SYMBOL_METHOD(getRelativeVirtualAddress)
39 FORWARD_SYMBOL_METHOD(getVirtualAddress)
40};
41
42} // namespace llvm
43}
44
45#endif // LLVM_DEBUGINFO_PDB_PDBSYMBOLLABEL_H