Which other implementations did you check? Maybe you should go furthermore.
Gj On Fri, Jan 31, 2020 at 8:47 PM Bilu <albi...@gmail.com> wrote: > from my debug the issue seems to comes from the > SJSyntaxErrorHighlightingTask class. i check already a little other > implementations and they are quite similar but i failed to go futhermore. > > waiting for your feedback, thanks you very much > Le 31/01/2020 à 20:25, Geertjan Wielenga a écrit : > > I would look for other implementations of that class on GitHub and > elsewhere to see how others have done it. > > Gj > > > On Fri, 31 Jan 2020 at 20:18, Bilu <albi...@gmail.com> wrote: > >> Sorry you right i skipped this step a bit: >> >> What i do is: >> >> 5.a- change: public static class SJParserResult extends Result { => >> public >> static class SJParserResult extends >> org.netbeans.modules.csl.spi.ParserResult { >> >> 5.b- org.netbeans.modules.csl.spi.ParserResult require module: >> Common Scripting Language Types. Add it >> >> 5.c- Add: >> >> import java.util.List; >> >> import org.netbeans.modules.csl.api.Error; >> >> 5.d- Add abstract method : >> >> @Override >> public List<? extends Error> getDiagnostics() { >> return null; >> >> //throw new UnsupportedOperationException("Not supported >> yet."); //To change body of generated methods, choose Tools | Templates. >> } >> >> >> The SJParser now looks like this: >> >> package org.simplejava.parser; >> >> import java.io.Reader; >> import java.io.StringReader; >> import java.util.List; >> import java.util.logging.Level; >> import java.util.logging.Logger; >> import javax.swing.event.ChangeListener; >> import org.netbeans.modules.csl.api.Error; >> import org.netbeans.modules.parsing.api.Snapshot; >> import org.netbeans.modules.parsing.api.Task; >> import org.netbeans.modules.parsing.spi.Parser; >> import org.netbeans.modules.parsing.spi.Parser.Result; >> import org.netbeans.modules.parsing.spi.SourceModificationEvent; >> import org.simplejava.jccparser.JavaParser; >> >> public class SJParser extends Parser { >> >> private Snapshot snapshot; >> private JavaParser javaParser; >> >> @Override >> public void parse(Snapshot snapshot, Task task, >> SourceModificationEvent event) { >> this.snapshot = snapshot; >> Reader reader = new StringReader(snapshot.getText().toString()); >> javaParser = new JavaParser(reader); >> try { >> javaParser.CompilationUnit(); >> } catch (org.simplejava.jccparser.ParseException ex) { >> Logger.getLogger(SJParser.class.getName()).log(Level.WARNING, >> null, ex); >> } >> } >> >> @Override >> public Result getResult(Task task) { >> return new SJParserResult(snapshot, javaParser); >> } >> >> @Override >> public void cancel() { >> } >> >> @Override >> public void addChangeListener(ChangeListener changeListener) { >> } >> >> @Override >> public void removeChangeListener(ChangeListener changeListener) { >> } >> >> public static class SJParserResult extends >> org.netbeans.modules.csl.spi.ParserResult { >> >> private JavaParser javaParser; >> private boolean valid = true; >> >> SJParserResult(Snapshot snapshot, JavaParser javaParser) { >> super(snapshot); >> this.javaParser = javaParser; >> } >> >> public JavaParser getJavaParser() throws >> org.netbeans.modules.parsing.spi.ParseException { >> if (!valid) { >> throw new >> org.netbeans.modules.parsing.spi.ParseException(); >> } >> return javaParser; >> } >> >> @Override >> protected void invalidate() { >> valid = false; >> } >> >> @Override >> public List<? extends Error> getDiagnostics() { >> return null; >> >> //throw new UnsupportedOperationException("Not supported >> yet."); //To change body of generated methods, choose Tools | Templates. >> } >> >> } >> >> } >> >> >> Le 31/01/2020 à 19:56, Geertjan Wielenga a écrit : >> >> What does this mean, exactly: >> >> "update SJParserResult class to extend o.n.m.csl.spi.ParserResult instead >> of o.n.m.parsing.spi.Parser.Result" >> >> I'm not going ton try to guess, since you have done the above, would be >> best if you'd explain how you made the above change -- it's not a >> simple question of changing import statements. >> >> Gj >> >> On Fri, Jan 31, 2020 at 7:07 PM Bilu Al <albi...@gmail.com> wrote: >> >>> Complete step is available in this tutorial: >>> https://platform.netbeans.org/tutorials/nbm-javacc-parser.html >>> >>> You can also get the complete source code of the tutorial to avoid all >>> the steps: >>> https://github.com/vparfonov/api-samples/tree/master/nb-api-samples~api-samples/versions/7.2/tutorials/SimpleJava2 >>> >>> >>> 1. Open Project SimpleJava2 >>> 2. You should miss File Template dependency. Add it >>> 3. Run SimpleJava2 project >>> 4. open a SJ file (sample.sj) containing a java like source code => >>> Exception occur (java.lang.ClassCastException:) >>> 5. update SJParserResult class to extend o.n.m.csl.spi.ParserResult >>> instead of o.n.m.parsing.spi.Parser.Result like suggest here >>> https://bz.apache.org/netbeans/show_bug.cgi?id=167064 >>> 6. Rerun the Project, you should get now >>> java.lang.NullPointerException >>> >>> >>> Env is: >>> Product Version: Apache NetBeans IDE 11.1 >>> Updates: NetBeans IDE is updated to version NetBeans 8.2 Patch 2 >>> Java: 1.8.0_181; Java HotSpot(TM) 64-Bit Server VM 25.181-b13 >>> Runtime: Java(TM) SE Runtime Environment 1.8.0_181-b13 >>> System: Windows 10 version 10.0 running on amd64; Cp1252; en_US (nb) >>> User directory: C:\Users\xxxx\AppData\Roaming\NetBeans\11.1 >>> Cache directory: C:\Users\xxxx\AppData\Local\NetBeans\Cache\11.1 >>> >>> Thanks >>> >>> >>> >>> Le ven. 31 janv. 2020 à 18:37, Geertjan Wielenga <geert...@apache.org> >>> a écrit : >>> > >>> > Complete environment and precise steps to take to reproduce the >>> problem. >>> > >>> > Gj >>> > >>> > On Fri, Jan 31, 2020 at 6:35 PM Bilu Al <albi...@gmail.com> wrote: >>> >> >>> >> Any advice hear please? >>> >> >>> >> >>> >> Le jeu. 30 janv. 2020 à 16:53, Bilu Al <albi...@gmail.com> a écrit : >>> >> > >>> >> > Hello, >>> >> > >>> >> > Can somebody tell if this tutorial still up to date: >>> https://platform.netbeans.org/tutorials/nbm-javacc-parser.html with >>> Apache NetBeans IDE 11.1 platform? >>> >> > >>> >> > I am facing an issue when implementing this in my module >>> >> > >>> >> > I have the same issue with the complete tutorial source code : >>> https://github.com/vparfonov/api-samples/tree/master/nb-api-samples~api-samples/versions/7.2/tutorials/SimpleJava2 >>> >> > >>> >> > i am getting this exception: >>> >> > >>> >> > java.lang.ClassCastException: >>> org.simplejava.parser.SJParser$SJParserResult cannot be cast to >>> org.netbeans.modules.csl.spi.ParserResult >>> >> > at >>> org.netbeans.modules.csl.hints.infrastructure.SuggestionsTask.run(SuggestionsTask.java:54) >>> >> > at >>> org.netbeans.modules.parsing.impl.TaskProcessor.callParserResultTask(TaskProcessor.java:561) >>> >> > [catch] at >>> org.netbeans.modules.parsing.impl.TaskProcessor$RequestPerformer.run(TaskProcessor.java:786) >>> >> > at org.openide.util.lookup.Lookups.executeWith(Lookups.java:279) >>> >> > at >>> org.netbeans.modules.parsing.impl.TaskProcessor$RequestPerformer.execute(TaskProcessor.java:702) >>> >> > at >>> org.netbeans.modules.parsing.impl.TaskProcessor$CompilationJob.run(TaskProcessor.java:663) >>> >> > at >>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) >>> >> > at java.util.concurrent.FutureTask.run(FutureTask.java:266) >>> >> > at >>> org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1418) >>> >> > at >>> org.netbeans.modules.openide.util.GlobalLookup.execute(GlobalLookup.java:45) >>> >> > at org.openide.util.lookup.Lookups.executeWith(Lookups.java:278) >>> >> > at >>> org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2033) >>> >> > >>> >> > I follow the fix here: >>> https://bz.apache.org/netbeans/show_bug.cgi?id=167064 about the >>> previous exception and now i am getting this indefinitely : >>> >> > >>> >> > java.lang.NullPointerException >>> >> > at >>> org.netbeans.modules.csl.hints.GsfHintsProvider.computeErrors(GsfHintsProvider.java:114) >>> >> > at >>> org.netbeans.modules.csl.hints.GsfHintsProvider.processErrors(GsfHintsProvider.java:388) >>> >> > at >>> org.netbeans.modules.csl.hints.GsfHintsProvider.processErrorsRecursive(GsfHintsProvider.java:359) >>> >> > at >>> org.netbeans.modules.csl.hints.GsfHintsProvider.refreshErrors(GsfHintsProvider.java:327) >>> >> > at >>> org.netbeans.modules.csl.hints.GsfHintsProvider.access$200(GsfHintsProvider.java:79) >>> >> > at >>> org.netbeans.modules.csl.hints.GsfHintsProvider$2.run(GsfHintsProvider.java:407) >>> >> > at >>> org.netbeans.modules.parsing.impl.TaskProcessor.callUserTask(TaskProcessor.java:586) >>> >> > at >>> org.netbeans.modules.parsing.api.ParserManager$UserTaskAction.run(ParserManager.java:130) >>> >> > at >>> org.netbeans.modules.parsing.api.ParserManager$UserTaskAction.run(ParserManager.java:114) >>> >> > at >>> org.netbeans.modules.parsing.impl.TaskProcessor$2.call(TaskProcessor.java:181) >>> >> > at >>> org.netbeans.modules.parsing.impl.TaskProcessor$2.call(TaskProcessor.java:178) >>> >> > at >>> org.netbeans.modules.masterfs.filebasedfs.utils.FileChangedManager.priorityIO(FileChangedManager.java:153) >>> >> > at >>> org.netbeans.modules.masterfs.providers.ProvidedExtensions.priorityIO(ProvidedExtensions.java:335) >>> >> > at >>> org.netbeans.modules.parsing.nb.DataObjectEnvFactory.runPriorityIO(DataObjectEnvFactory.java:118) >>> >> > at >>> org.netbeans.modules.parsing.impl.Utilities.runPriorityIO(Utilities.java:67) >>> >> > at >>> org.netbeans.modules.parsing.impl.TaskProcessor.runUserTask(TaskProcessor.java:178) >>> >> > Caused: org.netbeans.modules.parsing.spi.ParseException >>> >> > at >>> org.netbeans.modules.parsing.impl.TaskProcessor.runUserTask(TaskProcessor.java:186) >>> >> > at >>> org.netbeans.modules.parsing.api.ParserManager.parse(ParserManager.java:81) >>> >> > [catch] at >>> org.netbeans.modules.csl.hints.GsfHintsProvider.run(GsfHintsProvider.java:405) >>> >> > at >>> org.netbeans.modules.csl.hints.GsfHintsProvider.run(GsfHintsProvider.java:79) >>> >> > at >>> org.netbeans.modules.parsing.impl.TaskProcessor.callParserResultTask(TaskProcessor.java:561) >>> >> > at >>> org.netbeans.modules.parsing.impl.TaskProcessor$RequestPerformer.run(TaskProcessor.java:786) >>> >> > at org.openide.util.lookup.Lookups.executeWith(Lookups.java:279) >>> >> > at >>> org.netbeans.modules.parsing.impl.TaskProcessor$RequestPerformer.execute(TaskProcessor.java:702) >>> >> > at >>> org.netbeans.modules.parsing.impl.TaskProcessor$CompilationJob.run(TaskProcessor.java:663) >>> >> > at >>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) >>> >> > at java.util.concurrent.FutureTask.run(FutureTask.java:266) >>> >> > at >>> org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1418) >>> >> > at >>> org.netbeans.modules.openide.util.GlobalLookup.execute(GlobalLookup.java:45) >>> >> > at org.openide.util.lookup.Lookups.executeWith(Lookups.java:278) >>> >> > at >>> org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2033) >>> >> > >>> >> > Thanks you >>> >> >>> >> --------------------------------------------------------------------- >>> >> To unsubscribe, e-mail: users-unsubscr...@netbeans.apache.org >>> >> For additional commands, e-mail: users-h...@netbeans.apache.org >>> >> >>> >> For further information about the NetBeans mailing lists, visit: >>> >> https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists >>> >> >>> >>