错误(10):内部错误:无法使用属性indirectDelegates 方法get / isIndirectDelegates来自org.antlr.tool.Grammar实例: 显示java.lang.NullPointerException java.util.Objects.requireNonNull(未知来源) java.util.ArrayList.removeAll(未知来源) org.antlr.tool.CompositeGrammar.getIndirectDelegates(CompositeGrammar.java:222) org.antlr.tool.Grammar.getIndirectDelegates(Grammar.java:2620) sun.reflect.NativeMethodAccessorImpl.invoke0(原生方法) sun.reflect.NativeMethodAccessorImpl.invoke(未知来源) sun.reflect.DelegatingMethodAccessorImpl.invoke(未知来源) java.lang.reflect.Method.invoke(未知来源) org.antlr.stringtemplate.language.ASTExpr.invokeMethod(ASTExpr.java:564) org.antlr.stringtemplate.language.ASTExpr.rawGetObjectProperty(ASTExpr.java:515) org.antlr.stringtemplate.language.ASTExpr.getObjectProperty(ASTExpr.java:417) org.antlr.stringtemplate.language.ActionEvaluator.attribute(ActionEvaluator.java:351) org.antlr.stringtemplate.language.ActionEvaluator.expr(ActionEvaluator.java:136) org.antlr.stringtemplate.language.ActionEvaluator.templateApplication(ActionEvaluator.java:216) org.antlr.stringtemplate.language.ActionEvaluator.expr(ActionEvaluator.java:126) org.antlr.stringtemplate.language.ActionEvaluator.action(ActionEvaluator.java:84) org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:149) org.antlr.stringtemplate.StringTemplate.write(StringTemplate.java:705) org.antlr.stringtemplate.language.ASTExpr.writeTemplate(ASTExpr.java:750) org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:680) org.antlr.stringtemplate.language.ASTExpr.writeAttribute(ASTExpr.java:660) org.antlr.stringtemplate.language.ActionEvaluator.action(ActionEvaluator.java:86) org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:149) org.antlr.stringtemplate.StringTemplate.write(StringTemplate.java:705) org.antlr.stringtemplate.language.ASTExpr.writeTemplate(ASTExpr.java:750) org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:680) org.antlr.stringtemplate.language.ASTExpr.writeAttribute(ASTExpr.java:660) org.antlr.stringtemplate.language.ActionEvaluator.action(ActionEvaluator.java:86) org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:149) org.antlr.stringtemplate.StringTemplate.write(StringTemplate.java:705) org.antlr.stringtemplate.language.ASTExpr.writeTemplate(ASTExpr.java:750) org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:680) org.antlr.stringtemplate.language.ASTExpr.writeAttribute(ASTExpr.java:660) org.antlr.stringtemplate.language.ActionEvaluator.action(ActionEvaluator.java:86) org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:149) org.antlr.stringtemplate.StringTemplate.write(StringTemplate.java:705) org.antlr.codegen.CodeGenerator.write(CodeGenerator.java:1281) org.antlr.codegen.Target.genRecognizerFile(Target.java:94) org.antlr.codegen.CodeGenerator.genRecognizer(CodeGenerator.java:466) org.antlr.Tool.generateRecognizer(Tool.java:641) org.antlr.Tool.process(Tool.java:454)
答案 0 :(得分:25)
ANTLR 3在与Java 8一起使用时会产生此消息。但是,它似乎不会影响实际输出。在新版本的ANTLR 3中发布修复程序之前,您可以忽略该消息,也可以使用Java 7。
相关问题:
#151: NPE in CompositeGrammer.getIndirectDelegates in Java 8
答案 1 :(得分:1)
我在使用Java 1.8运行ANTLR 3.1.1时遇到了类似的错误。在我的Ant Build文件中,我更改了" java"的属性。任务到" failonerror =" false"。我仍然收到错误消息,但我的构建停止失败并产生了我想要的输出。
答案 2 :(得分:0)
对于Java 8和antlr 3,将jar更改为“ antlr-3.5.2-complete.jar”,错误就会消失。