public override JavaScriptObject Evaluate(Scope scope, JavaScriptObject thisObject) { JavaScriptObject left = this.LeftOperand.Evaluate(scope, thisObject); JavaScriptFloat right = this.RightOperand.Evaluate(scope, thisObject).ToFloat(); if (left is JavaScriptInteger) { return(((JavaScriptInteger)left).Multiply(right.ToInteger())); } else if (left is JavaScriptFloat) { return(((JavaScriptFloat)left).Multiply(right)); } throw new InvalidTypeException("Expects a number", this.Position); }
public FloatNode(SourcePosition sourcePosition, string number) : base(sourcePosition) { this.number = new JavaScriptFloat(number); }