/external/clang/include/clang/AST/ |
StmtVisitor.h | 1 //===--- StmtVisitor.h - Visitor for Stmt subclasses ------------*- C++ -*-===// 27 /// StmtVisitorBase - This class implements a simple visitor for Stmt 28 /// subclasses. Since Expr derives from Stmt, this also includes support for 38 RetTy Visit(PTR(Stmt) S) { 41 // optimizer (e.g. LLVM) will fold this comparison into the switch stmt 98 // Top switch stmt: dispatch to VisitFooStmt for each FooStmt. 100 default: llvm_unreachable("Unknown stmt kind!"); 101 #define ABSTRACT_STMT(STMT) 102 #define STMT(CLASS, PARENT) \ 103 case Stmt::CLASS ## Class: DISPATCH(CLASS, CLASS) [all...] |
RecursiveASTVisitor.h | 26 #include "clang/AST/Stmt.h" 82 /// the node's dynamic type, until the top-most class (e.g. Stmt, 94 /// TraverseStmt(Stmt *x) and TraverseType(QualType x) work 157 bool shouldUseDataRecursionFor(Stmt *S) const { 167 bool TraverseStmt(Stmt *S); 249 // Declare Traverse*() for all concrete Stmt classes. 250 #define ABSTRACT_STMT(STMT) 251 #define STMT(CLASS, PARENT) \ 254 // The above header #undefs ABSTRACT_STMT and STMT upon exit. 256 // Define WalkUpFrom*() and empty Visit*() for all Stmt classes [all...] |
Stmt.h | 1 //===--- Stmt.h - Classes for representing statements -----------*- C++ -*-===// 10 // This file defines the Stmt interface and subclasses. 47 // ExprIterator - Iterators for iterating over Stmt* arrays that contain 48 // only Expr*. This is needed because AST nodes use Stmt* arrays to store 52 class Stmt; 56 Stmt** I; 58 ExprIterator(Stmt** i) : I(i) {} 75 const Stmt * const *I; 77 ConstExprIterator(const Stmt * const *i) : I(i) {} 96 /// Stmt - This represents one statement [all...] |
/external/clang/lib/AST/ |
ExprClassification.cpp | 108 case Stmt::NoStmtClass: 110 #define STMT(Kind, Base) case Expr::Kind##Class:
|
Stmt.cpp | 1 //===--- Stmt.cpp - Statement AST Node Implementation ---------------------===// 10 // This file implements the Stmt class and statement subclasses. 14 #include "clang/AST/Stmt.h" 31 } StmtClassInfo[Stmt::lastStmtConstant+1]; 33 static StmtClassNameTable &getStmtInfoTableEntry(Stmt::StmtClass E) { 40 #define ABSTRACT_STMT(STMT) 41 #define STMT(CLASS, PARENT) \ 42 StmtClassInfo[(unsigned)Stmt::CLASS##Class].Name = #CLASS; \ 43 StmtClassInfo[(unsigned)Stmt::CLASS##Class].Size = sizeof(CLASS); 49 const char *Stmt::getStmtClassName() const [all...] |
StmtProfile.cpp | 1 //===---- StmtProfile.cpp - Profile implementation for Stmt ASTs ----------===// 10 // This file implements the Stmt::Profile method, which builds a unique bit 36 void VisitStmt(const Stmt *S); 38 #define STMT(Node, Base) void Visit##Node(const Node *S); 70 void StmtProfiler::VisitStmt(const Stmt *S) { 72 for (Stmt::const_child_range C = S->children(); C; ++C) { 499 static Stmt::StmtClass DecodeOperatorCall(const CXXOperatorCallExpr *S, 517 return Stmt::UnaryOperatorClass; 521 return Stmt::BinaryOperatorClass; 526 return Stmt::UnaryOperatorClass [all...] |
Expr.cpp | 113 // See also Stmt.cpp:{getLocStart(),getLocEnd()}. 136 case Stmt::NoStmtClass: llvm_unreachable("statement without class"); 138 #define STMT(type, base) \ 139 case Stmt::type##Class: llvm_unreachable(#type " is not an Expr"); break; 141 case Stmt::type##Class: return getExprLocImpl<type>(this, &type::getExprLoc); [all...] |
ItaniumMangle.cpp | [all...] |
StmtPrinter.cpp | 1 //===--- StmtPrinter.cpp - Printing implementation for Stmt ASTs ----------===// 10 // This file implements the Stmt::dumpPretty/Stmt::printPretty methods, which 43 void PrintStmt(Stmt *S) { 47 void PrintStmt(Stmt *S, int SubIndent) { 50 // If this is an expr used in a stmt context, indent and newline it. 84 void Visit(Stmt* S) { 90 void VisitStmt(Stmt *Node) LLVM_ATTRIBUTE_UNUSED { 91 Indent() << "<<unknown stmt type>>\n"; 99 #define STMT(CLASS, PARENT) [all...] |
ExprConstant.cpp | [all...] |
/external/clang/lib/Sema/ |
SemaExceptionSpec.cpp | [all...] |
TreeTransform.h | 28 #include "clang/AST/Stmt.h" 133 static inline StmtResult Owned(Stmt *S) { return S; } 314 StmtResult TransformStmt(Stmt *S); 528 TransformSEHHandler(Stmt *Handler); 577 #define STMT(Node, Parent) \ 581 #define ABSTRACT_STMT(Stmt) [all...] |
/external/clang/tools/libclang/ |
RecursiveASTVisitor.h | 26 #include "clang/AST/Stmt.h" 83 /// the node's dynamic type, until the top-most class (e.g. Stmt, 95 /// TraverseStmt(Stmt *x) and TraverseType(QualType x) work 160 bool TraverseStmt(Stmt *S); 242 // Declare Traverse*() for all concrete Stmt classes. 243 #define ABSTRACT_STMT(STMT) 244 #define STMT(CLASS, PARENT) \ 247 // The above header #undefs ABSTRACT_STMT and STMT upon exit. 249 // Define WalkUpFrom*() and empty Visit*() for all Stmt classes. 250 bool WalkUpFromStmt(Stmt *S) { return getDerived().VisitStmt(S); [all...] |
/external/clang/lib/CodeGen/ |
CGStmt.cpp | 10 // This contains code to emit Stmt nodes as LLVM code. 32 void CodeGenFunction::EmitStopPoint(const Stmt *S) { 43 void CodeGenFunction::EmitStmt(const Stmt *S) { 72 case Stmt::NoStmtClass: 73 case Stmt::CXXCatchStmtClass: 74 case Stmt::SEHExceptStmtClass: 75 case Stmt::SEHFinallyStmtClass: 76 case Stmt::MSDependentExistsStmtClass: 78 case Stmt::NullStmtClass: 79 case Stmt::CompoundStmtClass [all...] |
/external/clang/lib/Serialization/ |
ASTReaderStmt.cpp | 1 //===--- ASTReaderStmt.cpp - Stmt/Expr Deserialization ----------*- C++ -*-===// 76 /// \brief The number of record fields required for the Stmt class 91 void VisitStmt(Stmt *S); 92 #define STMT(Type, Base) \ 111 void ASTStmtReader::VisitStmt(Stmt *S) { 123 SmallVector<Stmt *, 16> Stmts; 306 SmallVector<Stmt*, 16> Exprs; 430 E->Exprs = new (Reader.getContext()) Stmt*[NumExprs]; 523 assert(E->getStmtClass() == Stmt::MemberExprClass && 779 new(Reader.getContext()) Stmt*[GenericSelectionExpr::END_EXPR+E->NumAssocs] [all...] |
ASTWriterStmt.cpp | 41 void VisitStmt(Stmt *S); 42 #define STMT(Type, Base) \ 57 void ASTStmtWriter::VisitStmt(Stmt *S) { [all...] |