Update of /cvsroot/nice/Nice/stdlib/nice/lang/inline
In directory sc8-pr-cvs1:/tmp/cvs-serv18871/stdlib/nice/lang/inline
Modified Files:
OptionOr.java
Log Message:
Takes into account the context for bytecode generation of || on option types.
(partly fixes #686142).
Index: OptionOr.java
===================================================================
RCS file: /cvsroot/nice/Nice/stdlib/nice/lang/inline/OptionOr.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** OptionOr.java 7 Oct 2002 10:57:33 -0000 1.1
--- OptionOr.java 19 Feb 2003 14:19:40 -0000 1.2
***************
*** 37,50 ****
Expression[] args = exp.getArgs();
CodeAttr code = comp.getCode();
- Target stack = Target.pushObject;
! args[0].compile(comp, stack);
code.emitDup();
code.emitIfNull();
code.emitPop(1);
! args[1].compile(comp, stack);
code.emitElse();
code.emitFi();
- target.compileFromStack(comp, Type.pointer_type);
}
--- 37,48 ----
Expression[] args = exp.getArgs();
CodeAttr code = comp.getCode();
! args[0].compile(comp, target);
code.emitDup();
code.emitIfNull();
code.emitPop(1);
! args[1].compile(comp, target);
code.emitElse();
code.emitFi();
}
|