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 |