Envision
A visual programming IDE for object-oriented languages
|
Public Types | |
enum | Qualifier { CONST = 0x1 , VOLATILE = 0x2 } |
using | Qualifiers = QFlags< Qualifier > |
Public Member Functions | |
Type (bool isValueType) | |
Type (const Type &other) | |
virtual | ~Type () |
virtual Type * | clone () const =0 |
virtual bool | equals (const Type *other) const =0 |
virtual bool | isError () const |
Returns true if this is an error type. More... | |
bool | isValueType () const |
Returns true if the this type belongs to an expression representing a value. More... | |
Qualifiers | qualifiers () const |
TypeSystem::TypeRelations | relationTo (const Type *other) const |
void | setQualifiers (Qualifiers q, bool enable=true) |
void | setValueType (bool isValueType) |
Private Attributes | |
bool | isValueType_ |
Qualifiers | qualifiers_ {} |
using OOModel::Type::Qualifiers = QFlags<Qualifier> |
OOModel::Type::Type | ( | bool | isValueType | ) |
OOModel::Type::Type | ( | const Type & | other | ) |
|
virtual |
|
pure virtual |
|
pure virtual |
|
virtual |
Returns true if this is an error type.
The default implementation returns false.
Reimplemented in OOModel::ErrorType.
|
inline |
Returns true if the this type belongs to an expression representing a value.
Expressions can represent values e.g. '5', 'a+b' or types e.g. 'int[]'. If this type object represents a value expression this method returns true, otherwise it returns false.
|
inline |
TypeSystem::TypeRelations OOModel::Type::relationTo | ( | const Type * | other | ) | const |
|
inline |
|
inline |
|
private |
|
private |