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

SequentialIdentifierList Class Reference

#include <sequentialidentifierlist.h>

Inheritance diagram for SequentialIdentifierList:

Inheritance graph
[legend]
Collaboration diagram for SequentialIdentifierList:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 SequentialIdentifierList (SrcPosition *position, IdentifierList *identifierList, SimpleIdentifierList *simpleIdentifierList)
 SequentialIdentifierList (const SequentialIdentifierList &sequentialIdentifierList)
virtual ~SequentialIdentifierList ()
IdentifierListgetIdentifierList ()
SimpleIdentifierListgetSimpleIdentifierList ()
virtual Astoperator= (const Ast &ast)
virtual bool operator== (const Ast &ast) const
virtual VisitorReturnvisit (Visitor &visitor)
virtual Astclone () const

Private Attributes

IdentifierListidentifierList
SimpleIdentifierListsimpleIdentifierList

Constructor & Destructor Documentation

SequentialIdentifierList::SequentialIdentifierList SrcPosition position,
IdentifierList identifierList,
SimpleIdentifierList simpleIdentifierList
[inline]
 

Definition at line 14 of file sequentialidentifierlist.h.

Referenced by clone().

00015                         : IdentifierList(position), identifierList(identifierList), simpleIdentifierList(simpleIdentifierList) {}

SequentialIdentifierList::SequentialIdentifierList const SequentialIdentifierList &  sequentialIdentifierList  )  [inline]
 

Definition at line 17 of file sequentialidentifierlist.h.

References Ast::position.

00017                                                                                                    : IdentifierList(sequentialIdentifierList.position) {
00018                         *(this) = sequentialIdentifierList;
00019                 }

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

Definition at line 21 of file sequentialidentifierlist.h.

00021                                                     {
00022                         delete this->identifierList;
00023                         delete this->simpleIdentifierList;
00024                 }


Member Function Documentation

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

Implements Ast.

Definition at line 41 of file sequentialidentifierlist.h.

References SimpleIdentifierList::clone(), and SequentialIdentifierList().

00041                                            {
00042                         return *(new SequentialIdentifierList(new SrcPosition(*(this->position)),
00043                                          this->identifierList ? dynamic_cast<IdentifierList*>(&(this->identifierList->clone())) : 0,
00044                                          this->simpleIdentifierList ? dynamic_cast<SimpleIdentifierList*>(&(this->simpleIdentifierList->clone())) : 0));
00045                 }

IdentifierList* SequentialIdentifierList::getIdentifierList  )  [inline]
 

Definition at line 26 of file sequentialidentifierlist.h.

Referenced by TypeCheckerVisitor::visitSequentialIdentifierList().

00026                                                     {
00027                         return this->identifierList;
00028                 }

SimpleIdentifierList* SequentialIdentifierList::getSimpleIdentifierList  )  [inline]
 

Definition at line 30 of file sequentialidentifierlist.h.

Referenced by TypeCheckerVisitor::visitSequentialIdentifierList().

00030                                                                 {
00031                         return this->simpleIdentifierList;
00032                 }

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

Reimplemented from IdentifierList.

Definition at line 5 of file sequentialidentifierlist.cpp.

References SimpleIdentifierList::clone(), Ast::clone(), identifierList, IdentifierList::operator=(), and simpleIdentifierList.

00005                                                          {
00006         const SequentialIdentifierList& sequentialIdentifierList = dynamic_cast<const SequentialIdentifierList&>(ast);
00007 
00008         IdentifierList::operator=(ast);
00009         this->identifierList = sequentialIdentifierList.identifierList ? dynamic_cast<IdentifierList*>(&(sequentialIdentifierList.identifierList->clone())) : 0;
00010         this->simpleIdentifierList = sequentialIdentifierList.simpleIdentifierList ? dynamic_cast<SimpleIdentifierList*>(&(sequentialIdentifierList.simpleIdentifierList->clone())) : 0;
00011 
00012         return *(this);
00013 }

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

Reimplemented from IdentifierList.

Definition at line 15 of file sequentialidentifierlist.cpp.

References identifierList, IdentifierList::operator==(), and simpleIdentifierList.

00015                                                                 {
00016         bool result = false;
00017         const SequentialIdentifierList& sequentialIdentifierList = dynamic_cast<const SequentialIdentifierList&>(ast);
00018 
00019         if (typeid(ast) != typeid(SequentialIdentifierList))
00020                 return false;
00021 
00022         if (this->identifierList && this->simpleIdentifierList)
00023                 result = (*(this->identifierList) == *(sequentialIdentifierList.identifierList) &&
00024                                   *(this->simpleIdentifierList) == *(sequentialIdentifierList.simpleIdentifierList));
00025 
00026         return result && IdentifierList::operator==(ast);
00027 }

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

Implements Ast.

Definition at line 37 of file sequentialidentifierlist.h.

References Visitor::visitSequentialIdentifierList().

00037                                                                {
00038                         return visitor.visitSequentialIdentifierList(this);
00039                 }


Member Data Documentation

IdentifierList* SequentialIdentifierList::identifierList [private]
 

Definition at line 9 of file sequentialidentifierlist.h.

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

SimpleIdentifierList* SequentialIdentifierList::simpleIdentifierList [private]
 

Definition at line 10 of file sequentialidentifierlist.h.

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


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