PlayWithCompiler
PlayWithCompiler copied to clipboard
空指针 from play.TypeResolver.exitFormalParameter(TypeResolver.java:96)
你好。我运行PlayScript with "-v scratch.play", 得到这个NPE(在函数调用那个例子)。 或者这个简单的例子 String script = "int b= 10; int myfunc(int a) {return a+b+3;} myfunc(2);"; Exception in thread "main" java.lang.NullPointerException at play.TypeResolver.exitFormalParameter(TypeResolver.java:96) at play.PlayScriptParser$FormalParameterContext.exitRule(PlayScriptParser.java:940) at org.antlr.v4.runtime.tree.ParseTreeWalker.exitRule(ParseTreeWalker.java:47) at org.antlr.v4.runtime.tree.ParseTreeWalker.walk(ParseTreeWalker.java:30) at org.antlr.v4.runtime.tree.ParseTreeWalker.walk(ParseTreeWalker.java:28) at org.antlr.v4.runtime.tree.ParseTreeWalker.walk(ParseTreeWalker.java:28) at org.antlr.v4.runtime.tree.ParseTreeWalker.walk(ParseTreeWalker.java:28) at org.antlr.v4.runtime.tree.ParseTreeWalker.walk(ParseTreeWalker.java:28) at org.antlr.v4.runtime.tree.ParseTreeWalker.walk(ParseTreeWalker.java:28) at org.antlr.v4.runtime.tree.ParseTreeWalker.walk(ParseTreeWalker.java:28) at play.PlayScriptCompiler.compile(PlayScriptCompiler.java:38) at play.PlayScript.main(PlayScript.java:96)
运行环境: Windows10 64bit + JDK8 + IntelliJ2019
查看了一下你的提交记录,这个NPE应该是你在提交这个的时候引入的 "delayed the TypeResolve of local variable. local variable symbols are…" on April 14th. https://github.com/RichardGong/PlayWithCompiler/commit/d2b29fea450c185ecb17261677f674ca967a49a8
谢谢
你好,请问这个你怎么解决的?
Actually I did not solve the issue. I just revert back that change which was made on April 14th, then continue my learning.
+1,我也遇到了这个问题。 不止scratch.play文件,ClassTest.play,cloure.play 等多个文件均会报 java.lang.NullPointerException