https://github.com/search?q=SyntaxErrorHighlightingTask&type=Code
Gj On Sat, Feb 1, 2020 at 12:48 AM Bilu Al <albi...@gmail.com> wrote: > > https://vimsky.com/zh-tw/examples/detail/java-method-org.netbeans.spi.editor.hints.ErrorDescriptionFactory.createErrorDescription.html > > There must be some issue change in the API > > Le ven. 31 janv. 2020 à 22:43, Geertjan Wielenga <geert...@apache.org> a > écrit : > >> 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 >>>>> >> >>>>> >>>>