예제 #1
0
 bool
 operator() (const lldb::TypeSP& type)
 {
     if (type && type->GetSymbolContextScope() != nullptr && modulesp.get() == type->GetSymbolContextScope()->CalculateSymbolContextModule().get())
     {
         type_list.Insert(type);
         type_map.RemoveTypeWithUID(type->GetID());
         return false;
     }
     return true;
 }
예제 #2
0
 bool
 operator() (const lldb::TypeSP& type)
 {
     if (type && type->GetSymbolContextScope() != nullptr && comp_unit == type->GetSymbolContextScope()->CalculateSymbolContextCompileUnit())
     {
         type_list.Insert(type);
         type_map.RemoveTypeWithUID(type->GetID());
         return false;
     }
     return true;
 }
예제 #3
0
void
TypeImpl::SetType (const lldb::TypeSP &type_sp)
{
    if (type_sp)
    {
        m_clang_ast_type.SetClangType (type_sp->GetClangAST(), type_sp->GetClangFullType());
        m_type_sp = type_sp;
    }
    else
    {
        m_clang_ast_type.Clear();
        m_type_sp.reset();
    }
}
예제 #4
0
파일: Type.cpp 프로젝트: vargaz/lldb
void TypeImpl::SetType(const lldb::TypeSP &type_sp) {
  m_static_type.SetType(type_sp);
  if (type_sp)
    m_module_wp = type_sp->GetModule();
  else
    m_module_wp = lldb::ModuleWP();
}
예제 #5
0
void
TypeAndOrName::SetTypeSP (lldb::TypeSP type_sp)
{
    m_type_sp = type_sp;
    if (type_sp)
        m_type_name = type_sp->GetName();
}
예제 #6
0
 bool
 operator() (const lldb::TypeSP& type)
 {
     if(type)
     {
         type_list.Insert(type);
         type_map.RemoveTypeWithUID(type->GetID());
         if (type_map.Empty())
             return false;
     }
     return true;
 }
예제 #7
0
파일: Type.cpp 프로젝트: vargaz/lldb
SymbolFileType::SymbolFileType(SymbolFile &symbol_file,
                               const lldb::TypeSP &type_sp)
    : UserID(type_sp ? type_sp->GetID() : LLDB_INVALID_UID),
      m_symbol_file(symbol_file), m_type_sp(type_sp) {}
예제 #8
0
TypeImpl::TypeImpl(const lldb::TypeSP& type) :
    m_clang_ast_type(type->GetClangAST(), type->GetClangFullType()),
    m_type_sp(type)
{
}