blob: 2f1c43666ae547dfff62c81b0099b227d22cf7f1 [file] [log] [blame]
Zachary Turner0e9e6632015-02-06 20:30:52 +00001//===- 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
Zachary Turner52c9f882015-02-14 03:53:56 +000010#include "llvm/DebugInfo/PDB/PDBSymbolCompilandEnv.h"
11
Zachary Turner0e9e6632015-02-06 20:30:52 +000012#include "llvm/DebugInfo/PDB/IPDBRawSymbol.h"
13#include "llvm/DebugInfo/PDB/PDBSymbol.h"
Zachary Turner9a818ad2015-02-22 22:03:38 +000014#include "llvm/DebugInfo/PDB/PDBSymDumper.h"
Zachary Turner52c9f882015-02-14 03:53:56 +000015
Chandler Carruth71f308a2015-02-13 09:09:03 +000016#include <utility>
Zachary Turner0e9e6632015-02-06 20:30:52 +000017
18using namespace llvm;
Zachary Turnerec28fc32016-05-04 20:32:13 +000019using namespace llvm::pdb;
Zachary Turner0e9e6632015-02-06 20:30:52 +000020
Zachary Turner21473f72015-02-08 00:29:29 +000021PDBSymbolCompilandEnv::PDBSymbolCompilandEnv(
Zachary Turner98571ed2015-02-08 22:53:53 +000022 const IPDBSession &PDBSession, std::unique_ptr<IPDBRawSymbol> Symbol)
Zachary Turner1b1a70f2017-04-10 06:14:09 +000023 : PDBSymbol(PDBSession, std::move(Symbol)) {
24 assert(RawSymbol->getSymTag() == PDB_SymType::CompilandEnv);
25}
Zachary Turner21473f72015-02-08 00:29:29 +000026
Zachary Turner0e9e6632015-02-06 20:30:52 +000027std::string PDBSymbolCompilandEnv::getValue() const {
Zachary Turnerec28fc32016-05-04 20:32:13 +000028 Variant Value = RawSymbol->getValue();
29 if (Value.Type != PDB_VariantType::String)
30 return std::string();
31 return std::string(Value.Value.String);
Zachary Turner0e9e6632015-02-06 20:30:52 +000032}
Zachary Turner21473f72015-02-08 00:29:29 +000033
Zachary Turnerb52d08d2015-03-01 06:51:29 +000034void PDBSymbolCompilandEnv::dump(PDBSymDumper &Dumper) const {
35 Dumper.dump(*this);
Zachary Turner9a818ad2015-02-22 22:03:38 +000036}