#include <Type.h>
Public Types | |
enum | Classification { CLASS_Scalar, CLASS_Discrete, CLASS_Enum, CLASS_Integer, CLASS_Composite, CLASS_Array, CLASS_String, CLASS_Access, CLASS_Record } |
Public Member Functions | |
virtual | ~Type () |
bool | memberOf (Classification ID) const |
Returns true if this type is a member of the given classification. | |
bool | isScalarType () const |
Returns true if this type denotes a scalar type. | |
bool | isDiscreteType () const |
Returns true if this type denotes a discrete type. | |
bool | isIntegerType () const |
Returns true if this type denotes an integer type. | |
bool | isEnumType () const |
Returns true if this type denotes an enumeration type. | |
bool | isCompositeType () const |
Returns true if this type denotes a composite type. | |
bool | isArrayType () const |
Returns true if this type denotes an array type. | |
bool | isRecordType () const |
Returns true if this type denotes a record type. | |
bool | isStringType () const |
Returns true if this type denotes a string type. | |
bool | isAccessType () const |
Returns true if this type denotes an access type. | |
bool | isFatAccessType () const |
Returns true if this type denotes a fat access type. | |
bool | isThinAccessType () const |
Returns true if this type denotes a thin access type. | |
bool | isUniversalType () const |
Returns true if this is a universal type. | |
bool | isUniversalIntegerType () const |
Returns true if this is the universal integer type. | |
bool | isUniversalAccessType () const |
Returns true if this is the universal access type. | |
bool | isUniversalFixedType () const |
Returns true if this is the universal fixed type. | |
bool | isUniversalRealType () const |
Returns true if this is the universal real type. | |
bool | isUniversalTypeOf (const Type *type) const |
ArrayType * | getAsArrayType () |
IntegerType * | getAsIntegerType () |
EnumerationType * | getAsEnumType () |
bool | involvesPercent () const |
bool | isIndefiniteType () const |
Returns true if this is an indenfinite type. | |
bool | isDefiniteType () const |
Returns true if this is a definite type. | |
Static Public Member Functions | |
static bool | classof (const Type *node) |
Support isa and dyn_cast. | |
static bool | classof (const Ast *node) |
Protected Member Functions | |
Type (AstKind kind) |
Definition at line 28 of file Type.h.
static bool comma::Type::classof | ( | const Ast * | node | ) | [inline, static] |
Reimplemented in comma::SubroutineType, comma::FunctionType, comma::ProcedureType, comma::UniversalType, comma::PrimaryType, comma::IncompleteType, comma::DomainType, comma::DiscreteType, comma::EnumerationType, comma::IntegerType, comma::CompositeType, comma::ArrayType, comma::RecordType, and comma::AccessType.
static bool comma::Type::classof | ( | const Type * | node | ) | [inline, static] |
Support isa and dyn_cast.
Reimplemented from comma::Ast.
Reimplemented in comma::SubroutineType, comma::FunctionType, comma::ProcedureType, comma::UniversalType, comma::PrimaryType, comma::IncompleteType, comma::DomainType, comma::DiscreteType, comma::EnumerationType, comma::IntegerType, comma::CompositeType, comma::ArrayType, comma::RecordType, and comma::AccessType.
EnumerationType * Type::getAsEnumType | ( | ) |
IntegerType * Type::getAsIntegerType | ( | ) |
bool Type::involvesPercent | ( | ) | const |
bool Type::isAccessType | ( | ) | const |
bool Type::isArrayType | ( | ) | const |
bool Type::isCompositeType | ( | ) | const |
bool comma::Type::isDefiniteType | ( | ) | const [inline] |
bool Type::isDiscreteType | ( | ) | const |
bool Type::isEnumType | ( | ) | const |
bool Type::isFatAccessType | ( | ) | const |
bool Type::isIndefiniteType | ( | ) | const |
bool Type::isIntegerType | ( | ) | const |
bool Type::isRecordType | ( | ) | const |
bool Type::isScalarType | ( | ) | const |
bool Type::isStringType | ( | ) | const |
bool Type::isThinAccessType | ( | ) | const |
bool Type::isUniversalAccessType | ( | ) | const |
Returns true if this is the universal access type.
Reimplemented in comma::UniversalType.
bool Type::isUniversalFixedType | ( | ) | const |
Returns true if this is the universal fixed type.
Reimplemented in comma::UniversalType.
bool Type::isUniversalIntegerType | ( | ) | const |
Returns true if this is the universal integer type.
Reimplemented in comma::UniversalType.
bool Type::isUniversalRealType | ( | ) | const |
Returns true if this is the universal real type.
Reimplemented in comma::UniversalType.
bool Type::isUniversalType | ( | ) | const |
bool Type::isUniversalTypeOf | ( | const Type * | type | ) | const |
bool Type::memberOf | ( | Classification | ID | ) | const |