]> granicus.if.org Git - clang/commitdiff
Be a bit more consistent in using operator->
authorRafael Espindola <rafael.espindola@gmail.com>
Mon, 29 Mar 2010 03:39:46 +0000 (03:39 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Mon, 29 Mar 2010 03:39:46 +0000 (03:39 +0000)
This patch moves some methods from QualType to Type and changes the users to
use -> instead of .

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

include/clang/AST/Type.h
lib/AST/ASTContext.cpp
lib/Analysis/CFG.cpp
lib/Checker/NoReturnFunctionChecker.cpp
lib/Sema/AnalysisBasedWarnings.cpp

index f59456edf84a76db6b4ed9faafab8c1d353ceefc..e9368e8866d484277f86cd6aed19c4127737b9cd 100644 (file)
@@ -678,14 +678,6 @@ public:
     return getObjCGCAttr() == Qualifiers::Strong;
   }
 
-  /// getNoReturnAttr - Returns true if the type has the noreturn attribute,
-  /// false otherwise.
-  bool getNoReturnAttr() const;
-
-  /// getCallConv - Returns the calling convention of the type if the type
-  /// is a function type, CC_Default otherwise.
-  CallingConv getCallConv() const;
-
 private:
   // These methods are implemented in a separate translation unit;
   // "static"-ize them to avoid creating temporary QualTypes in the
@@ -946,6 +938,14 @@ public:
   /// pointer, this returns the respective pointee.
   QualType getPointeeType() const;
 
+  /// getNoReturnAttr - Returns true if the type has the noreturn attribute,
+  /// false otherwise.
+  bool getNoReturnAttr() const;
+
+  /// getCallConv - Returns the calling convention of the type if the type
+  /// is a function type, CC_Default otherwise.
+  CallingConv getCallConv() const;
+
   /// getUnqualifiedDesugaredType() - Return the specified type with
   /// any "sugar" removed from the type, removing any typedefs,
   /// typeofs, etc., as well as any qualifiers.
@@ -2938,12 +2938,11 @@ inline Qualifiers::GC QualType::getObjCGCAttr() const {
 
   /// getNoReturnAttr - Returns true if the type has the noreturn attribute,
   /// false otherwise.
-inline bool QualType::getNoReturnAttr() const {
-  QualType CT = getTypePtr()->getCanonicalTypeInternal();
-  if (const PointerType *PT = getTypePtr()->getAs<PointerType>()) {
+inline bool Type::getNoReturnAttr() const {
+  if (const PointerType *PT = getAs<PointerType>()) {
     if (const FunctionType *FT = PT->getPointeeType()->getAs<FunctionType>())
       return FT->getNoReturnAttr();
-  } else if (const FunctionType *FT = getTypePtr()->getAs<FunctionType>())
+  } else if (const FunctionType *FT = getAs<FunctionType>())
     return FT->getNoReturnAttr();
 
   return false;
@@ -2951,19 +2950,19 @@ inline bool QualType::getNoReturnAttr() const {
 
 /// getCallConv - Returns the calling convention of the type if the type
 /// is a function type, CC_Default otherwise.
-inline CallingConv QualType::getCallConv() const {
-  if (const PointerType *PT = getTypePtr()->getAs<PointerType>())
-    return PT->getPointeeType().getCallConv();
-  else if (const ReferenceType *RT = getTypePtr()->getAs<ReferenceType>())
-    return RT->getPointeeType().getCallConv();
+inline CallingConv Type::getCallConv() const {
+  if (const PointerType *PT = getAs<PointerType>())
+    return PT->getPointeeType()->getCallConv();
+  else if (const ReferenceType *RT = getAs<ReferenceType>())
+    return RT->getPointeeType()->getCallConv();
   else if (const MemberPointerType *MPT =
-           getTypePtr()->getAs<MemberPointerType>())
-    return MPT->getPointeeType().getCallConv();
+           getAs<MemberPointerType>())
+    return MPT->getPointeeType()->getCallConv();
   else if (const BlockPointerType *BPT =
-           getTypePtr()->getAs<BlockPointerType>()) {
+           getAs<BlockPointerType>()) {
     if (const FunctionType *FT = BPT->getPointeeType()->getAs<FunctionType>())
       return FT->getCallConv();
-  } else if (const FunctionType *FT = getTypePtr()->getAs<FunctionType>())
+  } else if (const FunctionType *FT = getAs<FunctionType>())
     return FT->getCallConv();
 
   return CC_Default;
index 7f2e35b263bcdb6eb590eddd2e42088a3fcd4de3..f8f626a1e4d9aef811cda4835cdda99ecb84f16d 100644 (file)
@@ -1144,11 +1144,11 @@ static QualType getNoReturnCallConvType(ASTContext& Context, QualType T,
 }
 
 QualType ASTContext::getNoReturnType(QualType T, bool AddNoReturn) {
-  return getNoReturnCallConvType(*this, T, AddNoReturn, T.getCallConv());
+  return getNoReturnCallConvType(*this, T, AddNoReturn, T->getCallConv());
 }
 
 QualType ASTContext::getCallConvType(QualType T, CallingConv CallConv) {
-  return getNoReturnCallConvType(*this, T, T.getNoReturnAttr(), CallConv);
+  return getNoReturnCallConvType(*this, T, T->getNoReturnAttr(), CallConv);
 }
 
 /// getComplexType - Return the uniqued reference to the type for a complex
index a4a021f20b21caf0bf848bf9e26ed8c884161480..e93ddb34ca29ce0d7b73a9e392a55a3f8e813829 100644 (file)
@@ -571,7 +571,7 @@ static bool CanThrow(Expr *E) {
 CFGBlock *CFGBuilder::VisitCallExpr(CallExpr *C, AddStmtChoice asc) {
   // If this is a call to a no-return function, this stops the block here.
   bool NoReturn = false;
-  if (C->getCallee()->getType().getNoReturnAttr()) {
+  if (C->getCallee()->getType()->getNoReturnAttr()) {
     NoReturn = true;
   }
 
index 80fea99c36cd71a116d1bd3c2b5fe6abe81a43c9..1a902dc2d84591ac0bb99e9d6e74775b1bd6a384 100644 (file)
@@ -37,7 +37,7 @@ void NoReturnFunctionChecker::PostVisitCallExpr(CheckerContext &C,
   const GRState *state = C.getState();
   const Expr *Callee = CE->getCallee();
 
-  bool BuildSinks = Callee->getType().getNoReturnAttr();
+  bool BuildSinks = Callee->getType()->getNoReturnAttr();
 
   if (!BuildSinks) {
     SVal L = state->getSVal(Callee);
index 45b08db7e124945f2e84d71cd6312b5ca2e97335..8b79e03ea8b5cf153274e6f3a14434b7d5415abc 100644 (file)
@@ -154,7 +154,7 @@ static ControlFlowKind CheckFallThrough(AnalysisContext &AC) {
         continue;
       }
       Expr *CEE = C->getCallee()->IgnoreParenCasts();
-      if (CEE->getType().getNoReturnAttr()) {
+      if (CEE->getType()->getNoReturnAttr()) {
         NoReturnEdge = true;
         HasFakeEdge = true;
       } else if (DeclRefExpr *DRE = dyn_cast<DeclRefExpr>(CEE)) {