Massive enumeration name changes: a number of enums in ValueObject were not following the naming pattern
Changes to synthetic children: - the update(self): function can now (optionally) return a value - if it returns boolean value True, ValueObjectSyntheticFilter will not clear its caches across stop-points this should allow better performance for Python-based synthetic children when one can be sure that the child ValueObjects have not changed - making a difference between a synthetic VO and a VO with a synthetic value: now a ValueObjectSyntheticFilter will not return itself as its own synthetic value, but will (correctly) claim to itself be synthetic - cleared up the internal synthetic children architecture to make a more consistent use of pointers and references instead of shared pointers when possible - major cleanup of unnecessary #include, data and functions in ValueObjectSyntheticFilter itself - removed the SyntheticValueType enum and replaced it with a plain boolean (to which it was equivalent in the first place) Some clean ups to the summary generation code Centralized the code that clears out user-visible strings and data in ValueObject More efficient summaries for libc++ containers llvm-svn: 153061
This commit is contained in:
@@ -91,7 +91,7 @@ extern "C" uint32_t LLDBSwigPython_CalculateNumChildren (void *impl
|
||||
extern "C" void* LLDBSwigPython_GetChildAtIndex (void *implementor, uint32_t idx);
|
||||
extern "C" int LLDBSwigPython_GetIndexOfChildWithName (void *implementor, const char* child_name);
|
||||
extern "C" void* LLDBSWIGPython_CastPyObjectToSBValue (void* data);
|
||||
extern "C" void LLDBSwigPython_UpdateSynthProviderInstance (void* implementor);
|
||||
extern "C" bool LLDBSwigPython_UpdateSynthProviderInstance (void* implementor);
|
||||
|
||||
extern "C" bool LLDBSwigPythonCallCommand
|
||||
(
|
||||
@@ -1654,26 +1654,28 @@ ScriptInterpreterPython::GetIndexOfChildWithName (const lldb::ScriptInterpreterO
|
||||
return ret_val;
|
||||
}
|
||||
|
||||
void
|
||||
bool
|
||||
ScriptInterpreterPython::UpdateSynthProviderInstance (const lldb::ScriptInterpreterObjectSP& implementor_sp)
|
||||
{
|
||||
bool ret_val = false;
|
||||
|
||||
if (!implementor_sp)
|
||||
return;
|
||||
return ret_val;
|
||||
|
||||
void* implementor = implementor_sp->GetObject();
|
||||
|
||||
if (!implementor)
|
||||
return;
|
||||
return ret_val;
|
||||
|
||||
if (!g_swig_update_provider)
|
||||
return;
|
||||
return ret_val;
|
||||
|
||||
{
|
||||
Locker py_lock(this);
|
||||
g_swig_update_provider (implementor);
|
||||
ret_val = g_swig_update_provider (implementor);
|
||||
}
|
||||
|
||||
return;
|
||||
return ret_val;
|
||||
}
|
||||
|
||||
bool
|
||||
|
||||
Reference in New Issue
Block a user