Lines Matching refs:STMT
1 //===---- StmtProfile.cpp - Profile implementation for Stmt ASTs ----------===//
10 // This file implements the Stmt::Profile method, which builds a unique bit
37 void VisitStmt(const Stmt *S);
39 #define STMT(Node, Base) void Visit##Node(const Node *S);
71 void StmtProfiler::VisitStmt(const Stmt *S) {
73 for (const Stmt *SubStmt : S->children()) {
884 static Stmt::StmtClass DecodeOperatorCall(const CXXOperatorCallExpr *S,
903 return Stmt::UnaryOperatorClass;
907 return Stmt::BinaryOperatorClass;
912 return Stmt::UnaryOperatorClass;
916 return Stmt::BinaryOperatorClass;
921 return Stmt::UnaryOperatorClass;
925 return Stmt::BinaryOperatorClass;
929 return Stmt::BinaryOperatorClass;
933 return Stmt::BinaryOperatorClass;
937 return Stmt::BinaryOperatorClass;
942 return Stmt::UnaryOperatorClass;
946 return Stmt::BinaryOperatorClass;
950 return Stmt::BinaryOperatorClass;
954 return Stmt::UnaryOperatorClass;
958 return Stmt::UnaryOperatorClass;
962 return Stmt::BinaryOperatorClass;
966 return Stmt::BinaryOperatorClass;
970 return Stmt::BinaryOperatorClass;
974 return Stmt::CompoundAssignOperatorClass;
978 return Stmt::CompoundAssignOperatorClass;
982 return Stmt::CompoundAssignOperatorClass;
986 return Stmt::CompoundAssignOperatorClass;
990 return Stmt::CompoundAssignOperatorClass;
994 return Stmt::CompoundAssignOperatorClass;
998 return Stmt::CompoundAssignOperatorClass;
1002 return Stmt::CompoundAssignOperatorClass;
1006 return Stmt::BinaryOperatorClass;
1010 return Stmt::BinaryOperatorClass;
1014 return Stmt::CompoundAssignOperatorClass;
1018 return Stmt::CompoundAssignOperatorClass;
1022 return Stmt::BinaryOperatorClass;
1026 return Stmt::BinaryOperatorClass;
1030 return Stmt::BinaryOperatorClass;
1034 return Stmt::BinaryOperatorClass;
1038 return Stmt::BinaryOperatorClass;
1042 return Stmt::BinaryOperatorClass;
1047 return Stmt::UnaryOperatorClass;
1052 return Stmt::UnaryOperatorClass;
1056 return Stmt::BinaryOperatorClass;
1060 return Stmt::BinaryOperatorClass;
1063 return Stmt::ArraySubscriptExprClass;
1075 Stmt::StmtClass SC = DecodeOperatorCall(S, UnaryOp, BinaryOp);
1080 if (SC == Stmt::UnaryOperatorClass)
1082 else if (SC == Stmt::BinaryOperatorClass ||
1083 SC == Stmt::CompoundAssignOperatorClass)
1086 assert(SC == Stmt::ArraySubscriptExprClass);
1633 void Stmt::Profile(llvm::FoldingSetNodeID &ID, const ASTContext &Context,