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

Public Types

enum class  MemberKind : int { Dot , Pointer , Static , Template }
 The kind of member relationship between the prefix and the ref. More...
 

Public Member Functions

 ReferenceExpression (const QString &name, Expression *prefix=nullptr, MemberKind kind=MemberKind::Dot)
 
MemberKind memberKind () const
 
const QString & name () const
 
void setMemberKind (MemberKind kind)
 
void setName (const QString &name)
 
Model::Nodetarget ()
 
virtual std::unique_ptr< Typetype () override
 

Additional Inherited Members

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

Member Enumeration Documentation

◆ MemberKind

The kind of member relationship between the prefix and the ref.

These correspond to the . -> :: and ::template operators.

Enumerator
Dot 
Pointer 
Static 
Template 

Constructor & Destructor Documentation

◆ ReferenceExpression()

OOModel::ReferenceExpression::ReferenceExpression ( const QString &  name,
Expression prefix = nullptr,
MemberKind  kind = MemberKind::Dot 
)

Member Function Documentation

◆ memberKind()

ReferenceExpression::MemberKind OOModel::ReferenceExpression::memberKind ( ) const
inline

◆ name()

const QString & OOModel::ReferenceExpression::name ( ) const
inline

◆ setMemberKind()

void OOModel::ReferenceExpression::setMemberKind ( MemberKind  kind)
inline

◆ setName()

void OOModel::ReferenceExpression::setName ( const QString &  name)
inline

◆ target()

Model::Node * OOModel::ReferenceExpression::target ( )
inline

◆ type()

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