LLVM  4.0.0
PDBSymbolCompilandEnv.cpp
Go to the documentation of this file.
1 //===- PDBSymbolCompilandEnv.cpp - compiland env variables ------*- C++ -*-===//
2 //
3 // The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 
11 
15 
16 #include <utility>
17 
18 using namespace llvm;
19 using namespace llvm::pdb;
20 
22  const IPDBSession &PDBSession, std::unique_ptr<IPDBRawSymbol> Symbol)
23  : PDBSymbol(PDBSession, std::move(Symbol)) {}
24 
25 std::string PDBSymbolCompilandEnv::getValue() const {
26  Variant Value = RawSymbol->getValue();
27  if (Value.Type != PDB_VariantType::String)
28  return std::string();
29  return std::string(Value.Value.String);
30 }
31 
33  Dumper.dump(*this);
34 }
IPDBSession defines an interface used to provide a context for querying debug information from a debu...
Definition: IPDBSession.h:25
const std::unique_ptr< IPDBRawSymbol > RawSymbol
Definition: PDBSymbol.h:95
void dump(PDBSymDumper &Dumper) const override
Dumps the contents of a symbol a raw_ostream.
PDBSymbol defines the base of the inheritance hierarchy for concrete symbol types (e...
Definition: PDBSymbol.h:43
virtual void dump(const PDBSymbolAnnotation &Symbol)
PDBSymbolCompilandEnv(const IPDBSession &PDBSession, std::unique_ptr< IPDBRawSymbol > Symbol)
LLVM Value Representation.
Definition: Value.h:71
PDB_VariantType Type
Definition: PDBTypes.h:287
union llvm::pdb::Variant::@75 Value