CYPrefix_(false, "~", BitwiseNot)
CYPrefix_(false, "!", LogicalNot)
-CYInfix_(false, 5, "*", Multiply)
+CYInfix_(false, 5, "*", Multiply, CYReplace)
CYInfix_(false, 5, "/", Divide)
CYInfix_(false, 5, "%", Modulus)
CYInfix_(false, 6, "+", Add, CYReplace)
return $E($ CYCall(CYNonLocalize(context, $ CYFunctionExpression(NULL, declarations_->Parameter(context), code_)), declarations_->Argument(context)));
}
+CYExpression *CYMultiply::Replace(CYContext &context) {
+ CYInfix::Replace(context);
+
+ CYExpression *lhp(lhs_->Primitive(context));
+ CYExpression *rhp(rhs_->Primitive(context));
+
+ if (CYNumber *lhn = lhp->Number(context))
+ if (CYNumber *rhn = rhp->Number(context))
+ return $D(lhn->Value() * rhn->Value());
+
+ return this;
+}
+
namespace cy {
namespace Syntax {