//===-- SymbolContext.h -----------------------------------------*- C++ -*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #ifndef LLDB_SYMBOL_SYMBOLCONTEXT_H #define LLDB_SYMBOL_SYMBOLCONTEXT_H #include <memory> #include <string> #include <vector> #include "lldb/Core/Address.h" #include "lldb/Core/Mangled.h" #include "lldb/Symbol/LineEntry.h" #include "lldb/Utility/Iterable.h" #include "lldb/Utility/Stream.h" #include "lldb/lldb-private.h" namespace lldb_private { class SymbolContextScope; /// \class SymbolContext SymbolContext.h "lldb/Symbol/SymbolContext.h" Defines /// a symbol context baton that can be handed other debug core functions. /// /// Many debugger functions require a context when doing lookups. This class /// provides a common structure that can be used as the result of a query that /// can contain a single result. Examples of such queries include /// \li Looking up a load address. class SymbolContext { … }; class SymbolContextSpecifier { … }; /// \class SymbolContextList SymbolContext.h "lldb/Symbol/SymbolContext.h" /// Defines a list of symbol context objects. /// /// This class provides a common structure that can be used to contain the /// result of a query that can contain a multiple results. Examples of such /// queries include: /// \li Looking up a function by name. /// \li Finding all addresses for a specified file and line number. class SymbolContextList { … }; bool operator==(const SymbolContext &lhs, const SymbolContext &rhs); bool operator!=(const SymbolContext &lhs, const SymbolContext &rhs); bool operator==(const SymbolContextList &lhs, const SymbolContextList &rhs); bool operator!=(const SymbolContextList &lhs, const SymbolContextList &rhs); } // namespace lldb_private #endif // LLDB_SYMBOL_SYMBOLCONTEXT_H