LLVM 19.0.0git
NativeTypePointer.h
Go to the documentation of this file.
1//===- NativeTypePointer.h - info about pointer type -------------*- 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_NATIVETYPEPOINTER_H
10#define LLVM_DEBUGINFO_PDB_NATIVE_NATIVETYPEPOINTER_H
11
17
18namespace llvm {
19namespace pdb {
20
22public:
23 // Create a pointer record for a simple type.
26
27 // Create a pointer record for a non-simple type.
31
32 void dump(raw_ostream &OS, int Indent, PdbSymbolIdField ShowIdFields,
33 PdbSymbolIdField RecurseIdFields) const override;
34
35 SymIndexId getClassParentId() const override;
36 bool isConstType() const override;
37 uint64_t getLength() const override;
38 bool isReference() const override;
39 bool isRValueReference() const override;
40 bool isPointerToDataMember() const override;
41 bool isPointerToMemberFunction() const override;
42 SymIndexId getTypeId() const override;
43 bool isRestrictedType() const override;
44 bool isVolatileType() const override;
45 bool isUnalignedType() const override;
46
47 bool isSingleInheritance() const override;
48 bool isMultipleInheritance() const override;
49 bool isVirtualInheritance() const override;
50
51protected:
52 bool isMemberPointer() const;
54 std::optional<codeview::PointerRecord> Record;
55};
56
57} // namespace pdb
58} // namespace llvm
59
60#endif // LLVM_DEBUGINFO_PDB_NATIVE_NATIVETYPEPOINTER_H
raw_pwrite_stream & OS
A 32-bit type reference.
Definition: TypeIndex.h:96
SymIndexId getTypeId() const override
bool isPointerToDataMember() const override
void dump(raw_ostream &OS, int Indent, PdbSymbolIdField ShowIdFields, PdbSymbolIdField RecurseIdFields) const override
bool isPointerToMemberFunction() const override
SymIndexId getClassParentId() const override
bool isReference() const override
bool isVirtualInheritance() const override
bool isConstType() const override
bool isSingleInheritance() const override
bool isMultipleInheritance() const override
bool isRValueReference() const override
bool isUnalignedType() const override
bool isVolatileType() const override
uint64_t getLength() const override
std::optional< codeview::PointerRecord > Record
bool isRestrictedType() const override
This class implements an extremely fast bulk output stream that can only output to a stream.
Definition: raw_ostream.h:52
This is an optimization pass for GlobalISel generic memory operations.
Definition: AddressRanges.h:18