> On Feb 5, 2016, at 4:57 PM, Jim Ingham <jing...@apple.com> wrote:
> 
> 
>> On Feb 5, 2016, at 4:43 PM, Enrico Granata via lldb-commits 
>> <lldb-commits@lists.llvm.org> wrote:
>> 
>> Modified: lldb/trunk/source/Target/LanguageRuntime.cpp
>> URL: 
>> http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Target/LanguageRuntime.cpp?rev=259964&r1=259963&r2=259964&view=diff
>> ==============================================================================
>> --- lldb/trunk/source/Target/LanguageRuntime.cpp (original)
>> +++ lldb/trunk/source/Target/LanguageRuntime.cpp Fri Feb  5 18:43:07 2016
>> @@ -336,6 +336,10 @@ LanguageRuntime::InitializeCommands (Com
>>            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
>> +                assert(&command->GetCommandInterpreter() == 
>> &parent->GetCommandInterpreter() && "language plugin returned command for a 
>> mismatched CommandInterpreter");
> 
> Should CommandObject::LoadSubCommand do this check?
> 
>>                parent->LoadSubCommand(command->GetCommandName(), command);
>>            }
>>        }
> 
> Jim
> 

You mean the assert? The point of the assert is that the language plugin was 
creating a command once and caching it and then returning the cached version to 
a different debugger
Hence I am doing the check specifically for those commands.

But maybe I am missing what you’re trying to suggest here.

Thanks,
- Enrico
📩 egranata@.com ☎️ 27683

_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to