#include <type.h>
Inheritance diagram for Type:
Public Types | |
enum | types { INTEGER, BOOLEAN, RANGE, ADDRESS, CLIENTADDRESS, SERVERADDRESS, ARRAY, BEHAVIOR, TIMEOUT, MESSAGE, STRING, PROCESS } |
Public Member Functions | |
Type (SrcPosition *position, types typeCode_) | |
virtual | ~Type () |
virtual Ast & | operator= (const Ast &ast) |
virtual bool | operator== (const Ast &ast) const |
virtual VisitorReturn * | visit (Visitor &visitor) |
types | getTypeCode () const |
virtual Ast & | clone () const |
Protected Attributes | |
types | typeCode |
|
Definition at line 8 of file type.h. Referenced by getTypeCode().
|
|
Definition at line 12 of file type.h. References typeCode. Referenced by clone().
|
|
Definition at line 15 of file type.h.
00015 { 00016 } |
|
Implements Ast. Reimplemented in ArrayType, and RangeType. Definition at line 37 of file type.h. References Type(). Referenced by SimpleDeclaration::clone(), SimpleDeclaration::operator=(), and ArrayType::operator=().
00037 { 00038 return *(new Type(new SrcPosition(*this->position), this->typeCode)); 00039 } |
|
|
Reimplemented from Ast. Reimplemented in ArrayType, and RangeType. Definition at line 18 of file type.h. References Ast::operator=(), and typeCode. Referenced by RangeType::operator=(), and ArrayType::operator=().
00018 { 00019 const Type& type = dynamic_cast<const Type&>(ast); 00020 Ast::operator=(ast); 00021 this->typeCode = type.typeCode; 00022 00023 return (*this); 00024 } |
|
Reimplemented from Ast. Reimplemented in ArrayType, and RangeType. Definition at line 25 of file type.h. References Ast::operator==(), and typeCode. Referenced by RangeType::operator==(), and ArrayType::operator==().
00025 { 00026 const Type& type = dynamic_cast<const Type&>(ast); 00027 return (this->typeCode == type.typeCode) && Ast::operator==(ast); 00028 } |
|
Implements Ast. Reimplemented in ArrayType, and RangeType. Definition at line 29 of file type.h. References Visitor::visitType(). Referenced by TypeCheckerVisitor::visitSimpleDeclaration().
00029 { 00030 return visitor.visitType(this); 00031 } |
|
Definition at line 42 of file type.h. Referenced by ArrayType::ArrayType(), getTypeCode(), operator=(), operator==(), RangeType::RangeType(), and Type(). |