@@ -564,11 +564,12 @@ static LanguageInstances &GetLanguageInstances() {
564
564
return g_instances;
565
565
}
566
566
567
- bool PluginManager::RegisterPlugin (llvm::StringRef name,
568
- llvm::StringRef description,
569
- LanguageCreateInstance create_callback) {
570
- return GetLanguageInstances ().RegisterPlugin (name, description,
571
- create_callback);
567
+ bool PluginManager::RegisterPlugin (
568
+ llvm::StringRef name, llvm::StringRef description,
569
+ LanguageCreateInstance create_callback,
570
+ DebuggerInitializeCallback debugger_init_callback) {
571
+ return GetLanguageInstances ().RegisterPlugin (
572
+ name, description, create_callback, debugger_init_callback);
572
573
}
573
574
574
575
bool PluginManager::UnregisterPlugin (LanguageCreateInstance create_callback) {
@@ -1682,6 +1683,7 @@ void PluginManager::DebuggerInitialize(Debugger &debugger) {
1682
1683
GetStructuredDataPluginInstances ().PerformDebuggerCallback (debugger);
1683
1684
GetTracePluginInstances ().PerformDebuggerCallback (debugger);
1684
1685
GetScriptedInterfaceInstances ().PerformDebuggerCallback (debugger);
1686
+ GetLanguageInstances ().PerformDebuggerCallback (debugger);
1685
1687
}
1686
1688
1687
1689
// This is the preferred new way to register plugin specific settings. e.g.
@@ -1810,6 +1812,7 @@ static constexpr llvm::StringLiteral kSymbolLocatorPluginName("symbol-locator");
1810
1812
static constexpr llvm::StringLiteral kJITLoaderPluginName (" jit-loader" );
1811
1813
static constexpr llvm::StringLiteral
1812
1814
kStructuredDataPluginName (" structured-data" );
1815
+ static constexpr llvm::StringLiteral kCPlusPlusLanguagePlugin (" cplusplus" );
1813
1816
1814
1817
lldb::OptionValuePropertiesSP
1815
1818
PluginManager::GetSettingForDynamicLoaderPlugin (Debugger &debugger,
@@ -1967,3 +1970,17 @@ bool PluginManager::CreateSettingForStructuredDataPlugin(
1967
1970
" Settings for structured data plug-ins" ,
1968
1971
properties_sp, description, is_global_property);
1969
1972
}
1973
+
1974
+ lldb::OptionValuePropertiesSP
1975
+ PluginManager::GetSettingForCPlusPlusLanguagePlugin (
1976
+ Debugger &debugger, llvm::StringRef setting_name) {
1977
+ return GetSettingForPlugin (debugger, setting_name, kCPlusPlusLanguagePlugin );
1978
+ }
1979
+
1980
+ bool PluginManager::CreateSettingForCPlusPlusLanguagePlugin (
1981
+ Debugger &debugger, const lldb::OptionValuePropertiesSP &properties_sp,
1982
+ llvm::StringRef description, bool is_global_property) {
1983
+ return CreateSettingForPlugin (debugger, kCPlusPlusLanguagePlugin ,
1984
+ " Settings for CPlusPlus language plug-ins" ,
1985
+ properties_sp, description, is_global_property);
1986
+ }
0 commit comments