Envision
A visual programming IDE for object-oriented languages
List of all members | Public Types | Public Member Functions | Private Member Functions
OOModel::MethodCallExpression Class Reference
Inheritance diagram for OOModel::MethodCallExpression:
Core::Reflect< Base >

Public Types

enum class  MethodCallKind : int { Call , ListConstruction , CallConstruction }
 

Public Member Functions

 MethodCallExpression (const QString &name, Expression *referencePrefix=nullptr)
 
MethodCallKind methodCallKind () const
 
MethodmethodDefinition ()
 Returns the definition of the method that is being called by this method call if one exists. More...
 
void setMethodCallKind (const MethodCallKind &kind)
 
virtual std::unique_ptr< Typetype () override
 

Private Member Functions

MethodmethodDefinition (std::unique_ptr< Type > &calleeType)
 

Additional Inherited Members

- Protected Types inherited from Core::Reflect< Base >
using Super = Reflect< Base >
 

Member Enumeration Documentation

◆ MethodCallKind

Enumerator
Call 
ListConstruction 
CallConstruction 

Constructor & Destructor Documentation

◆ MethodCallExpression()

OOModel::MethodCallExpression::MethodCallExpression ( const QString &  name,
Expression referencePrefix = nullptr 
)

Member Function Documentation

◆ methodCallKind()

MethodCallExpression::MethodCallKind OOModel::MethodCallExpression::methodCallKind ( ) const
inline

◆ methodDefinition() [1/2]

Method * OOModel::MethodCallExpression::methodDefinition ( )

Returns the definition of the method that is being called by this method call if one exists.

If the callee is an expression of type FunctionType the return value is nullptr.

◆ methodDefinition() [2/2]

Method * OOModel::MethodCallExpression::methodDefinition ( std::unique_ptr< Type > &  calleeType)
private

◆ setMethodCallKind()

void OOModel::MethodCallExpression::setMethodCallKind ( const MethodCallKind kind)
inline

◆ type()

std::unique_ptr< Type > OOModel::MethodCallExpression::type ( )
overridevirtual