/external/clang/include/clang/AST/ |
ASTFwd.h | 20 class Stmt; 21 #define STMT(DERIVED, BASE) class DERIVED;
|
StmtVisitor.h | 1 //===--- StmtVisitor.h - Visitor for Stmt subclasses ------------*- C++ -*-===// 28 /// StmtVisitorBase - This class implements a simple visitor for Stmt 29 /// subclasses. Since Expr derives from Stmt, this also includes support for 39 RetTy Visit(PTR(Stmt) S) { 42 // optimizer (e.g. LLVM) will fold this comparison into the switch stmt 99 // Top switch stmt: dispatch to VisitFooStmt for each FooStmt. 101 default: llvm_unreachable("Unknown stmt kind!"); 102 #define ABSTRACT_STMT(STMT) 103 #define STMT(CLASS, PARENT) \ 104 case Stmt::CLASS ## Class: DISPATCH(CLASS, CLASS) [all...] |
ASTTypeTraits.h | 22 #include "clang/AST/Stmt.h" 72 #define STMT(DERIVED, BASE) NKI_##DERIVED, 117 KIND_TO_KIND_ID(Stmt) 121 #define STMT(DERIVED, BASE) KIND_TO_KIND_ID(DERIVED) 153 /// (like \c Stmt, \c Decl, \c Type and \c NestedNameSpecifier) the returned 176 /// only Stmt, Decl, Type and NestedNameSpecifier return memoization data). 258 Decl *, Stmt *, Type *, NestedNameSpecifier *, CXXCtorInitializer *> 273 Stmt, T> >::type> : public DynCastPtrConverter<T, Stmt> {}; 318 } else if (ASTNodeKind::getFromNodeKind<Stmt>().isBaseOf(NodeKind)) [all...] |
RecursiveASTVisitor.h | 27 #include "clang/AST/Stmt.h" 84 /// the node's dynamic type, until the top-most class (e.g. Stmt, 96 /// TraverseStmt(Stmt *x) and TraverseType(QualType x) work 159 bool shouldUseDataRecursionFor(Stmt *S) const { 169 bool TraverseStmt(Stmt *S); 259 // Declare Traverse*() for all concrete Stmt classes. 260 #define ABSTRACT_STMT(STMT) 261 #define STMT(CLASS, PARENT) \ 264 // The above header #undefs ABSTRACT_STMT and STMT upon exit. 266 // 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. 53 // ExprIterator - Iterators for iterating over Stmt* arrays that contain 54 // only Expr*. This is needed because AST nodes use Stmt* arrays to store 58 class Stmt; 62 Stmt** I; 64 ExprIterator(Stmt** i) : I(i) {} 81 const Stmt * const *I; 83 ConstExprIterator(const Stmt * const *i) : I(i) {} 102 /// Stmt - This represents one statement [all...] |
/external/clang/lib/AST/ |
ASTTypeTraits.cpp | 32 { NKI_None, "Stmt" }, 33 #define STMT(DERIVED, BASE) { NKI_##BASE, #DERIVED },
|
ExprClassification.cpp | 107 case Stmt::NoStmtClass: 109 #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. 18 #include "clang/AST/Stmt.h" 34 } StmtClassInfo[Stmt::lastStmtConstant+1]; 36 static StmtClassNameTable &getStmtInfoTableEntry(Stmt::StmtClass E) { 43 #define ABSTRACT_STMT(STMT) 44 #define STMT(CLASS, PARENT) \ 45 StmtClassInfo[(unsigned)Stmt::CLASS##Class].Name = #CLASS; \ 46 StmtClassInfo[(unsigned)Stmt::CLASS##Class].Size = sizeof(CLASS); 52 void *Stmt::operator new(size_t bytes, ASTContext& C [all...] |
Expr.cpp | 200 // See also Stmt.cpp:{getLocStart(),getLocEnd()}. 223 case Stmt::NoStmtClass: llvm_unreachable("statement without class"); 225 #define STMT(type, base) \ 226 case Stmt::type##Class: llvm_unreachable(#type " is not an Expr"); break; 228 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 46 void PrintStmt(Stmt *S) { 50 void PrintStmt(Stmt *S, int SubIndent) { 53 // If this is an expr used in a stmt context, indent and newline it. 87 void Visit(Stmt* S) { 93 void VisitStmt(Stmt *Node) LLVM_ATTRIBUTE_UNUSED { 94 Indent() << "<<unknown stmt type>>\n"; 102 #define STMT(CLASS, PARENT) [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) { 537 static Stmt::StmtClass DecodeOperatorCall(const CXXOperatorCallExpr *S, 555 return Stmt::UnaryOperatorClass; 559 return Stmt::BinaryOperatorClass; 564 return Stmt::UnaryOperatorClass [all...] |
/external/clang/lib/Sema/ |
SemaExceptionSpec.cpp | [all...] |
TreeTransform.h | 24 #include "clang/AST/Stmt.h" 134 static inline StmtResult Owned(Stmt *S) { return S; } 315 StmtResult TransformStmt(Stmt *S); 548 TransformSEHHandler(Stmt *Handler); 601 #define STMT(Node, Parent) \ 605 #define ABSTRACT_STMT(Stmt) [all...] |
/external/clang/tools/libclang/ |
RecursiveASTVisitor.h | 27 #include "clang/AST/Stmt.h" 85 /// the node's dynamic type, until the top-most class (e.g. Stmt, 97 /// TraverseStmt(Stmt *x) and TraverseType(QualType x) work 162 bool TraverseStmt(Stmt *S); 244 // Declare Traverse*() for all concrete Stmt classes. 245 #define ABSTRACT_STMT(STMT) 246 #define STMT(CLASS, PARENT) \ 249 // The above header #undefs ABSTRACT_STMT and STMT upon exit. 251 // Define WalkUpFrom*() and empty Visit*() for all Stmt classes. 252 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. 34 void CodeGenFunction::EmitStopPoint(const Stmt *S) { 44 void CodeGenFunction::EmitStmt(const Stmt *S) { 73 case Stmt::NoStmtClass: 74 case Stmt::CXXCatchStmtClass: 75 case Stmt::SEHExceptStmtClass: 76 case Stmt::SEHFinallyStmtClass: 77 case Stmt::MSDependentExistsStmtClass: 78 case Stmt::OMPParallelDirectiveClass: 80 case Stmt::NullStmtClass [all...] |
/external/clang/lib/Serialization/ |
ASTWriterStmt.cpp | 44 void VisitStmt(Stmt *S); 45 #define STMT(Type, Base) \ 60 void ASTStmtWriter::VisitStmt(Stmt *S) { [all...] |
ASTReaderStmt.cpp | 1 //===--- ASTReaderStmt.cpp - Stmt/Expr Deserialization ----------*- C++ -*-===// 86 /// \brief The number of record fields required for the Stmt class 101 void VisitStmt(Stmt *S); 102 #define STMT(Type, Base) \ 121 void ASTStmtReader::VisitStmt(Stmt *S) { 133 SmallVector<Stmt *, 16> Stmts; 321 SmallVector<Stmt*, 16> Exprs; 466 E->setRawSemantics(static_cast<Stmt::APFloatSemantics>(Record[Idx++])); 515 E->Exprs = new (Reader.getContext()) Stmt*[NumExprs]; 608 assert(E->getStmtClass() == Stmt::MemberExprClass & [all...] |