xref: /aosp_15_r20/external/llvm/lib/DebugInfo/PDB/PDBSymbolCompilandEnv.cpp (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker //===- PDBSymbolCompilandEnv.cpp - compiland env variables ------*- C++ -*-===//
2*9880d681SAndroid Build Coastguard Worker //
3*9880d681SAndroid Build Coastguard Worker //                     The LLVM Compiler Infrastructure
4*9880d681SAndroid Build Coastguard Worker //
5*9880d681SAndroid Build Coastguard Worker // This file is distributed under the University of Illinois Open Source
6*9880d681SAndroid Build Coastguard Worker // License. See LICENSE.TXT for details.
7*9880d681SAndroid Build Coastguard Worker //
8*9880d681SAndroid Build Coastguard Worker //===----------------------------------------------------------------------===//
9*9880d681SAndroid Build Coastguard Worker 
10*9880d681SAndroid Build Coastguard Worker #include "llvm/DebugInfo/PDB/PDBSymbolCompilandEnv.h"
11*9880d681SAndroid Build Coastguard Worker 
12*9880d681SAndroid Build Coastguard Worker #include "llvm/DebugInfo/PDB/IPDBRawSymbol.h"
13*9880d681SAndroid Build Coastguard Worker #include "llvm/DebugInfo/PDB/PDBSymbol.h"
14*9880d681SAndroid Build Coastguard Worker #include "llvm/DebugInfo/PDB/PDBSymDumper.h"
15*9880d681SAndroid Build Coastguard Worker 
16*9880d681SAndroid Build Coastguard Worker #include <utility>
17*9880d681SAndroid Build Coastguard Worker 
18*9880d681SAndroid Build Coastguard Worker using namespace llvm;
19*9880d681SAndroid Build Coastguard Worker using namespace llvm::pdb;
20*9880d681SAndroid Build Coastguard Worker 
PDBSymbolCompilandEnv(const IPDBSession & PDBSession,std::unique_ptr<IPDBRawSymbol> Symbol)21*9880d681SAndroid Build Coastguard Worker PDBSymbolCompilandEnv::PDBSymbolCompilandEnv(
22*9880d681SAndroid Build Coastguard Worker     const IPDBSession &PDBSession, std::unique_ptr<IPDBRawSymbol> Symbol)
23*9880d681SAndroid Build Coastguard Worker     : PDBSymbol(PDBSession, std::move(Symbol)) {}
24*9880d681SAndroid Build Coastguard Worker 
getValue() const25*9880d681SAndroid Build Coastguard Worker std::string PDBSymbolCompilandEnv::getValue() const {
26*9880d681SAndroid Build Coastguard Worker   Variant Value = RawSymbol->getValue();
27*9880d681SAndroid Build Coastguard Worker   if (Value.Type != PDB_VariantType::String)
28*9880d681SAndroid Build Coastguard Worker     return std::string();
29*9880d681SAndroid Build Coastguard Worker   return std::string(Value.Value.String);
30*9880d681SAndroid Build Coastguard Worker }
31*9880d681SAndroid Build Coastguard Worker 
dump(PDBSymDumper & Dumper) const32*9880d681SAndroid Build Coastguard Worker void PDBSymbolCompilandEnv::dump(PDBSymDumper &Dumper) const {
33*9880d681SAndroid Build Coastguard Worker   Dumper.dump(*this);
34*9880d681SAndroid Build Coastguard Worker }
35