//===-- SymbolFileOnDemand.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_SYMBOLFILEONDEMAND_H #define LLDB_SYMBOL_SYMBOLFILEONDEMAND_H #include <mutex> #include <optional> #include <vector> #include "lldb/Symbol/ObjectFile.h" #include "lldb/Symbol/SymbolContext.h" #include "lldb/Symbol/SymbolFile.h" #include "lldb/Target/Statistics.h" #include "lldb/Utility/ConstString.h" #include "lldb/Utility/Flags.h" #include "lldb/Utility/LLDBLog.h" #include "lldb/Utility/Log.h" #include "lldb/lldb-private.h" namespace lldb_private { /// SymbolFileOnDemand wraps an actual SymbolFile by providing /// on demand symbol parsing/indexing to improve performance. /// By default SymbolFileOnDemand will skip load the underlying /// symbols. Any client can on demand hydrate the underlying /// SymbolFile via SymbolFile::SetLoadDebugInfoEnabled(). class SymbolFileOnDemand : public lldb_private::SymbolFile { … }; } // namespace lldb_private #endif // LLDB_SYMBOL_SYMBOLFILEONDEMAND_H