antlr / antlr4

ANTLR (ANother Tool for Language Recognition) is a powerful parser generator for reading, processing, executing, or translating structured text or binary files.
http://antlr.org
BSD 3-Clause "New" or "Revised" License
17.04k stars 3.27k forks source link

Cannot invoke "org.eclipse.xtext.ui.editor.preferences.IPreferenceStoreAccess.getPreferenceStore()" because "this.preferenceStoreAccess" is null #4458

Open MrTryingSu opened 11 months ago

MrTryingSu commented 11 months ago

When I was using eclipse version 2023-09, importing the plugin antlr4 ide 0.3.6 and using SyntaxDiagram, I encountered the following error. May I ask everyone how to resolve it? Thank you.

Cannot invoke 'org. eclipse. xtext. ui. editor. references. IPreferenceStoreAccess. getPreferenceStore()' because 'this. preferenceStoreAccess' is null

Loztal commented 9 months ago

Dear All, I've the same problem. I’ve also completely deinstalled eclipse 2023-09 and removed all folders for eclipse etc. Installed the previous version, we where the ANTLR plugin worked, but I got the same error.

Exception Stack Trace: java.lang.NullPointerException: Cannot invoke "org.eclipse.xtext.ui.editor.preferences.IPreferenceStoreAccess.getPreferenceStore()" because "this.preferenceStoreAccess" is null at com.github.jknack.antlr4ide.ui.views.ColorProvider.get(ColorProvider.java:115) at com.github.jknack.antlr4ide.ui.views.ColorProvider.bestFor(ColorProvider.java:98) at com.github.jknack.antlr4ide.ui.railroad.trafo.Antlr4RailroadFactory.createNodeSegment(Antlr4RailroadFactory.java:126) at com.github.jknack.antlr4ide.ui.railroad.trafo.Antlr4RailroadTransformer._toFigure(Antlr4RailroadTransformer.java:170) at com.github.jknack.antlr4ide.ui.railroad.trafo.Antlr4RailroadTransformer.toFigure(Antlr4RailroadTransformer.java:439) at com.github.jknack.antlr4ide.ui.railroad.trafo.Antlr4RailroadTransformer._toFigure(Antlr4RailroadTransformer.java:142) at com.github.jknack.antlr4ide.ui.railroad.trafo.Antlr4RailroadTransformer.toFigure(Antlr4RailroadTransformer.java:393) at com.github.jknack.antlr4ide.ui.railroad.trafo.Antlr4RailroadTransformer._toFigure(Antlr4RailroadTransformer.java:128) at com.github.jknack.antlr4ide.ui.railroad.trafo.Antlr4RailroadTransformer.toFigure(Antlr4RailroadTransformer.java:401) at com.github.jknack.antlr4ide.ui.railroad.trafo.Antlr4RailroadTransformer.transform(Antlr4RailroadTransformer.java:63) at com.github.jknack.antlr4ide.ui.railroad.trafo.Antlr4RailroadTransformer.children(Antlr4RailroadTransformer.java:367) at com.github.jknack.antlr4ide.ui.railroad.trafo.Antlr4RailroadTransformer._toFigure(Antlr4RailroadTransformer.java:118) at com.github.jknack.antlr4ide.ui.railroad.trafo.Antlr4RailroadTransformer.toFigure(Antlr4RailroadTransformer.java:391) at com.github.jknack.antlr4ide.ui.railroad.trafo.Antlr4RailroadTransformer._toFigure(Antlr4RailroadTransformer.java:106) at com.github.jknack.antlr4ide.ui.railroad.trafo.Antlr4RailroadTransformer.toFigure(Antlr4RailroadTransformer.java:405) at com.github.jknack.antlr4ide.ui.railroad.trafo.Antlr4RailroadTransformer.transform(Antlr4RailroadTransformer.java:63) at com.github.jknack.antlr4ide.ui.railroad.trafo.Antlr4RailroadTransformer.children(Antlr4RailroadTransformer.java:367) at com.github.jknack.antlr4ide.ui.railroad.trafo.Antlr4RailroadTransformer._toFigure(Antlr4RailroadTransformer.java:100) at com.github.jknack.antlr4ide.ui.railroad.trafo.Antlr4RailroadTransformer.toFigure(Antlr4RailroadTransformer.java:431) at com.github.jknack.antlr4ide.ui.railroad.trafo.Antlr4RailroadTransformer._toFigure(Antlr4RailroadTransformer.java:95) at com.github.jknack.antlr4ide.ui.railroad.trafo.Antlr4RailroadTransformer.toFigure(Antlr4RailroadTransformer.java:433) at com.github.jknack.antlr4ide.ui.railroad.trafo.Antlr4RailroadTransformer._toFigure(Antlr4RailroadTransformer.java:88) at com.github.jknack.antlr4ide.ui.railroad.trafo.Antlr4RailroadTransformer.toFigure(Antlr4RailroadTransformer.java:381) at com.github.jknack.antlr4ide.ui.railroad.trafo.Antlr4RailroadTransformer.transform(Antlr4RailroadTransformer.java:63) at com.github.jknack.antlr4ide.ui.railroad.trafo.Antlr4RailroadTransformer.children(Antlr4RailroadTransformer.java:367) at com.github.jknack.antlr4ide.ui.railroad.trafo.Antlr4RailroadTransformer._toFigure(Antlr4RailroadTransformer.java:80) at com.github.jknack.antlr4ide.ui.railroad.trafo.Antlr4RailroadTransformer.toFigure(Antlr4RailroadTransformer.java:403) at com.github.jknack.antlr4ide.ui.railroad.trafo.Antlr4RailroadTransformer.transform(Antlr4RailroadTransformer.java:63) at com.github.jknack.antlr4ide.ui.railroad.RailroadSynchronizer.createFigure(RailroadSynchronizer.java:93) at com.github.jknack.antlr4ide.ui.railroad.RailroadSynchronizer.access$0(RailroadSynchronizer.java:89) at com.github.jknack.antlr4ide.ui.railroad.RailroadSynchronizer$1.exec(RailroadSynchronizer.java:74) at com.github.jknack.antlr4ide.ui.railroad.RailroadSynchronizer$1.exec(RailroadSynchronizer.java:1) at org.eclipse.xtext.resource.OutdatedStateManager.exec(OutdatedStateManager.java:70) at org.eclipse.xtext.ui.editor.model.XtextDocument$XtextDocumentLocker.internalReadOnly(XtextDocument.java:525) at org.eclipse.xtext.ui.editor.model.XtextDocument$XtextDocumentLocker.readOnly(XtextDocument.java:497) at org.eclipse.xtext.ui.editor.model.XtextDocument.readOnly(XtextDocument.java:136) at com.github.jknack.antlr4ide.ui.railroad.RailroadSynchronizer.partActivated(RailroadSynchronizer.java:71) at com.github.jknack.antlr4ide.ui.railroad.RailroadSynchronizer.start(RailroadSynchronizer.java:55) at com.github.jknack.antlr4ide.ui.railroad.RailroadView.init(RailroadView.java:92) at org.eclipse.ui.part.ViewPart.init(ViewPart.java:113) at org.eclipse.ui.internal.ViewReference.initialize(ViewReference.java:129) at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.create(CompatibilityPart.java:344) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:58) at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:987) at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:952) at org.eclipse.e4.core.internal.di.InjectorImpl.internalInject(InjectorImpl.java:141) at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:395) at org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:322) at org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:202) at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.createFromBundle(ReflectionContributionFactory.java:91) at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.doCreate(ReflectionContributionFactory.java:60) at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.create(ReflectionContributionFactory.java:42) at org.eclipse.e4.ui.workbench.renderers.swt.ContributedPartRenderer.createWidget(ContributedPartRenderer.java:132) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createWidget(PartRenderingEngine.java:995) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:659) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$1.run(PartRenderingEngine.java:544) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:528) at org.eclipse.e4.ui.workbench.renderers.swt.ElementReferenceRenderer.createWidget(ElementReferenceRenderer.java:73) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createWidget(PartRenderingEngine.java:995) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:659) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:763) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$2.run(PartRenderingEngine.java:728) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:712) at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.lambda$0(PartServiceImpl.java:110) at org.eclipse.e4.ui.services.internal.events.UIEventHandler.lambda$0(UIEventHandler.java:38) at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:183) at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:133) at org.eclipse.swt.widgets.Display.syncExec(Display.java:4803) at org.eclipse.e4.ui.workbench.swt.DisplayUISynchronize.syncExec(DisplayUISynchronize.java:34) at org.eclipse.e4.ui.services.internal.events.UIEventHandler.handleEvent(UIEventHandler.java:38) at org.eclipse.equinox.internal.event.EventHandlerWrapper.handleEvent(EventHandlerWrapper.java:205) at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:203) at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:1) at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234) at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151) at org.eclipse.equinox.internal.event.EventAdminImpl.dispatchEvent(EventAdminImpl.java:133) at org.eclipse.equinox.internal.event.EventAdminImpl.sendEvent(EventAdminImpl.java:75) at org.eclipse.equinox.internal.event.EventComponent.sendEvent(EventComponent.java:44) at org.eclipse.e4.ui.services.internal.events.EventBroker.send(EventBroker.java:55) at org.eclipse.e4.ui.internal.workbench.UIEventPublisher.notifyChanged(UIEventPublisher.java:63) at org.eclipse.emf.common.notify.impl.BasicNotifierImpl.eNotify(BasicNotifierImpl.java:424) at org.eclipse.e4.ui.model.application.ui.impl.ElementContainerImpl.setSelectedElementGen(ElementContainerImpl.java:170) at org.eclipse.e4.ui.model.application.ui.impl.ElementContainerImpl.setSelectedElement(ElementContainerImpl.java:188) at org.eclipse.e4.ui.internal.workbench.ModelServiceImpl.showElementInWindow(ModelServiceImpl.java:660) at org.eclipse.e4.ui.internal.workbench.ModelServiceImpl.bringToTop(ModelServiceImpl.java:624) at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.delegateBringToTop(PartServiceImpl.java:790) at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.activate(PartServiceImpl.java:761) at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.activate(PartServiceImpl.java:683) at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.activate(PartServiceImpl.java:678) at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.showPart(PartServiceImpl.java:1255) at org.eclipse.ui.internal.WorkbenchPage.showPart(WorkbenchPage.java:1248) at org.eclipse.ui.internal.WorkbenchPage.busyShowView(WorkbenchPage.java:1236) at org.eclipse.ui.internal.WorkbenchPage.lambda$13(WorkbenchPage.java:4252) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67) at org.eclipse.ui.internal.WorkbenchPage.showView(WorkbenchPage.java:4250) at org.eclipse.ui.internal.WorkbenchPage.showView(WorkbenchPage.java:4234) at org.eclipse.ui.handlers.ShowViewHandler.openView(ShowViewHandler.java:135) at org.eclipse.ui.handlers.ShowViewHandler.openOther(ShowViewHandler.java:114) at org.eclipse.ui.handlers.ShowViewHandler.execute(ShowViewHandler.java:81) at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:283) at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:97) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:58) at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:309) at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:243) at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:173) at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:156) at org.eclipse.core.commands.Command.executeWithChecks(Command.java:488) at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:485) at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:213) at org.eclipse.ui.internal.handlers.LegacyHandlerService.executeCommand(LegacyHandlerService.java:389) at org.eclipse.ui.internal.ShowViewMenu$1.run(ShowViewMenu.java:126) at org.eclipse.jface.action.Action.runWithEvent(Action.java:474) at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:580) at org.eclipse.jface.action.ActionContributionItem.lambda$4(ActionContributionItem.java:414) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89) at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4274) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1066) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4072) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3660) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1155) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1046) at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155) at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:643) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:550) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:171) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:136) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:402) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:659) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:596) at org.eclipse.equinox.launcher.Main.run(Main.java:1467)

Session Data: eclipse.buildId=4.28.0.20230608-1200 java.version=17.0.9 java.vendor=Eclipse Adoptium BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_CH Framework arguments: -product org.eclipse.epp.package.java.product -product org.eclipse.epp.package.java.product Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product -data file:/C:/Users/xxxxxxxxxxxxxxxxxx/eclipse-workspace/ -product org.eclipse.epp.package.java.product

dshunter107 commented 9 months ago

same. I experienced this as well

bmharter commented 1 month ago

Everyone else may have a more legitimate problem, but I got this warning and realized I had forgotten to put the antlr4 jar in my classpath. Immediate fix.

Loztal commented 1 month ago

@bmharter, Sorry for my Rookie question. I use Eclipse and have created an ANTRL4 project, how do I put the ANTLR4 jar file in the classpath for my project?