blob: d08b25cec61b30f4420b6781f45627abe82bb0d2 [file] [log] [blame]
Chris Lattnerf42cce72006-10-25 04:09:21 +00001//===--- Stmt.cpp - Statement AST Node Implementation ---------------------===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file was developed by Chris Lattner and is distributed under
6// the University of Illinois Open Source License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9//
10// This file implements the Stmt class and statement subclasses.
11//
12//===----------------------------------------------------------------------===//
13
14#include "clang/AST/Stmt.h"
15#include "clang/AST/Expr.h"
Chris Lattner5e9a8782006-11-04 06:21:51 +000016#include "clang/AST/StmtVisitor.h"
Chris Lattnerf42cce72006-10-25 04:09:21 +000017using namespace llvm;
18using namespace clang;
19
Chris Lattner9ea960a2006-11-04 07:16:04 +000020#define MAKE_VISITOR(CLASS) \
21void CLASS::visit(StmtVisitor &V) { return V.Visit##CLASS(this); }
Chris Lattnere5cca062006-10-25 04:29:46 +000022
Chris Lattner9ea960a2006-11-04 07:16:04 +000023MAKE_VISITOR(Stmt)
24MAKE_VISITOR(CompoundStmt)
25MAKE_VISITOR(IfStmt)
Chris Lattner85ed8732006-11-04 20:40:44 +000026MAKE_VISITOR(WhileStmt)
27MAKE_VISITOR(DoStmt)
Chris Lattner71e23ce2006-11-04 20:18:38 +000028MAKE_VISITOR(ForStmt)
Chris Lattner9ea960a2006-11-04 07:16:04 +000029MAKE_VISITOR(ReturnStmt)
Chris Lattner5e9a8782006-11-04 06:21:51 +000030
Chris Lattner9ea960a2006-11-04 07:16:04 +000031#undef MAKE_VISITOR