Frage

sorry for my english! I install plagin in eclipse, but wen i run my little project i have this problem. Why its not work?

error(10): internal error: Can't get property indirectDelegates using method get/isIndirectDelegates from org.antlr.tool.Grammar instance : java.lang.NullPointerException java.util.Objects.requireNonNull(Unknown Source) java.util.ArrayList.removeAll(Unknown Source) org.antlr.tool.CompositeGrammar.getIndirectDelegates(CompositeGrammar.java:222) org.antlr.tool.Grammar.getIndirectDelegates(Grammar.java:2620) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) java.lang.reflect.Method.invoke(Unknown Source) 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)

War es hilfreich?

Lösung

ANTLR 3 produces this message when used with Java 8. However, it doesn't seem to affect the actual output. Until the fix is released in a new version of ANTLR 3, you can either ignore the message, or use Java 7.

Related issue:
#151: NPE in CompositeGrammer.getIndirectDelegates in Java 8

Andere Tipps

I got a similar error running ANTLR 3.1.1 with Java 1.8. In my Ant Build file, I changed the attribute of the "java" task to "failonerror="false". I still got the error message, but my build stopped failing and produced the output that I wanted.

For java 8 and antlr 3, change the jar to "antlr-3.5.2-complete.jar" and the error will go away.

  1. update the ANTLR plugin to version 2.1.2
  2. Go to project properties-> ANTLR -> Building
  3. Uncheck "Enable project specific settings"
  4. Click "Configure Workspace Settings" -> ANTLR -> Builder -> Building
  5. Remove the installed 3.5.2 package
  6. Add installed packages and point it to the folder of "antlr-3.5.2-complete.jar"
  7. Save and come back to enable project specific settings.
  8. In the General-> ANTLR Runtime, select 3.5.2
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top