|
Envision
A visual programming IDE for object-oriented languages
|
Public Member Functions | |
| FunctionType (bool isValueType, std::vector< std::unique_ptr< Type >> arguments, std::unique_ptr< Type > result={}) | |
| FunctionType (bool isValueType, std::vector< std::unique_ptr< Type >> arguments, std::vector< std::unique_ptr< Type >> results) | |
| FunctionType (const FunctionType &other) | |
| const std::vector< std::unique_ptr< Type > > & | arguments () const |
| virtual FunctionType * | clone () const override |
| virtual bool | equals (const Type *other) const override |
| const Type * | result () const |
| const std::vector< std::unique_ptr< Type > > & | results () const |
Public Member Functions inherited from OOModel::Type | |
| Type (bool isValueType) | |
| Type (const Type &other) | |
| virtual | ~Type () |
| 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 | |
| std::vector< std::unique_ptr< Type > > | arguments_ |
| std::vector< std::unique_ptr< Type > > | results_ |
Additional Inherited Members | |
Public Types inherited from OOModel::Type | |
| enum | Qualifier { CONST = 0x1 , VOLATILE = 0x2 } |
| using | Qualifiers = QFlags< Qualifier > |
| OOModel::FunctionType::FunctionType | ( | bool | isValueType, |
| std::vector< std::unique_ptr< Type >> | arguments, | ||
| std::unique_ptr< Type > | result = {} |
||
| ) |
| OOModel::FunctionType::FunctionType | ( | bool | isValueType, |
| std::vector< std::unique_ptr< Type >> | arguments, | ||
| std::vector< std::unique_ptr< Type >> | results | ||
| ) |
| OOModel::FunctionType::FunctionType | ( | const FunctionType & | other | ) |
|
inline |
|
overridevirtual |
Implements OOModel::Type.
|
overridevirtual |
Implements OOModel::Type.
|
inline |
|
inline |
|
private |
|
private |