Envision
A visual programming IDE for object-oriented languages
List of all members | Public Member Functions | Static Public Member Functions | Private Attributes | Static Private Attributes
ContractsLibrary::ValueAtReturnVisitor Class Reference
Inheritance diagram for ContractsLibrary::ValueAtReturnVisitor:
Model::Visitor< ValueAtReturnVisitor, Model::Node * >

Public Member Functions

 ValueAtReturnVisitor ()
 
int numUnwrapped ()
 
int numWrapped ()
 
virtual Model::NodevisitChildren (Model::Node *n)
 
- Public Member Functions inherited from Model::Visitor< ValueAtReturnVisitor, Model::Node * >
virtual ~Visitor ()
 
Model::Nodevisit (Node *n)
 

Static Public Member Functions

static void init ()
 
static void setMethods (OOModel::Method *ensuresMethod, OOModel::Method *valueAtReturnMethod)
 
static Model::NodevisitMethodCall (ValueAtReturnVisitor *v, OOModel::MethodCallExpression *call)
 
static Model::NodevisitReference (ValueAtReturnVisitor *v, OOModel::ReferenceExpression *ref)
 
- Static Public Member Functions inherited from Model::Visitor< ValueAtReturnVisitor, Model::Node * >
static void addType (std::function< Model::Node *(ValueAtReturnVisitor *, NodeType *)> f)
 

Private Attributes

bool inEnsuresCall_
 
bool inValueAtReturnCall_
 
int numUnwrapped_
 
int numWrapped_
 
bool outReference_
 

Static Private Attributes

static OOModel::MethodensuresMethod_ = nullptr
 
static OOModel::MethodvalueAtReturnMethod_ = nullptr
 

Additional Inherited Members

- Public Types inherited from Model::Visitor< ValueAtReturnVisitor, Model::Node * >
using BaseVisitorType = ValueAtReturnVisitor
 
using VisitFunctionInstance = std::function< Model::Node *(ValueAtReturnVisitor *, Node *)>
 
using VisitorResultType = Model::Node *
 
- Protected Member Functions inherited from Model::Visitor< ValueAtReturnVisitor, Model::Node * >
virtual VisitFunctionInstance findFunctionForId (int id)
 

Constructor & Destructor Documentation

◆ ValueAtReturnVisitor()

ContractsLibrary::ValueAtReturnVisitor::ValueAtReturnVisitor ( )

Member Function Documentation

◆ init()

void ContractsLibrary::ValueAtReturnVisitor::init ( )
static

◆ numUnwrapped()

int ContractsLibrary::ValueAtReturnVisitor::numUnwrapped ( )
inline

◆ numWrapped()

int ContractsLibrary::ValueAtReturnVisitor::numWrapped ( )
inline

◆ setMethods()

void ContractsLibrary::ValueAtReturnVisitor::setMethods ( OOModel::Method ensuresMethod,
OOModel::Method valueAtReturnMethod 
)
static

◆ visitChildren()

Model::Node * ContractsLibrary::ValueAtReturnVisitor::visitChildren ( Model::Node n)
virtual

◆ visitMethodCall()

Model::Node * ContractsLibrary::ValueAtReturnVisitor::visitMethodCall ( ValueAtReturnVisitor v,
OOModel::MethodCallExpression call 
)
static

◆ visitReference()

Model::Node * ContractsLibrary::ValueAtReturnVisitor::visitReference ( ValueAtReturnVisitor v,
OOModel::ReferenceExpression ref 
)
static

Member Data Documentation

◆ ensuresMethod_

OOModel::Method * ContractsLibrary::ValueAtReturnVisitor::ensuresMethod_ = nullptr
staticprivate

◆ inEnsuresCall_

bool ContractsLibrary::ValueAtReturnVisitor::inEnsuresCall_
private

◆ inValueAtReturnCall_

bool ContractsLibrary::ValueAtReturnVisitor::inValueAtReturnCall_
private

◆ numUnwrapped_

int ContractsLibrary::ValueAtReturnVisitor::numUnwrapped_
private

◆ numWrapped_

int ContractsLibrary::ValueAtReturnVisitor::numWrapped_
private

◆ outReference_

bool ContractsLibrary::ValueAtReturnVisitor::outReference_
private

◆ valueAtReturnMethod_

OOModel::Method * ContractsLibrary::ValueAtReturnVisitor::valueAtReturnMethod_ = nullptr
staticprivate