virtual void Output(CYOutput &out, CYFlags flags) const;
};
-// XXX: this should be split up into CYAnonymousFunction and CYNamedFunction (subclass)
struct CYFunction {
CYIdentifier *name_;
CYFunctionParameter *parameters_;
virtual void Output(CYOutput &out, CYFlags flags) const;
};
-// XXX: this should be split up into CYAnonymousFunctionExpression and CYNamedFunctionExpression
struct CYFunctionExpression :
CYFunction,
CYExpression
virtual void Output(CYOutput &out, CYFlags flags) const;
};
-// XXX: this should derive from CYAnonymousFunction
struct CYFatArrow :
CYFunction,
CYExpression
virtual void Output(CYOutput &out, CYFlags flags) const;
};
-// XXX: this should derive from CYAnonymousFunctionExpression
struct CYRubyProc :
- CYFunctionExpression
+ CYFunction,
+ CYExpression
{
CYRubyProc(CYFunctionParameter *parameters, CYStatement *code) :
- CYFunctionExpression(NULL, parameters, code)
+ CYFunction(NULL, parameters, code)
{
}
virtual void Output(CYOutput &out, CYFlags flags) const;
};
-// XXX: this should derive from CYNamedFunction
struct CYFunctionStatement :
CYFunction,
CYStatement