[Nice-commit] Nice/stdlib/nice/lang/inline OptionOr.java,1.1,1.2
Brought to you by:
bonniot
From: <bo...@us...> - 2003-02-19 14:19:44
|
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(); } |