Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/contrib/llvm-project/lldb/source/Plugins/SymbolFile/PDB/PDBLocationToDWARFExpression.h
39642 views
1
//===-- PDBLocationToDWARFExpression.h --------------------------*- C++ -*-===//
2
//
3
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4
// See https://llvm.org/LICENSE.txt for license information.
5
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6
//
7
//===----------------------------------------------------------------------===//
8
9
#ifndef LLDB_SOURCE_PLUGINS_SYMBOLFILE_PDB_PDBLOCATIONTODWARFEXPRESSION_H
10
#define LLDB_SOURCE_PLUGINS_SYMBOLFILE_PDB_PDBLOCATIONTODWARFEXPRESSION_H
11
12
#include "lldb/Core/Module.h"
13
#include "lldb/Symbol/Variable.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
/// Converts a location information from a PDB symbol to a DWARF expression
26
///
27
/// \param[in] module
28
/// The module \a symbol belongs to.
29
///
30
/// \param[in] symbol
31
/// The symbol with a location information to convert.
32
///
33
/// \param[in] ranges
34
/// Ranges where this variable is valid.
35
///
36
/// \param[out] is_constant
37
/// Set to \b true if the result expression is a constant value data,
38
/// and \b false if it is a DWARF bytecode.
39
///
40
/// \return
41
/// The DWARF expression corresponding to the location data of \a symbol.
42
lldb_private::DWARFExpression
43
ConvertPDBLocationToDWARFExpression(lldb::ModuleSP module,
44
const llvm::pdb::PDBSymbolData &symbol,
45
const lldb_private::Variable::RangeList &ranges,
46
bool &is_constant);
47
#endif
48
49