diff options
| -rw-r--r-- | clang/AST/Type.cpp | 9 | ||||
| -rw-r--r-- | clang/include/clang/AST/Type.h | 33 |
2 files changed, 25 insertions, 17 deletions
diff --git a/clang/AST/Type.cpp b/clang/AST/Type.cpp index dc3ee8ebcb1..15f0968b81c 100644 --- a/clang/AST/Type.cpp +++ b/clang/AST/Type.cpp @@ -56,12 +56,6 @@ bool Type::isDerivedType() const { } } -// FIXME: move inline -bool Type::isFunctionType() const { return isa<FunctionType>(CanonicalType); } -bool Type::isPointerType() const { return isa<PointerType>(CanonicalType); } -bool Type::isReferenceType() const { return isa<ReferenceType>(CanonicalType); } -bool Type::isArrayType() const { return isa<ArrayType>(CanonicalType); } -bool Type::isRecordType() const { return isa<RecordType>(CanonicalType); } bool Type::isStructureType() const { if (const RecordType *RT = dyn_cast<RecordType>(this)) if (RT->getDecl()->getKind() == Decl::Struct) @@ -74,9 +68,6 @@ bool Type::isUnionType() const { return true; return false; } -bool Type::isVectorType() const { return isa<VectorType>(CanonicalType); } -bool Type::isOCUVectorType() const { return isa<OCUVectorType>(CanonicalType); } - const FunctionType *Type::getAsFunctionType() const { // If this is directly a function type, return it. diff --git a/clang/include/clang/AST/Type.h b/clang/include/clang/AST/Type.h index ceba2fa0b01..a2308c670bd 100644 --- a/clang/include/clang/AST/Type.h +++ b/clang/include/clang/AST/Type.h @@ -739,13 +739,7 @@ public: }; -/// ... - -// TODO: When we support C++, we should have types for uses of template with -// default parameters. We should be able to distinguish source use of -// 'std::vector<int>' from 'std::vector<int, std::allocator<int> >'. Though they -// specify the same type, we want to print the default argument only if -// specified in the source code. +// Inline function definitions. /// getCanonicalType - Return the canonical version of this type, with the /// appropriate type qualifiers on it. @@ -754,7 +748,30 @@ inline QualType QualType::getCanonicalType() const { getQualifiers() | getTypePtr()->getCanonicalTypeInternal().getQualifiers()); } - + + +inline bool Type::isFunctionType() const { + return isa<FunctionType>(CanonicalType); +} +inline bool Type::isPointerType() const { + return isa<PointerType>(CanonicalType); +} +inline bool Type::isReferenceType() const { + return isa<ReferenceType>(CanonicalType); +} +inline bool Type::isArrayType() const { + return isa<ArrayType>(CanonicalType); +} +inline bool Type::isRecordType() const { + return isa<RecordType>(CanonicalType); +} +inline bool Type::isVectorType() const { + return isa<VectorType>(CanonicalType); +} +inline bool Type::isOCUVectorType() const { + return isa<OCUVectorType>(CanonicalType); +} + } // end namespace clang #endif |

