Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members  

ReceiveStatement Class Reference

#include <receivestatement.h>

Inheritance diagram for ReceiveStatement:

Inheritance graph
[legend]
Collaboration diagram for ReceiveStatement:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 ReceiveStatement (SrcPosition *position, Identifier *msgId, Identifier *addrId, bool tcp)
 ReceiveStatement (const ReceiveStatement &receiveStatement)
virtual ~ReceiveStatement ()
IdentifiergetMsgId ()
IdentifiergetAddrId ()
bool isTcp () const
virtual Astoperator= (const Ast &ast)
virtual bool operator== (const Ast &ast) const
virtual VisitorReturnvisit (Visitor &visitor)
virtual Astclone () const

Private Attributes

IdentifiermsgId
IdentifieraddrId
bool tcp

Constructor & Destructor Documentation

ReceiveStatement::ReceiveStatement SrcPosition position,
Identifier msgId,
Identifier addrId,
bool  tcp
[inline]
 

Definition at line 14 of file receivestatement.h.

Referenced by clone().

00015                                 : SimpleStatement(position), msgId(msgId), addrId(addrId), tcp(tcp) {}

ReceiveStatement::ReceiveStatement const ReceiveStatement &  receiveStatement  )  [inline]
 

Definition at line 17 of file receivestatement.h.

References Ast::position.

00017                                                                            : SimpleStatement(receiveStatement.position){
00018                         (*this) = receiveStatement;
00019                 }

virtual ReceiveStatement::~ReceiveStatement  )  [inline, virtual]
 

Definition at line 21 of file receivestatement.h.

00021                                             {
00022                         delete this->msgId;
00023                         delete this->addrId;
00024                 }


Member Function Documentation

virtual Ast& ReceiveStatement::clone  )  const [inline, virtual]
 

Implements Ast.

Definition at line 46 of file receivestatement.h.

References Identifier::clone(), and ReceiveStatement().

Referenced by GuardReceive::operator=().

00046                                            {
00047                         return *(new ReceiveStatement(new SrcPosition(*this->position), 
00048                                                         this->msgId ? dynamic_cast<Identifier*>(&(this->msgId->clone())): 0,
00049                                                         this->addrId ? dynamic_cast<Identifier*>(&(this->addrId->clone())): 0,
00050                                                         this->tcp));
00051                 }

Identifier* ReceiveStatement::getAddrId  )  [inline]
 

Definition at line 30 of file receivestatement.h.

Referenced by TypeCheckerVisitor::visitReceiveStatement().

00030                                         {
00031                         return this->addrId;
00032                 }

Identifier* ReceiveStatement::getMsgId  )  [inline]
 

Definition at line 26 of file receivestatement.h.

Referenced by TypeCheckerVisitor::visitReceiveStatement().

00026                                        {
00027                         return this->msgId;
00028                 }

bool ReceiveStatement::isTcp  )  const [inline]
 

Definition at line 34 of file receivestatement.h.

00034                                    {
00035                         return this->tcp;
00036                 }

Ast & ReceiveStatement::operator= const Ast ast  )  [virtual]
 

Reimplemented from SimpleStatement.

Definition at line 3 of file receivestatement.cpp.

References addrId, Identifier::clone(), msgId, Statement::operator=(), and tcp.

00003                                                  {
00004         const ReceiveStatement& receiveStatement = dynamic_cast<const ReceiveStatement&>(ast);
00005 
00006         Statement::operator=(ast);
00007 
00008         this->msgId = receiveStatement.msgId ? dynamic_cast<Identifier*>(&(receiveStatement.msgId->clone())) : 0;
00009         this->addrId = receiveStatement.addrId ? dynamic_cast<Identifier*>(&(receiveStatement.addrId->clone())) : 0;
00010         this->tcp = receiveStatement.tcp;
00011 
00012         return (*this);
00013 }

bool ReceiveStatement::operator== const Ast ast  )  const [virtual]
 

Reimplemented from SimpleStatement.

Definition at line 15 of file receivestatement.cpp.

References addrId, msgId, Statement::operator==(), and tcp.

00015                                                         {
00016         const ReceiveStatement& receiveStatement = dynamic_cast<const ReceiveStatement&>(ast);
00017 
00018         bool result = false;
00019         if(this->msgId && this->addrId) {
00020                 result = (*(this->msgId) == *(receiveStatement.msgId) && 
00021                                          *(this->addrId) == *(receiveStatement.addrId) &&
00022                                          this->tcp == receiveStatement.tcp);
00023         }
00024         
00025         return result && Statement::operator==(ast);
00026 }

virtual VisitorReturn* ReceiveStatement::visit Visitor visitor  )  [inline, virtual]
 

Implements Ast.

Definition at line 42 of file receivestatement.h.

References Visitor::visitReceiveStatement().

Referenced by TypeCheckerVisitor::visitGuardReceive().

00042                                                                {
00043                         return visitor.visitReceiveStatement(this);
00044                 }


Member Data Documentation

Identifier* ReceiveStatement::addrId [private]
 

Definition at line 10 of file receivestatement.h.

Referenced by operator=(), and operator==().

Identifier* ReceiveStatement::msgId [private]
 

Definition at line 9 of file receivestatement.h.

Referenced by operator=(), and operator==().

bool ReceiveStatement::tcp [private]
 

Definition at line 11 of file receivestatement.h.

Referenced by operator=(), and operator==().


The documentation for this class was generated from the following files:
Generated on Mon Dec 1 17:39:12 2003 for Protomake by doxygen1.3