diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2016-07-23 20:50:09 +0000 | 
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2016-07-23 20:50:09 +0000 | 
| commit | f3fbd1c0586ff6ec7895991e6c28f61a503c36a8 (patch) | |
| tree | 48d008fd3df8c0e73271a4b18474e0aac6dbfe33 /source/Target/LanguageRuntime.cpp | |
| parent | 2fc5d2d1dfaf623ce4e24cd8590565902f8c557c (diff) | |
Notes
Diffstat (limited to 'source/Target/LanguageRuntime.cpp')
| -rw-r--r-- | source/Target/LanguageRuntime.cpp | 40 | 
1 files changed, 22 insertions, 18 deletions
diff --git a/source/Target/LanguageRuntime.cpp b/source/Target/LanguageRuntime.cpp index b1e2b3eb04fc..f61af071e3e4 100644 --- a/source/Target/LanguageRuntime.cpp +++ b/source/Target/LanguageRuntime.cpp @@ -29,10 +29,10 @@ public:      ExceptionSearchFilter (const lldb::TargetSP &target_sp,                             lldb::LanguageType language,                             bool update_module_list = true) : -        SearchFilter (target_sp), -        m_language (language), -        m_language_runtime (NULL), -        m_filter_sp () +        SearchFilter(target_sp), +        m_language(language), +        m_language_runtime(nullptr), +        m_filter_sp()      {          if (update_module_list)              UpdateModuleListIfNeeded (); @@ -92,7 +92,7 @@ protected:          if (process_sp)          {              bool refreash_filter = !m_filter_sp; -            if (m_language_runtime == NULL) +            if (m_language_runtime == nullptr)              {                  m_language_runtime = process_sp->GetLanguageRuntime(m_language);                  refreash_filter = true; @@ -115,7 +115,7 @@ protected:          else          {              m_filter_sp.reset(); -            m_language_runtime = NULL; +            m_language_runtime = nullptr;          }      }  }; @@ -128,11 +128,11 @@ public:      ExceptionBreakpointResolver (lldb::LanguageType language,                                   bool catch_bp,                                   bool throw_bp) : -        BreakpointResolver (NULL, BreakpointResolver::ExceptionResolver), -        m_language (language), -        m_language_runtime (NULL), -        m_catch_bp (catch_bp), -        m_throw_bp (throw_bp) +        BreakpointResolver(nullptr, BreakpointResolver::ExceptionResolver), +        m_language(language), +        m_language_runtime(nullptr), +        m_catch_bp(catch_bp), +        m_throw_bp(throw_bp)      {      } @@ -207,7 +207,7 @@ protected:              if (process_sp)              {                  bool refreash_resolver = !m_actual_resolver_sp; -                if (m_language_runtime == NULL) +                if (m_language_runtime == nullptr)                  {                      m_language_runtime = process_sp->GetLanguageRuntime(m_language);                      refreash_resolver = true; @@ -230,16 +230,17 @@ protected:              else              {                  m_actual_resolver_sp.reset(); -                m_language_runtime = NULL; +                m_language_runtime = nullptr;              }          }          else          {              m_actual_resolver_sp.reset(); -            m_language_runtime = NULL; +            m_language_runtime = nullptr;          }          return (bool)m_actual_resolver_sp;      } +      lldb::BreakpointResolverSP m_actual_resolver_sp;      lldb::LanguageType m_language;      LanguageRuntime *m_language_runtime; @@ -254,16 +255,16 @@ LanguageRuntime::FindPlugin (Process *process, lldb::LanguageType language)      LanguageRuntimeCreateInstance create_callback;      for (uint32_t idx = 0; -         (create_callback = PluginManager::GetLanguageRuntimeCreateCallbackAtIndex(idx)) != NULL; +         (create_callback = PluginManager::GetLanguageRuntimeCreateCallbackAtIndex(idx)) != nullptr;           ++idx)      {          language_runtime_ap.reset (create_callback(process, language)); -        if (language_runtime_ap.get()) +        if (language_runtime_ap)              return language_runtime_ap.release();      } -    return NULL; +    return nullptr;  }  LanguageRuntime::LanguageRuntime(Process *process) : @@ -336,6 +337,9 @@ LanguageRuntime::InitializeCommands (CommandObject* parent)              CommandObjectSP command = command_callback(parent->GetCommandInterpreter());              if (command)              { +                // the CommandObject vended by a Language plugin cannot be created once and cached because +                // we may create multiple debuggers and need one instance of the command each - the implementing function +                // is meant to create a new instance of the command each time it is invoked                  parent->LoadSubCommand(command->GetCommandName(), command);              }          } @@ -345,5 +349,5 @@ LanguageRuntime::InitializeCommands (CommandObject* parent)  lldb::SearchFilterSP  LanguageRuntime::CreateExceptionSearchFilter ()  { -    return m_process->GetTarget().GetSearchFilterForModule(NULL); +    return m_process->GetTarget().GetSearchFilterForModule(nullptr);  }  | 
