================ @@ -0,0 +1,271 @@ +//===-- SymbolLocatorScripted.cpp +//------------------------------------------===// +// +// 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 +// +//===----------------------------------------------------------------------===// + +#include "SymbolLocatorScripted.h" + +#include "lldb/Core/Debugger.h" +#include "lldb/Core/Module.h" +#include "lldb/Core/PluginManager.h" +#include "lldb/Interpreter/OptionValueString.h" +#include "lldb/Interpreter/ScriptInterpreter.h" +#include "lldb/Utility/LLDBLog.h" +#include "lldb/Utility/Log.h" + +#include <unordered_map> + +using namespace lldb; +using namespace lldb_private; + +LLDB_PLUGIN_DEFINE(SymbolLocatorScripted) + +namespace { + +#define LLDB_PROPERTIES_symbollocatorscripted +#include "SymbolLocatorScriptedProperties.inc" + +enum { +#define LLDB_PROPERTIES_symbollocatorscripted +#include "SymbolLocatorScriptedPropertiesEnum.inc" +}; + +class PluginProperties : public Properties { +public: + static llvm::StringRef GetSettingName() { + return SymbolLocatorScripted::GetPluginNameStatic(); + } + + PluginProperties() { + m_collection_sp = std::make_shared<OptionValueProperties>(GetSettingName()); + m_collection_sp->Initialize(g_symbollocatorscripted_properties_def); + + m_collection_sp->SetValueChangedCallback( + ePropertyScriptClass, [this] { ScriptClassChangedCallback(); }); + } + + llvm::StringRef GetScriptClassName() const { + const OptionValueString *s = + m_collection_sp->GetPropertyAtIndexAsOptionValueString( + ePropertyScriptClass); + if (s) + return s->GetCurrentValueAsRef(); + return {}; + } ---------------- jimingham wrote:
Ah, I forgot we had discussed this in the RFC and didn't have a good solution, since we need to find it from the modules where we don't have a target or a platform. Let me look further into how you've implemented this. https://github.com/llvm/llvm-project/pull/181334 _______________________________________________ lldb-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
