]> granicus.if.org Git - clang/commitdiff
Refactored "getSubStmt" and "SubStmt" from the CaseStmt and DefaultStmt
authorTed Kremenek <kremenek@apple.com>
Thu, 23 Aug 2007 18:04:38 +0000 (18:04 +0000)
committerTed Kremenek <kremenek@apple.com>
Thu, 23 Aug 2007 18:04:38 +0000 (18:04 +0000)
class to their common parent class SwitchCase.

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

include/clang/AST/Stmt.h

index 7eefd7fc566a5ac8dc2117408126e70d5b995a71..bfae638133cb6bd5a569bfcd5155d95c6b14409b 100644 (file)
@@ -145,8 +145,10 @@ class SwitchCase : public Stmt {
   // A pointer to the following CaseStmt or DefaultStmt class,
   // used by SwitchStmt.
   SwitchCase *NextSwitchCase;
+  Stmt *SubStmt;
 protected:
-  SwitchCase(StmtClass SC) : Stmt(SC), NextSwitchCase(0) {}
+  SwitchCase(StmtClass SC, Stmt* substmt) : Stmt(SC), NextSwitchCase(0),
+                                            SubStmt(substmt) {}
   
 public:
   const SwitchCase *getNextSwitchCase() const { return NextSwitchCase; }
@@ -155,6 +157,8 @@ public:
 
   void setNextSwitchCase(SwitchCase *SC) { NextSwitchCase = SC; }
   
+  Stmt *getSubStmt() { return SubStmt; }
+  
   static bool classof(const Stmt *T) { 
     return T->getStmtClass() == CaseStmtClass || 
     T->getStmtClass() == DefaultStmtClass;
@@ -165,14 +169,12 @@ public:
 class CaseStmt : public SwitchCase {
   Expr *LHSVal;
   Expr *RHSVal;  // Non-null for GNU "case 1 ... 4" extension
-  Stmt *SubStmt;
 public:
   CaseStmt(Expr *lhs, Expr *rhs, Stmt *substmt) 
-    : SwitchCase(CaseStmtClass), LHSVal(lhs), RHSVal(rhs), SubStmt(substmt) {}
+    : SwitchCase(CaseStmtClass,substmt), LHSVal(lhs), RHSVal(rhs) {}
   
   Expr *getLHS() { return LHSVal; }
   Expr *getRHS() { return RHSVal; }
-  Stmt *getSubStmt() { return SubStmt; }
 
   static bool classof(const Stmt *T) { 
     return T->getStmtClass() == CaseStmtClass; 
@@ -182,13 +184,11 @@ public:
 
 class DefaultStmt : public SwitchCase {
   SourceLocation DefaultLoc;
-  Stmt *SubStmt;
 public:
-  DefaultStmt(SourceLocation DL, Stmt *substmt) : SwitchCase(DefaultStmtClass), 
-    DefaultLoc(DL), SubStmt(substmt) {}
+  DefaultStmt(SourceLocation DL, Stmt *substmt) : 
+    SwitchCase(DefaultStmtClass,substmt), DefaultLoc(DL) {}
   
   SourceLocation getDefaultLoc() const { return DefaultLoc; }
-  Stmt *getSubStmt() { return SubStmt; }
 
   static bool classof(const Stmt *T) { 
     return T->getStmtClass() == DefaultStmtClass;