1//===- NativeTypeBuiltin.cpp -------------------------------------- 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#include "llvm/DebugInfo/PDB/Native/NativeTypeBuiltin.h"
10
11using namespace llvm;
12using namespace llvm::codeview;
13using namespace llvm::pdb;
14
15NativeTypeBuiltin::NativeTypeBuiltin(NativeSession &PDBSession, SymIndexId Id,
16 ModifierOptions Mods, PDB_BuiltinType T,
17 uint64_t L)
18 : NativeRawSymbol(PDBSession, PDB_SymType::BuiltinType, Id),
19 Session(PDBSession), Mods(Mods), Type(T), Length(L) {}
20
21NativeTypeBuiltin::~NativeTypeBuiltin() = default;
22
23void NativeTypeBuiltin::dump(raw_ostream &OS, int Indent,
24 PdbSymbolIdField ShowIdFields,
25 PdbSymbolIdField RecurseIdFields) const {}
26
27PDB_SymType NativeTypeBuiltin::getSymTag() const {
28 return PDB_SymType::BuiltinType;
29}
30
31PDB_BuiltinType NativeTypeBuiltin::getBuiltinType() const { return Type; }
32
33bool NativeTypeBuiltin::isConstType() const {
34 return (Mods & ModifierOptions::Const) != ModifierOptions::None;
35}
36
37uint64_t NativeTypeBuiltin::getLength() const { return Length; }
38
39bool NativeTypeBuiltin::isUnalignedType() const {
40 return (Mods & ModifierOptions::Unaligned) != ModifierOptions::None;
41}
42
43bool NativeTypeBuiltin::isVolatileType() const {
44 return (Mods & ModifierOptions::Volatile) != ModifierOptions::None;
45}
46

source code of llvm/lib/DebugInfo/PDB/Native/NativeTypeBuiltin.cpp