protected override void EmitBinaryOperator(MethodContext method, Compiler compiler, ExpressionContext left, ExpressionContext right, Parse.BinaryExpression expression)
{
switch (expression.Operator)
{
case Parse.Operator.Power:
var intPower = typeof(Runtime.Runtime).GetMethod("IntPower", new[] { typeof(int), typeof(int) });
if (intPower == null)
throw new NotSupportedException();
left.EmitGet(method);
right.EmitGet(method);
method.IL.EmitCall(OpCodes.Call, intPower, null);
break;
default:
base.EmitBinaryOperator(method, compiler, left, right, expression);
break;
}
}