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

Identifier Class Reference

#include <identifier.h>

Inheritance diagram for Identifier:

Inheritance graph
[legend]
Collaboration diagram for Identifier:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 Identifier (SrcPosition *position, string name)
 Identifier (const Identifier &identifier)
virtual ~Identifier ()
string getName () const
virtual Astoperator= (const Ast &ast)
virtual bool operator== (const Ast &ast) const
virtual VisitorReturnvisit (Visitor &visitor)
virtual Astclone () const

Private Attributes

string name

Constructor & Destructor Documentation

Identifier::Identifier SrcPosition position,
string  name
[inline]
 

Definition at line 14 of file identifier.h.

Referenced by clone().

00014 : Expression(position), LeftSide(position), Ast(position), name(name) {}

Identifier::Identifier const Identifier &  identifier  )  [inline]
 

Definition at line 15 of file identifier.h.

References Ast::position.

00015                                                          : Expression(identifier.position), LeftSide(identifier.position), Ast(position) {
00016                         *(this) = identifier;
00017                 }

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

Definition at line 19 of file identifier.h.

00019 {}


Member Function Documentation

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

Implements Ast.

Definition at line 32 of file identifier.h.

References Identifier().

Referenced by SimpleMessage::clone(), SendStatement::clone(), ReceiveStatement::clone(), FieldReference::clone(), BehaviorStatement::clone(), StartStatement::operator=(), SimpleProcess::operator=(), SimpleMessage::operator=(), SimpleIdentifierList::operator=(), SimpleFieldDeclaration::operator=(), SimpleArrayReference::operator=(), SendStatement::operator=(), ReceiveStatement::operator=(), GuardTimeout::operator=(), FieldReference::operator=(), BehaviorStatement::operator=(), and ActStatement::operator=().

00032                                            {
00033                         return *(new Identifier(this->position, this->name));
00034                 }

string Identifier::getName  )  const [inline]
 

Definition at line 21 of file identifier.h.

Referenced by TypeCheckerVisitor::visitActStatement(), TypeCheckerVisitor::visitFieldReference(), TypeCheckerVisitor::visitFieldType(), TypeCheckerVisitor::visitIdentifier(), TypeCheckerVisitor::visitSimpleFieldDeclaration(), JavaCodeGeneratorVisitor::visitSimpleFieldDeclaration(), JavaCodeGeneratorVisitor::visitSimpleMessage(), TypeCheckerVisitor::visitSimpleProcess(), and TypeCheckerVisitor::visitStartStatement().

00021                                        {
00022                         return this->name;
00023                 }

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

Reimplemented from Expression.

Definition at line 5 of file identifier.cpp.

References name, and Ast::operator=().

00005                                            {
00006         const Identifier& identifier = dynamic_cast<const Identifier&>(ast);
00007 
00008         Ast::operator=(ast);
00009         this->name = identifier.name;
00010 
00011         return *(this);
00012 }

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

Reimplemented from Expression.

Definition at line 14 of file identifier.cpp.

References name, and Ast::operator==().

00014                                                   {
00015         const Identifier& identifier = dynamic_cast<const Identifier&>(ast);
00016 
00017         if (typeid(ast) != typeid(Identifier))
00018                 return false;
00019 
00020         return (this->name == identifier.name) && Ast::operator==(ast);
00021 }

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

Implements Ast.

Definition at line 28 of file identifier.h.

References Visitor::visitIdentifier().

Referenced by TypeCheckerVisitor::visitActStatement(), TypeCheckerVisitor::visitBehaviorStatement(), TypeCheckerVisitor::visitGuardTimeout(), TypeCheckerVisitor::visitReceiveStatement(), TypeCheckerVisitor::visitSendStatement(), TypeCheckerVisitor::visitSimpleArrayReference(), TypeCheckerVisitor::visitSimpleIdentifierList(), TypeCheckerVisitor::visitSimpleMessage(), TypeCheckerVisitor::visitSimpleProcess(), and TypeCheckerVisitor::visitStartStatement().

00028                                                                {
00029                         return visitor.visitIdentifier(this);
00030                 }


Member Data Documentation

string Identifier::name [private]
 

Definition at line 12 of file identifier.h.

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


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