#include <simplearrayreference.h>
Inheritance diagram for SimpleArrayReference:
Public Member Functions | |
SimpleArrayReference (SrcPosition *position, Identifier *identifier, Expression *expression) | |
SimpleArrayReference (const SimpleArrayReference &simpleArrayReference) | |
virtual | ~SimpleArrayReference () |
Identifier * | getIdentifier () |
Expression * | getExpression () |
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 * | identifier |
Expression * | expression |
|
Definition at line 14 of file simplearrayreference.h. Referenced by clone().
00015 : ArrayReference(position), Ast(position), identifier(identifier), expression(expression) {} |
|
Definition at line 17 of file simplearrayreference.h. References Ast::position.
00017 : ArrayReference(simpleArrayReference.position), Ast(position) { 00018 *(this) = simpleArrayReference; 00019 } |
|
Definition at line 21 of file simplearrayreference.h.
00021 { 00022 delete this->identifier; 00023 delete this->expression; 00024 } |
|
Implements Ast. Definition at line 41 of file simplearrayreference.h. References Ast::clone(), and SimpleArrayReference().
00041 { 00042 return *(new SimpleArrayReference(new SrcPosition(*(this->position)), 00043 this->identifier ? dynamic_cast<Identifier*>(&(this->identifier->clone())) : 0, 00044 this->expression ? dynamic_cast<Expression*>(&(this->expression->clone())) : 0)); 00045 } |
|
Definition at line 30 of file simplearrayreference.h. Referenced by TypeCheckerVisitor::visitSimpleArrayReference().
00030 { 00031 return this->expression; 00032 } |
|
Definition at line 26 of file simplearrayreference.h. Referenced by TypeCheckerVisitor::visitSimpleArrayReference().
00026 { 00027 return this->identifier; 00028 } |
|
Reimplemented from ArrayReference. Definition at line 5 of file simplearrayreference.cpp. References Ast::clone(), Identifier::clone(), expression, identifier, and ArrayReference::operator=().
00005 { 00006 const SimpleArrayReference& simpleArrayReference = dynamic_cast<const SimpleArrayReference&>(ast); 00007 00008 ArrayReference::operator=(ast); 00009 this->identifier = simpleArrayReference.identifier ? dynamic_cast<Identifier*>(&(simpleArrayReference.identifier->clone())) : 0; 00010 this->expression = simpleArrayReference.expression ? dynamic_cast<Expression*>(&(simpleArrayReference.expression->clone())) : 0; 00011 00012 return *(this); 00013 } |
|
Reimplemented from ArrayReference. Definition at line 15 of file simplearrayreference.cpp. References expression, identifier, and ArrayReference::operator==().
00015 { 00016 bool result = false; 00017 const SimpleArrayReference& simpleArrayReference = dynamic_cast<const SimpleArrayReference&>(ast); 00018 00019 if (typeid(ast) != typeid(SimpleArrayReference)) 00020 return false; 00021 00022 if (this->identifier && this->expression) 00023 result = (*(this->identifier) == *(simpleArrayReference.identifier) && 00024 *(this->expression) == *(simpleArrayReference.expression)); 00025 00026 return result && ArrayReference::operator==(ast); 00027 } |
|
Implements Ast. Definition at line 37 of file simplearrayreference.h. References Visitor::visitSimpleArrayReference().
00037 { 00038 return visitor.visitSimpleArrayReference(this); 00039 } |
|
Definition at line 11 of file simplearrayreference.h. Referenced by operator=(), and operator==(). |
|
Definition at line 10 of file simplearrayreference.h. Referenced by operator=(), and operator==(). |