#include <behaviorstatement.h>
Inheritance diagram for BehaviorStatement:
Public Member Functions | |
BehaviorStatement (SrcPosition *position, Identifier *behavior, Identifier *function, ExpressionList *expressionList) | |
BehaviorStatement (const BehaviorStatement &behaviorStatement) | |
virtual | ~BehaviorStatement () |
ExpressionList * | getExpressionList () |
Identifier * | getBehavior () |
Identifier * | getFunction () |
virtual Ast & | operator= (const Ast &ast) |
virtual bool | operator== (const Ast &ast) const |
virtual VisitorReturn * | visit (Visitor &visitor) |
virtual Ast & | clone () const |
Private Attributes | |
Identifier * | behavior |
Identifier * | function |
ExpressionList * | expressionList |
|
Definition at line 15 of file behaviorstatement.h. Referenced by clone().
00016 : SimpleStatement(position), behavior(behavior), function(function), expressionList(expressionList) {} |
|
Definition at line 18 of file behaviorstatement.h. References Ast::position.
00018 : SimpleStatement(behaviorStatement.position) { 00019 *(this) = behaviorStatement; 00020 } |
|
Definition at line 22 of file behaviorstatement.h.
00022 { 00023 delete this->expressionList; 00024 } |
|
Implements Ast. Definition at line 45 of file behaviorstatement.h. References BehaviorStatement(), Ast::clone(), and Identifier::clone().
00045 { 00046 return *(new BehaviorStatement(new SrcPosition(*(this->position)), 00047 this->behavior ? dynamic_cast<Identifier*>(&(this->behavior->clone())) : 0, 00048 this->function ? dynamic_cast<Identifier*>(&(this->function->clone())) : 0, 00049 this->expressionList ? dynamic_cast<ExpressionList*>(&(this->expressionList->clone())) : 0)); 00050 } |
|
Definition at line 30 of file behaviorstatement.h. Referenced by TypeCheckerVisitor::visitBehaviorStatement().
00030 { 00031 return this->behavior; 00032 } |
|
Definition at line 26 of file behaviorstatement.h. Referenced by TypeCheckerVisitor::visitBehaviorStatement().
00026 { 00027 return this->expressionList; 00028 } |
|
Definition at line 34 of file behaviorstatement.h.
00034 { 00035 return this->function; 00036 } |
|
Reimplemented from SimpleStatement. Definition at line 5 of file behaviorstatement.cpp. References behavior, Ast::clone(), Identifier::clone(), expressionList, function, and Ast::operator=().
00005 { 00006 const BehaviorStatement& behaviorStatement = dynamic_cast<const BehaviorStatement&>(ast); 00007 00008 Ast::operator=(ast); 00009 this->behavior = behaviorStatement.behavior ? dynamic_cast<Identifier*>(&(behaviorStatement.behavior->clone())) : 0; 00010 this->function = behaviorStatement.function ? dynamic_cast<Identifier*>(&(behaviorStatement.function->clone())) : 0; 00011 this->expressionList = behaviorStatement.expressionList ? dynamic_cast<ExpressionList*>(&(behaviorStatement.expressionList->clone())) : 0; 00012 00013 return *(this); 00014 } |
|
Reimplemented from SimpleStatement. Definition at line 16 of file behaviorstatement.cpp. References behavior, expressionList, and function.
00016 { 00017 bool result = false; 00018 const BehaviorStatement& behaviorStatement = dynamic_cast<const BehaviorStatement&>(ast); 00019 00020 if (typeid(ast) != typeid(BehaviorStatement)) 00021 return false; 00022 00023 if (this->expressionList && this->behavior && this->function) 00024 result = (*(this->expressionList) == *(behaviorStatement.expressionList) && 00025 *(this->behavior) == *(behaviorStatement.behavior) && 00026 *(this->function) == *(behaviorStatement.function)); 00027 00028 return result; 00029 } |
|
Implements Ast. Definition at line 41 of file behaviorstatement.h. References Visitor::visitBehaviorStatement().
00041 { 00042 return visitor.visitBehaviorStatement(this); 00043 } |
|
Definition at line 10 of file behaviorstatement.h. Referenced by operator=(), and operator==(). |
|
Definition at line 12 of file behaviorstatement.h. Referenced by operator=(), and operator==(). |
|
Definition at line 11 of file behaviorstatement.h. Referenced by operator=(), and operator==(). |