On 06/21/2011 11:49 AM, Christian Thalinger wrote: > On Jun 21, 2011, at 11:35 AM, Rémi Forax wrote: >> Ok, fixed, >> convertArguments doesn't exist anymore and I forget to remove it from >> the backport. > Awesome, thanks. This one looks weird though:
Great, this means that asType() now works :) The bug is due to this snippet: function no_return_int():int { } echo no_return_int() because the is no return, the return push a null and then tries to convert it to an int. I should create a special invoker that use explicitCast() (invokeWithArguments use asType()) or push 0 instead. This invoker can be a good example for the cookbook. > $ bin/phpr.sh test/testdeadreturn.phpr > null > com.googlecode.phpreboot.runtime.RT$RTError: null at 7,18 > at com.googlecode.phpreboot.runtime.RT.error(RT.java:56) > at > com.googlecode.phpreboot.interpreter.Evaluator.visit(Evaluator.java:723) > at > com.googlecode.phpreboot.interpreter.Evaluator.visit(Evaluator.java:1) > at com.googlecode.phpreboot.ast.FuncallCall.accept(FuncallCall.java:39) > at > com.googlecode.phpreboot.interpreter.Evaluator.eval(Evaluator.java:144) > at > com.googlecode.phpreboot.interpreter.Evaluator.visit(Evaluator.java:778) > at > com.googlecode.phpreboot.interpreter.Evaluator.visit(Evaluator.java:1) > at > com.googlecode.phpreboot.ast.PrimaryFuncall.accept(PrimaryFuncall.java:30) > at > com.googlecode.phpreboot.interpreter.Evaluator.eval(Evaluator.java:144) > at > com.googlecode.phpreboot.interpreter.Evaluator.visit(Evaluator.java:810) > at > com.googlecode.phpreboot.interpreter.Evaluator.visit(Evaluator.java:1) > at com.googlecode.phpreboot.ast.ExprPrimary.accept(ExprPrimary.java:30) > at > com.googlecode.phpreboot.interpreter.Evaluator.eval(Evaluator.java:144) > at > com.googlecode.phpreboot.interpreter.Evaluator.visit(Evaluator.java:275) > at > com.googlecode.phpreboot.interpreter.Evaluator.visit(Evaluator.java:1) > at com.googlecode.phpreboot.ast.InstrEcho.accept(InstrEcho.java:38) > at > com.googlecode.phpreboot.interpreter.Evaluator.eval(Evaluator.java:144) > at > com.googlecode.phpreboot.interpreter.Interpreter.eval(Interpreter.java:52) > at > com.googlecode.phpreboot.interpreter.Interpreter.instr_echo(Interpreter.java:122) > at > com.googlecode.phpreboot.tools.AnalyzerProcessor.reduce(AnalyzerProcessor.java:741) > at > com.googlecode.phpreboot.tools.AnalyzerProcessor.reduce(AnalyzerProcessor.java:1) > at > fr.umlv.tatoo.runtime.tools.ToolsProcessor.reduce(ToolsProcessor.java:117) > at fr.umlv.tatoo.runtime.parser.Parser.performReduce(Parser.java:484) > at fr.umlv.tatoo.runtime.parser.Parser.performShift(Parser.java:508) > at > fr.umlv.tatoo.runtime.parser.ShiftAction.doPerform(ShiftAction.java:23) > at fr.umlv.tatoo.runtime.parser.Parser.doStep(Parser.java:402) > at fr.umlv.tatoo.runtime.parser.Parser.push(Parser.java:384) > at > fr.umlv.tatoo.runtime.tools.ToolsProcessor$LexerHandler.ruleVerified(ToolsProcessor.java:87) > at > fr.umlv.tatoo.runtime.tools.ToolsProcessor$LexerHandler.ruleVerified(ToolsProcessor.java:67) > at > fr.umlv.tatoo.runtime.lexer.Lexer$LexerImpl.ruleVerified(Lexer.java:143) > at fr.umlv.tatoo.runtime.lexer.Lexer$LexerImpl.step(Lexer.java:87) > at fr.umlv.tatoo.runtime.lexer.Lexer$LexerImpl.run(Lexer.java:160) > at > com.googlecode.phpreboot.interpreter.Analyzer.interpret(Analyzer.java:78) > at com.googlecode.phpreboot.Main.main(Main.java:188) > Caused by: java.lang.NullPointerException > at > sun.invoke.util.ValueConversions.unboxInteger(ValueConversions.java:76) > at > java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:566) > at > com.googlecode.phpreboot.compiler.Compiler$CompileFunctionStub.stub(Compiler.java:233) > at > java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:566) > at > com.googlecode.phpreboot.interpreter.Evaluator.methodHandleCall(Evaluator.java:760) > at > com.googlecode.phpreboot.interpreter.Evaluator.visit(Evaluator.java:721) > ... 32 more > > _______________________________________________ > mlvm-dev mailing list > mlvm-dev@openjdk.java.net > http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev _______________________________________________ mlvm-dev mailing list mlvm-dev@openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev