/// PTN_SwitchCase.h
///
/// (c) 2001-2006 Bastian Spiegel <bs@tkscript.de>
///     - distributed under the terms of the GNU general public license (GPL).
///
#ifndef __PTN_SWITCHCASE_H__
#define __PTN_SWITCHCASE_H__


class PTN_SwitchCase : public PTN_Node {
public:
	PTN_SwitchCase *prev;
	PTN_SwitchCase *next;
	PTN_Expr       *expr;
	PTN_Statement  *body;
	Feval           expr_opt;
   sBool           do_break;

public:
	PTN_SwitchCase(void);
	PTN_SwitchCase(PTN_Expr *, PTN_Statement *, sBool _doBreak);
	~PTN_SwitchCase();
	
	sBool semanticCheck  (void);
	////void  eval           (PTN_Env *_env); // is evaluated in PTN_Switch.cpp
	void  subGenCallList (void);
	void  optimize       (void);
	sBool resolveXRef    (void);
};


#endif
