code.Emit(OpCodes.Stloc, tmpLocal);
emitStloc(tmpLocal);
    private Item genEq(Tree left, Tree right) {	LocalBuilder tmpLocal = (LocalBuilder)locals.get(defs.ANY_EQEQ);	if (tmpLocal == null) {	    tmpLocal = code.DeclareLocal(tc.OBJECT);	    locals.put(defs.ANY_EQEQ, tmpLocal);	}	Label l1 = code.DefineLabel(), l2 = code.DefineLabel();	genLoad(left, MSILType.OBJECT);	genLoad(right, MSILType.OBJECT);	code.Emit(OpCodes.Stloc, tmpLocal);	code.Emit(OpCodes.Dup);	code.Emit(OpCodes.Ldnull);	code.Emit(OpCodes.Bne_Un, l1);	code.Emit(OpCodes.Ldloc, tmpLocal);	code.Emit(OpCodes.Ceq);	code.Emit(OpCodes.Br, l2);	code.MarkLabel(l1);	code.Emit(OpCodes.Ldloc, tmpLocal);	code.Emit(OpCodes.Callvirt, tc.OBJECT_EQUALS);	code.MarkLabel(l2);	return items.StackItem(MSILType.BOOL);    }