ValueObjectSynthetic::ValueObjectSynthetic (ValueObject &parent, lldb::SyntheticChildrenSP filter) :
    ValueObject(parent),
    m_synth_sp(filter),
    m_synth_filter_ap(filter->GetFrontEnd(parent)),
    m_children_byindex(),
    m_name_toindex(),
    m_synthetic_children_count(UINT32_MAX)
{
#ifdef LLDB_CONFIGURATION_DEBUG
    std::string new_name(parent.GetName().AsCString());
    new_name += "$$__synth__";
    SetName (ConstString(new_name.c_str()));
#else
    SetName(parent.GetName());
#endif
}
Example #2
0
ValueObjectDynamicValue::ValueObjectDynamicValue (ValueObject &parent, lldb::DynamicValueType use_dynamic) :
    ValueObject(parent),
    m_address (),
    m_dynamic_type_info(),
    m_use_dynamic (use_dynamic)
{
    SetName (parent.GetName());
}
ValueObjectSynthetic::ValueObjectSynthetic(ValueObject &parent,
                                           lldb::SyntheticChildrenSP filter)
    : ValueObject(parent), m_synth_sp(filter), m_children_byindex(),
      m_name_toindex(), m_synthetic_children_count(UINT32_MAX),
      m_synthetic_children_cache(), m_parent_type_name(parent.GetTypeName()),
      m_might_have_children(eLazyBoolCalculate),
      m_provides_value(eLazyBoolCalculate) {
  SetName(parent.GetName());
  CopyValueData(m_parent);
  CreateSynthFilter();
}
ValueObjectSynthetic::ValueObjectSynthetic (ValueObject &parent, lldb::SyntheticChildrenSP filter) :
    ValueObject(parent),
    m_synth_sp(filter),
    m_children_byindex(),
    m_name_toindex(),
    m_synthetic_children_count(UINT32_MAX),
    m_parent_type_name(parent.GetTypeName()),
    m_might_have_children(eLazyBoolCalculate),
    m_provides_value(eLazyBoolCalculate)
{
#ifdef FOOBAR
    std::string new_name(parent.GetName().AsCString());
    new_name += "$$__synth__";
    SetName (ConstString(new_name.c_str()));
#else
    SetName(parent.GetName());
#endif
    CopyValueData(m_parent);
    CreateSynthFilter();
}
ValueObjectSynthetic::ValueObjectSynthetic (ValueObject &parent, lldb::SyntheticChildrenSP filter) :
    ValueObject(parent),
    m_address (),
    m_type_sp(),
    m_use_synthetic (lldb::eUseSyntheticFilter),
    m_synth_sp(filter),
    m_synth_filter(filter->GetFrontEnd(parent.GetSP())),
    m_children_byindex(),
    m_name_toindex()
{
    SetName (parent.GetName());
}
Example #6
0
bool CPPLanguageRuntime::IsRuntimeSupportValue(ValueObject &valobj) {
  // All runtime support values have to be marked as artificial by the
  // compiler. But not all artificial variables should be hidden from
  // the user.
  if (!valobj.GetVariable())
    return false;
  if (!valobj.GetVariable()->IsArtificial())
    return false;

  // Whitelist "this" and since there is no ObjC++ runtime, any ObjC names.
  ConstString name = valobj.GetName();
  if (name == g_this)
    return false;
  return !ObjCLanguageRuntime::IsWhitelistedRuntimeValue(name);
}
Example #7
0
ValueObjectSP
ValueObjectList::FindValueObjectByValueName (const char *name)
{
    ConstString name_const_str(name);
    ValueObjectSP val_obj_sp;
    collection::iterator pos, end = m_value_objects.end();
    for (pos = m_value_objects.begin(); pos != end; ++pos)
    {
        ValueObject *valobj = (*pos).get();
        if (valobj && valobj->GetName() == name_const_str)
        {
            val_obj_sp = *pos;
            break;
        }
    }
    return val_obj_sp;
}