1 //===-- PDBLocationToDWARFExpression.h --------------------------*- 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 10 #ifndef lldb_Plugins_SymbolFile_PDB_PDBLocationToDWARFExpression_h_ 11 #define lldb_Plugins_SymbolFile_PDB_PDBLocationToDWARFExpression_h_ 12 13 #include "lldb/Core/Module.h" 14 15 namespace lldb_private { 16 class DWARFExpression; 17 } 18 19 namespace llvm { 20 namespace pdb { 21 class PDBSymbolData; 22 } 23 } // namespace llvm 24 25 //------------------------------------------------------------------------------ 26 /// Converts a location information from a PDB symbol to a DWARF expression 27 /// 28 /// @param[in] module 29 /// The module \a symbol belongs to. 30 /// 31 /// @param[in] symbol 32 /// The symbol with a location information to convert. 33 /// 34 /// @param[out] is_constant 35 /// Set to \b true if the result expression is a constant value data, 36 /// and \b false if it is a DWARF bytecode. 37 /// 38 /// @return 39 /// The DWARF expression corresponding to the location data of \a symbol. 40 //------------------------------------------------------------------------------ 41 lldb_private::DWARFExpression 42 ConvertPDBLocationToDWARFExpression(lldb::ModuleSP module, 43 const llvm::pdb::PDBSymbolData &symbol, 44 bool &is_constant); 45 #endif 46