aboutsummaryrefslogtreecommitdiff
path: root/source/Symbol/Type.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/Symbol/Type.cpp')
-rw-r--r--source/Symbol/Type.cpp47
1 files changed, 25 insertions, 22 deletions
diff --git a/source/Symbol/Type.cpp b/source/Symbol/Type.cpp
index 0927d55f1..23cda8a13 100644
--- a/source/Symbol/Type.cpp
+++ b/source/Symbol/Type.cpp
@@ -491,6 +491,7 @@ Type::GetDeclaration () const
bool
Type::ResolveClangType (ResolveState clang_type_resolve_state)
{
+ // TODO: This needs to consider the correct type system to use.
Type *encoding_type = nullptr;
if (!m_clang_type.IsValid())
{
@@ -511,20 +512,21 @@ Type::ResolveClangType (ResolveState clang_type_resolve_state)
break;
case eEncodingIsConstUID:
- m_clang_type = encoding_type->GetClangForwardType().AddConstModifier();
+ m_clang_type = ClangASTContext::AddConstModifier(encoding_type->GetClangForwardType());
break;
case eEncodingIsRestrictUID:
- m_clang_type = encoding_type->GetClangForwardType().AddRestrictModifier();
+ m_clang_type = ClangASTContext::AddRestrictModifier(encoding_type->GetClangForwardType());
break;
case eEncodingIsVolatileUID:
- m_clang_type = encoding_type->GetClangForwardType().AddVolatileModifier();
+ m_clang_type = ClangASTContext::AddVolatileModifier(encoding_type->GetClangForwardType());
break;
case eEncodingIsTypedefUID:
- m_clang_type = encoding_type->GetClangForwardType().CreateTypedefType (GetName().AsCString(),
- GetSymbolFile()->GetClangDeclContextContainingTypeUID(GetID()));
+ m_clang_type = ClangASTContext::CreateTypedefType (encoding_type->GetClangForwardType(),
+ GetName().AsCString(),
+ GetSymbolFile()->GetClangDeclContextContainingTypeUID(GetID()));
m_name.Clear();
break;
@@ -533,11 +535,11 @@ Type::ResolveClangType (ResolveState clang_type_resolve_state)
break;
case eEncodingIsLValueReferenceUID:
- m_clang_type = encoding_type->GetClangForwardType().GetLValueReferenceType();
+ m_clang_type = ClangASTContext::GetLValueReferenceType(encoding_type->GetClangForwardType());
break;
case eEncodingIsRValueReferenceUID:
- m_clang_type = encoding_type->GetClangForwardType().GetRValueReferenceType();
+ m_clang_type = ClangASTContext::GetRValueReferenceType(encoding_type->GetClangForwardType());
break;
default:
@@ -556,20 +558,21 @@ Type::ResolveClangType (ResolveState clang_type_resolve_state)
break;
case eEncodingIsConstUID:
- m_clang_type = void_clang_type.AddConstModifier ();
+ m_clang_type = ClangASTContext::AddConstModifier (void_clang_type);
break;
case eEncodingIsRestrictUID:
- m_clang_type = void_clang_type.AddRestrictModifier ();
+ m_clang_type = ClangASTContext::AddRestrictModifier (void_clang_type);
break;
case eEncodingIsVolatileUID:
- m_clang_type = void_clang_type.AddVolatileModifier ();
+ m_clang_type = ClangASTContext::AddVolatileModifier (void_clang_type);
break;
case eEncodingIsTypedefUID:
- m_clang_type = void_clang_type.CreateTypedefType (GetName().AsCString(),
- GetSymbolFile()->GetClangDeclContextContainingTypeUID(GetID()));
+ m_clang_type = ClangASTContext::CreateTypedefType (void_clang_type,
+ GetName().AsCString(),
+ GetSymbolFile()->GetClangDeclContextContainingTypeUID(GetID()));
break;
case eEncodingIsPointerUID:
@@ -577,11 +580,11 @@ Type::ResolveClangType (ResolveState clang_type_resolve_state)
break;
case eEncodingIsLValueReferenceUID:
- m_clang_type = void_clang_type.GetLValueReferenceType ();
+ m_clang_type = ClangASTContext::GetLValueReferenceType(void_clang_type);
break;
case eEncodingIsRValueReferenceUID:
- m_clang_type = void_clang_type.GetRValueReferenceType ();
+ m_clang_type = ClangASTContext::GetRValueReferenceType(void_clang_type);
break;
default:
@@ -735,7 +738,7 @@ Type::IsRealObjCClass()
// those don't have any information. We could extend this to only return true for "full
// definitions" if we can figure that out.
- if (m_clang_type.IsObjCObjectOrInterfaceType() && GetByteSize() != 0)
+ if (ClangASTContext::IsObjCObjectOrInterfaceType(m_clang_type) && GetByteSize() != 0)
return true;
else
return false;
@@ -1182,7 +1185,7 @@ TypeImpl::GetReferenceType () const
{
if (m_dynamic_type.IsValid())
{
- return TypeImpl(m_static_type.GetReferenceType(), m_dynamic_type.GetLValueReferenceType());
+ return TypeImpl(m_static_type.GetReferenceType(), ClangASTContext::GetLValueReferenceType(m_dynamic_type));
}
return TypeImpl(m_static_type.GetReferenceType());
}
@@ -1265,8 +1268,8 @@ TypeImpl::GetClangASTType (bool prefer_dynamic)
return ClangASTType();
}
-clang::ASTContext *
-TypeImpl::GetClangASTContext (bool prefer_dynamic)
+TypeSystem *
+TypeImpl::GetTypeSystem (bool prefer_dynamic)
{
ModuleSP module_sp;
if (CheckModule (module_sp))
@@ -1274,9 +1277,9 @@ TypeImpl::GetClangASTContext (bool prefer_dynamic)
if (prefer_dynamic)
{
if (m_dynamic_type.IsValid())
- return m_dynamic_type.GetASTContext();
+ return m_dynamic_type.GetTypeSystem();
}
- return m_static_type.GetClangASTContext();
+ return m_static_type.GetClangASTType().GetTypeSystem();
}
return NULL;
}
@@ -1387,7 +1390,7 @@ TypeMemberFunctionImpl::GetReturnType () const
if (m_type)
return m_type.GetFunctionReturnType();
if (m_objc_method_decl)
- return ClangASTType(&m_objc_method_decl->getASTContext(),m_objc_method_decl->getReturnType().getAsOpaquePtr());
+ return ClangASTType(&m_objc_method_decl->getASTContext(), m_objc_method_decl->getReturnType());
return ClangASTType();
}
@@ -1409,7 +1412,7 @@ TypeMemberFunctionImpl::GetArgumentAtIndex (size_t idx) const
if (m_objc_method_decl)
{
if (idx < m_objc_method_decl->param_size())
- return ClangASTType(&m_objc_method_decl->getASTContext(), m_objc_method_decl->parameters()[idx]->getOriginalType().getAsOpaquePtr());
+ return ClangASTType(&m_objc_method_decl->getASTContext(), m_objc_method_decl->parameters()[idx]->getOriginalType());
}
return ClangASTType();
}