none of this works, first example was quit similar. did you reproduce the problem or not?
Le 01/02/2020 à 10:01, Geertjan Wielenga a écrit : > https://github.com/search?q=SyntaxErrorHighlightingTask&type=Code > > Gj > > On Sat, Feb 1, 2020 at 12:48 AM Bilu Al <albi...@gmail.com > <mailto: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 <mailto: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 > <mailto: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 >> <mailto: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 <mailto: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 >>> <http://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 >>> <mailto: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 <mailto:albi...@gmail.com>> >>> wrote: >>> >> >>> >> Any advice hear please? >>> >> >>> >> >>> >> Le jeu. 30 janv. 2020 à 16:53, Bilu Al >>> <albi...@gmail.com <mailto: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 >>> <mailto:users-unsubscr...@netbeans.apache.org> >>> >> For additional commands, e-mail: >>> users-h...@netbeans.apache.org >>> <mailto:users-h...@netbeans.apache.org> >>> >> >>> >> For further information about the NetBeans >>> mailing lists, visit: >>> >> >>> >>> https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists >>> >> >>>