Zen
A cross-platform functional programming language

FunctionImplExpr Class Reference

Concrete class for AST Node representing a function implementation. More...

#include <Ast.hpp>

Inheritance diagram for FunctionImplExpr:
Expr Node

List of all members.

Public Member Functions

 FunctionImplExpr (const QualifiedType &type, const Ast::FunctionImplItem &item)
 Default constructor.
const Ast::FunctionImplItemgetItem () const
 Returns the implementation item.

Private Member Functions

virtual void visit (Expr::Visitor &visitor) const
 Abstract visitor function.

Private Attributes

const Ast::FunctionImplItem_item
 The implementation item.

Detailed Description

Concrete class for AST Node representing a function implementation.

For example:

        local x = MyFunction {...};

Here, MyFunction is a function and MyFunction{...} is an inline function implementation. The variable x is now a functor.

Todo:
Merge FunctionImplExpr and FunctionDefImplExpr by replacing FunctionImplItem with ImplItem.

Constructor & Destructor Documentation

FunctionImplExpr ( const QualifiedType type,
const Ast::FunctionImplItem item 
) [inline]

Default constructor.

Parameters:
typeExpression type
itemThe implementation item.

Member Function Documentation

const Ast::FunctionImplItem& getItem ( ) const [inline]

Returns the implementation item.

Returns:
The implementation item
void visit ( Expr::Visitor visitor) const [private, virtual]

Abstract visitor function.

Parameters:
visitorThe visitor object.

Implements Expr.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines