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

RangeType Class Reference

#include <rangetype.h>

Inheritance diagram for RangeType:

Inheritance graph
[legend]
Collaboration diagram for RangeType:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 RangeType (SrcPosition *position, types typeCode, int start, int end)
 RangeType (const RangeType &rangeType)
virtual ~RangeType ()
virtual Astoperator= (const Ast &ast)
int getStart () const
int getEnd () const
virtual bool operator== (const Ast &ast) const
virtual Astclone () const
virtual VisitorReturnvisit (Visitor &visitor)

Private Attributes

int start
int end

Constructor & Destructor Documentation

RangeType::RangeType SrcPosition position,
types  typeCode,
int  start,
int  end
[inline]
 

Definition at line 12 of file rangetype.h.

Referenced by clone().

00013                                 : Type(position, typeCode), start(start), end(end) {}

RangeType::RangeType const RangeType &  rangeType  )  [inline]
 

Definition at line 15 of file rangetype.h.

References Ast::position, and Type::typeCode.

00015                                                       : Type(rangeType.position, rangeType.typeCode) {
00016                         *(this) = rangeType;
00017                 }

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

Definition at line 19 of file rangetype.h.

00019                                      {
00020                 }


Member Function Documentation

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

Reimplemented from Type.

Definition at line 44 of file rangetype.h.

References RangeType().

00044                                            {
00045                         return *(new RangeType(new SrcPosition(*(this->position)), this->typeCode, this->start, this->end));
00046                 }

int RangeType::getEnd  )  const [inline]
 

Definition at line 35 of file rangetype.h.

00035                                    {
00036                         return this->end;
00037                 }

int RangeType::getStart  )  const [inline]
 

Definition at line 31 of file rangetype.h.

00031                                      {
00032                         return this->start;
00033                 }

virtual Ast& RangeType::operator= const Ast ast  )  [inline, virtual]
 

Reimplemented from Type.

Definition at line 22 of file rangetype.h.

References end, Type::operator=(), and start.

00022                                                          {
00023                         const RangeType& rangeType = dynamic_cast<const RangeType&>(ast); 
00024                         Type::operator=(ast);
00025                         this->start = rangeType.start;
00026                         this->end = rangeType.end;
00027 
00028                         return (*this);
00029                 }

virtual bool RangeType::operator== const Ast ast  )  const [inline, virtual]
 

Reimplemented from Type.

Definition at line 39 of file rangetype.h.

References end, Type::operator==(), and start.

00039                                                                 {
00040                         const RangeType& rangeType = dynamic_cast<const RangeType&>(ast);
00041                         return Type::operator==(ast) && (this->start == rangeType.start) && (this->end == rangeType.end);
00042                 }

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

Reimplemented from Type.

Definition at line 48 of file rangetype.h.

References Visitor::visitRangeType().

00048                                                                {
00049                         return visitor.visitRangeType(this);
00050                 }


Member Data Documentation

int RangeType::end [private]
 

Definition at line 9 of file rangetype.h.

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

int RangeType::start [private]
 

Definition at line 8 of file rangetype.h.

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


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