]> granicus.if.org Git - clang/commitdiff
Push TypeSourceInfo::getTypeLoc() into a header file so that it's
authorJohn McCall <rjmccall@apple.com>
Thu, 6 May 2010 09:25:57 +0000 (09:25 +0000)
committerJohn McCall <rjmccall@apple.com>
Thu, 6 May 2010 09:25:57 +0000 (09:25 +0000)
inlineable.  That header file has to be TypeLoc.h, which means that
TypeLoc.h needs to depend on Decl.h because TypeSourceInfo doesn't
have its own header.  That could be remedied, though.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103176 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/AST/Decl.h
include/clang/AST/TypeLoc.h
lib/AST/Decl.cpp

index 4c95d1da7f8fe1c291312da80c9f794164a6e2c2..2d975853d0fc95ab42d68b2ef12769c0977e89c9 100644 (file)
@@ -55,7 +55,7 @@ public:
   QualType getType() const { return Ty; }
 
   /// \brief Return the TypeLoc wrapper for the type source info.
-  TypeLoc getTypeLoc() const;
+  TypeLoc getTypeLoc() const; // implemented in TypeLoc.h
 };
 
 /// TranslationUnitDecl - The top declaration context.
index 4d0f313c80c6d5f3e8a954023f1ceef05c03d2b8..aeedd0f90af8db6bc3959bff17d846b1ae7c7e2e 100644 (file)
@@ -15,6 +15,7 @@
 #define LLVM_CLANG_AST_TYPELOC_H
 
 #include "clang/AST/Type.h"
+#include "clang/AST/Decl.h"
 #include "clang/AST/TemplateBase.h"
 #include "clang/Basic/Specifiers.h"
 
@@ -140,6 +141,11 @@ private:
   static SourceRange getSourceRangeImpl(TypeLoc TL);
 };
 
+/// \brief Return the TypeLoc for a type source info.
+inline TypeLoc TypeSourceInfo::getTypeLoc() const {
+  return TypeLoc(Ty, (void*)(this + 1));
+}
+
 /// \brief Wrapper of type source information for a type with
 /// no direct quqlaifiers.
 class UnqualTypeLoc : public TypeLoc {
index 0336ca1eaac4d83ee05b8698b75f64e2876402fe..25f5fb7797363af08cafe655d0841d5b2737b9d2 100644 (file)
 
 using namespace clang;
 
-/// \brief Return the TypeLoc wrapper for the type source info.
-TypeLoc TypeSourceInfo::getTypeLoc() const {
-  return TypeLoc(Ty, (void*)(this + 1));
-}
-
 //===----------------------------------------------------------------------===//
 // NamedDecl Implementation
 //===----------------------------------------------------------------------===//