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

SequentialImport Class Reference

#include <sequentialimport.h>

Inheritance diagram for SequentialImport:

Inheritance graph
[legend]
Collaboration diagram for SequentialImport:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 SequentialImport (SrcPosition *position, Import *import, SimpleImport *simpleImport)
 SequentialImport (const SequentialImport &sequentialImport)
virtual ~SequentialImport ()
ImportgetImport ()
SimpleImportgetSimpleImport ()
virtual Astoperator= (const Ast &ast)
virtual bool operator== (const Ast &ast) const
virtual VisitorReturnvisit (Visitor &visitor)
virtual Astclone () const

Private Attributes

Importimport
SimpleImportsimpleImport

Constructor & Destructor Documentation

SequentialImport::SequentialImport SrcPosition position,
Import import,
SimpleImport simpleImport
[inline]
 

Definition at line 14 of file sequentialimport.h.

Referenced by clone().

00015                         : Import(position), import(import), simpleImport(simpleImport) {}

SequentialImport::SequentialImport const SequentialImport &  sequentialImport  )  [inline]
 

Definition at line 17 of file sequentialimport.h.

References Ast::position.

00017                                                                            : Import(sequentialImport.position) {
00018                         *(this) = sequentialImport;
00019                 }

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

Definition at line 21 of file sequentialimport.h.

00021                                             {
00022                         delete this->import;
00023                         delete this->simpleImport;
00024                 }


Member Function Documentation

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

Implements Ast.

Definition at line 41 of file sequentialimport.h.

References SimpleImport::clone(), and SequentialImport().

00041                                            {
00042                         return *(new SequentialImport(new SrcPosition(*(this->position)),
00043                                          this->import ? dynamic_cast<Import*>(&(this->import->clone())) : 0,
00044                                          this->simpleImport ? dynamic_cast<SimpleImport*>(&(this->simpleImport->clone())) : 0));
00045                 }

Import* SequentialImport::getImport  )  [inline]
 

Definition at line 26 of file sequentialimport.h.

Referenced by TypeCheckerVisitor::visitSequentialImport().

00026                                     {
00027                         return this->import;
00028                 }

SimpleImport* SequentialImport::getSimpleImport  )  [inline]
 

Definition at line 30 of file sequentialimport.h.

Referenced by TypeCheckerVisitor::visitSequentialImport().

00030                                                 {
00031                         return this->simpleImport;
00032                 }

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

Reimplemented from Import.

Definition at line 5 of file sequentialimport.cpp.

References SimpleImport::clone(), Ast::clone(), import, Import::operator=(), and simpleImport.

00005                                                  {
00006         const SequentialImport& sequentialImport = dynamic_cast<const SequentialImport&>(ast);
00007 
00008         Import::operator=(ast);
00009         this->import = sequentialImport.import ? dynamic_cast<Import*>(&(sequentialImport.import->clone())) : 0;
00010         this->simpleImport = sequentialImport.simpleImport ? dynamic_cast<SimpleImport*>(&(sequentialImport.simpleImport->clone())) : 0;
00011 
00012         return *(this);
00013 }

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

Reimplemented from Import.

Definition at line 15 of file sequentialimport.cpp.

References import, Import::operator==(), and simpleImport.

00015                                                         {
00016         bool result = false;
00017         const SequentialImport& sequentialImport = dynamic_cast<const SequentialImport&>(ast);
00018 
00019         if (typeid(ast) != typeid(SequentialImport))
00020                 return false;
00021 
00022         if (this->import && this->simpleImport)
00023                 result = (*(this->import) == *(sequentialImport.import) &&
00024                                   *(this->simpleImport) == *(sequentialImport.simpleImport));
00025 
00026         return result && Import::operator==(ast);
00027 }

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

Implements Ast.

Definition at line 37 of file sequentialimport.h.

References Visitor::visitSequentialImport().

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


Member Data Documentation

Import* SequentialImport::import [private]
 

Definition at line 9 of file sequentialimport.h.

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

SimpleImport* SequentialImport::simpleImport [private]
 

Definition at line 10 of file sequentialimport.h.

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


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