From cd1d086b5afdb7f5d93cc3e6824abfc9ba9e20b7 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Tue, 31 Jul 2007 16:56:34 +0000 Subject: [PATCH] rename isReferenceType to follow the new scheme. llvm-svn: 40640 --- clang/AST/Type.cpp | 3 ++- clang/Sema/SemaExpr.cpp | 4 ++-- clang/Sema/SemaType.cpp | 4 ++-- clang/include/clang/AST/Type.h | 4 +++- 4 files changed, 9 insertions(+), 6 deletions(-) diff --git a/clang/AST/Type.cpp b/clang/AST/Type.cpp index ae04c4effdc6..1c61c681cee1 100644 --- a/clang/AST/Type.cpp +++ b/clang/AST/Type.cpp @@ -70,6 +70,7 @@ const FunctionType *Type::isFunctionType() const { // FIXME: move inline bool Type::isPointerType() const { return isa(CanonicalType); } +bool Type::isReferenceType() const { return isa(CanonicalType); } const PointerType *Type::getAsPointerType() const { // If this is directly a pointer type, return it. @@ -83,7 +84,7 @@ const PointerType *Type::getAsPointerType() const { return 0; } -const ReferenceType *Type::isReferenceType() const { +const ReferenceType *Type::getAsReferenceType() const { // If this is directly a reference type, return it. if (const ReferenceType *RTy = dyn_cast(this)) return RTy; diff --git a/clang/Sema/SemaExpr.cpp b/clang/Sema/SemaExpr.cpp index 89aef4ec5941..0db9879e4161 100644 --- a/clang/Sema/SemaExpr.cpp +++ b/clang/Sema/SemaExpr.cpp @@ -700,7 +700,7 @@ void Sema::DefaultFunctionArrayConversion(Expr *&e) { QualType t = e->getType(); assert(!t.isNull() && "DefaultFunctionArrayConversion - missing type"); - if (const ReferenceType *ref = t->isReferenceType()) { + if (const ReferenceType *ref = t->getAsReferenceType()) { promoteExprToType(e, ref->getReferenceeType()); // C++ [expr] t = e->getType(); } @@ -719,7 +719,7 @@ void Sema::UsualUnaryConversions(Expr *&expr) { QualType t = expr->getType(); assert(!t.isNull() && "UsualUnaryConversions - missing type"); - if (const ReferenceType *ref = t->isReferenceType()) { + if (const ReferenceType *ref = t->getAsReferenceType()) { promoteExprToType(expr, ref->getReferenceeType()); // C++ [expr] t = expr->getType(); } diff --git a/clang/Sema/SemaType.cpp b/clang/Sema/SemaType.cpp index d70002340be1..7085d833fd3a 100644 --- a/clang/Sema/SemaType.cpp +++ b/clang/Sema/SemaType.cpp @@ -136,7 +136,7 @@ QualType Sema::GetTypeForDeclarator(Declarator &D, Scope *S) { T = Context.getPointerType(T).getQualifiedType(DeclType.Ptr.TypeQuals); break; case DeclaratorChunk::Reference: - if (const ReferenceType *RT = T->isReferenceType()) { + if (const ReferenceType *RT = T->getAsReferenceType()) { // C++ 8.3.2p4: There shall be no references to references ... Diag(D.getIdentifierLoc(), diag::err_illegal_decl_reference_to_reference, @@ -166,7 +166,7 @@ QualType Sema::GetTypeForDeclarator(Declarator &D, Scope *S) { Diag(D.getIdentifierLoc(), diag::err_illegal_decl_array_of_functions, D.getIdentifier()->getName()); T = Context.getPointerType(T); - } else if (const ReferenceType *RT = T->isReferenceType()) { + } else if (const ReferenceType *RT = T->getAsReferenceType()) { // C++ 8.3.2p4: There shall be no ... arrays of references ... Diag(D.getIdentifierLoc(), diag::err_illegal_decl_array_of_references, D.getIdentifier()->getName()); diff --git a/clang/include/clang/AST/Type.h b/clang/include/clang/AST/Type.h index b35e19facc56..c1096555e54c 100644 --- a/clang/include/clang/AST/Type.h +++ b/clang/include/clang/AST/Type.h @@ -240,9 +240,11 @@ public: /// Derived types (C99 6.2.5p20). bool isDerivedType() const; const FunctionType *isFunctionType() const; + bool isPointerType() const; + bool isReferenceType() const; const PointerType *getAsPointerType() const; - const ReferenceType *isReferenceType() const; + const ReferenceType *getAsReferenceType() const; const ArrayType *isArrayType() const; const RecordType *isRecordType() const; const TagType *isStructureType() const;