Path: blob/main/contrib/llvm-project/lldb/source/Plugins/SymbolFile/PDB/PDBLocationToDWARFExpression.h
39642 views
//===-- PDBLocationToDWARFExpression.h --------------------------*- C++ -*-===//1//2// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.3// See https://llvm.org/LICENSE.txt for license information.4// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception5//6//===----------------------------------------------------------------------===//78#ifndef LLDB_SOURCE_PLUGINS_SYMBOLFILE_PDB_PDBLOCATIONTODWARFEXPRESSION_H9#define LLDB_SOURCE_PLUGINS_SYMBOLFILE_PDB_PDBLOCATIONTODWARFEXPRESSION_H1011#include "lldb/Core/Module.h"12#include "lldb/Symbol/Variable.h"1314namespace lldb_private {15class DWARFExpression;16}1718namespace llvm {19namespace pdb {20class PDBSymbolData;21}22} // namespace llvm2324/// Converts a location information from a PDB symbol to a DWARF expression25///26/// \param[in] module27/// The module \a symbol belongs to.28///29/// \param[in] symbol30/// The symbol with a location information to convert.31///32/// \param[in] ranges33/// Ranges where this variable is valid.34///35/// \param[out] is_constant36/// Set to \b true if the result expression is a constant value data,37/// and \b false if it is a DWARF bytecode.38///39/// \return40/// The DWARF expression corresponding to the location data of \a symbol.41lldb_private::DWARFExpression42ConvertPDBLocationToDWARFExpression(lldb::ModuleSP module,43const llvm::pdb::PDBSymbolData &symbol,44const lldb_private::Variable::RangeList &ranges,45bool &is_constant);46#endif474849