1 /*
2  * The contents of this file are subject to the Mozilla Public License
3  * Version 1.0 (the "License"); you may not use this file except in
4  * compliance with the License. You may obtain a copy of the License at
5  * http://www.mozilla.org/MPL/
6  *
7  * Software distributed under the License is distributed on an "AS IS"
8  * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
9  * License for the specific language governing rights and limitations
10  * under the License.
11  *
12  * The Initial Developer of this code is David Baum.
13  * Portions created by David Baum are Copyright (C) 1998 David Baum.
14  * All Rights Reserved.
15  *
16  * Portions created by John Hansen are Copyright (C) 2005 John Hansen.
17  * All Rights Reserved.
18  *
19  */
20 
21 #ifndef __WhileStmt_h
22 #define __WhileStmt_h
23 
24 #ifndef __Stmt_h
25 #include "Stmt.h"
26 #endif
27 
28 #ifndef __Expr_h
29 #include "Expr.h"
30 #endif
31 
32 class WhileStmt : public ChainStmt
33 {
34 public:
35 			WhileStmt(Expr *c, Stmt *s);
36 			~WhileStmt();
37 
38 	void	EmitActual(Bytecode &b);
39 	Stmt*	CloneActual(Mapping *b) const;
GetExprs(vector<Expr * > & v)40 	virtual void	GetExprs(vector<Expr*> & v) const	{ v.push_back(fCondition); }
41 
42 private:
43 	Expr*	fCondition;
44 };
45 
46 
47 #endif
48