/* * SenchaFunction.h * * Created on: Dec 30, 2012 * Author: att */ #ifndef SENCHAFUNCTION_H_ #define SENCHAFUNCTION_H_ #include #include #include #include "SenchaObject.h" #include "Element.h" #include "../Utils/to_string.h" #include "../AST/ASTNode.h" /** * SenchaFunction is a class which is an abstraction of function written in SenchaLang. * It stores name of the function, its body, and provides () call operator. */ class SenchaFunction : public Element { public: SenchaFunction(std::string name, std::vector names_of_arguments, ASTNode * body); SenchaObject operator()(); std::string name; std::vector names_of_arguments; virtual ~SenchaFunction(); private: ASTNode * body; }; #endif /* SENCHAFUNCTION_H_ */