00001 #ifndef STOP_STATEMENT_H 00002 #define STOP_STATEMENT_H 00003 00004 #include "simplestatement.h" 00005 00006 class StopStatement : public SimpleStatement { 00007 private: 00008 00009 public: 00010 StopStatement(SrcPosition *position) 00011 : SimpleStatement(position) {} 00012 00013 virtual ~StopStatement() { 00014 } 00015 00016 virtual Ast& operator = (const Ast& ast) { 00017 Ast::operator=(ast); 00018 return *(this); 00019 } 00020 virtual bool operator == (const Ast& ast) const { 00021 return Ast::operator==(ast); 00022 } 00023 00024 virtual VisitorReturn *visit(Visitor &visitor) { 00025 return visitor.visitStopStatement(this); 00026 } 00027 00028 virtual Ast &clone() const{ 00029 return *(new StopStatement(new SrcPosition(*position))); 00030 } 00031 }; 00032 00033 #endif