|
LLDB mainline
|
Loads a script-interpreter runtime into the current process before its plugin is dlopened. More...
#include <ScriptInterpreterRuntimeLoader.h>
Public Member Functions | |
| virtual | ~ScriptInterpreterRuntimeLoader () |
| virtual llvm::Error | Load ()=0 |
| Resolves the runtime so the script interpreter plugin's undefined symbols can bind. | |
| virtual llvm::Expected< llvm::StringRef > | GetLoadedPath ()=0 |
| Absolute path of the loaded runtime, for diagnostics. | |
| virtual bool | IsLoaded ()=0 |
| True if the runtime is currently mapped into the process. | |
Static Public Member Functions | |
| static llvm::Expected< ScriptInterpreterRuntimeLoader & > | Get (lldb::ScriptLanguage language) |
Returns the loader for language. | |
Loads a script-interpreter runtime into the current process before its plugin is dlopened.
Lives outside the PluginManager because plugin registration itself depends on the runtime's symbols already being resolvable. Subclasses encode a single language's resolution policy (search order, env-var overrides, platform candidates).
Definition at line 23 of file ScriptInterpreterRuntimeLoader.h.
|
virtualdefault |
|
static |
Returns the loader for language.
Returns an Error when the language has no dynamic loader (currently every language except Python) or when support for it was not compiled in.
Definition at line 166 of file PythonRuntimeLoader.cpp.
References lldb::eScriptLanguageLua, lldb::eScriptLanguageNone, lldb::eScriptLanguagePython, and lldb::eScriptLanguageUnknown.
Referenced by lldb_private::SystemInitializerFull::Initialize().
|
pure virtual |
Absolute path of the loaded runtime, for diagnostics.
The success value is empty when the runtime was already in the process. Drives the load on first call.
|
pure virtual |
True if the runtime is currently mapped into the process.
|
pure virtual |
Resolves the runtime so the script interpreter plugin's undefined symbols can bind.
The first call drives the search and subsequent calls return the cached outcome. Returns success when the runtime is already in the process or has been loaded.