LLVM  6.0.0svn
NativeCompilandSymbol.cpp
Go to the documentation of this file.
1 //===- NativeCompilandSymbol.cpp - Native impl for compilands ---*- 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 
12 #include "llvm/ADT/STLExtras.h"
13 
14 namespace llvm {
15 namespace pdb {
16 
18  SymIndexId SymbolId,
20  : NativeRawSymbol(Session, SymbolId), Module(MI) {}
21 
24 }
25 
26 std::unique_ptr<NativeRawSymbol> NativeCompilandSymbol::clone() const {
27  return llvm::make_unique<NativeCompilandSymbol>(Session, SymbolId, Module);
28 }
29 
31  return Module.hasECInfo();
32 }
33 
35 
36 // The usage of getObjFileName for getLibraryName and getModuleName for getName
37 // may seem backwards, but it is consistent with DIA, which is what this API
38 // was modeled after. We may rename these methods later to try to eliminate
39 // this potential confusion.
40 
42  return Module.getObjFileName();
43 }
44 
45 std::string NativeCompilandSymbol::getName() const {
46  return Module.getModuleName();
47 }
48 
49 } // namespace pdb
50 } // namespace llvm
Compute iterated dominance frontiers using a linear time algorithm.
Definition: AllocatorList.h:24
A Module instance is used to store all the information related to an LLVM module. ...
Definition: Module.h:63
uint32_t getLexicalParentId() const override
PDB_SymType getSymTag() const override
std::unique_ptr< NativeRawSymbol > clone() const override
std::string getName() const override
PDB_SymType
These values correspond to the SymTagEnum enumeration, and are documented here: https://msdn.microsoft.com/en-us/library/bkedss5f.aspx.
Definition: PDBTypes.h:162
bool isEditAndContinueEnabled() const override
NativeCompilandSymbol(NativeSession &Session, SymIndexId SymbolId, DbiModuleDescriptor MI)
std::string getLibraryName() const override
IRTranslator LLVM IR MI