+2005-12-15 Cesar Lopez Nataren <cnataren@novell.com>
+
+ * Statement.cs (For.Emit): Take into account what relational
+ operator is in place.
+
+ * expression.cs (Assign.Emit): Emit box in the op= cases.
+
2005-12-10 Florian Gross <flgr@ccan.de> and
Evan Briones <evan@evanbriones.com>
if (a is Equality)
ig.Emit (OpCodes.Brfalse, forward);
else if (a is Relational) {
+ Relational rel = (Relational) a;
ig.Emit (OpCodes.Ldc_I4_0);
ig.Emit (OpCodes.Conv_R8);
- ig.Emit (OpCodes.Bge, forward);
+
+ if (rel.op == JSToken.GreaterThan)
+ ig.Emit (OpCodes.Ble, forward);
+ else
+ ig.Emit (OpCodes.Bge, forward);
}
}
/* emit stms */
ig.Emit (OpCodes.Ldloc, local);
ig.Emit (OpCodes.Ldloc, aux);
- if (right != null)
+ if (right != null) {
right.Emit (ec);
+ CodeGenerator.EmitBox (ig, right);
+ }
emit_evaluation (op, type, ig);