You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@netbeans.apache.org by Geertjan Wielenga <ge...@apache.org> on 2020/02/01 09:01:31 UTC
Re: [Parsing API] : GsfHintsProvider.computeErrors issue
https://github.com/search?q=SyntaxErrorHighlightingTask&type=Code
Gj
On Sat, Feb 1, 2020 at 12:48 AM Bilu Al <al...@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 <ge...@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 <al...@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 <al...@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 <al...@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 <ge...@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 <al...@gmail.com> wrote:
>>>>> >>
>>>>> >> Any advice hear please?
>>>>> >>
>>>>> >>
>>>>> >> Le jeu. 30 janv. 2020 à 16:53, Bilu Al <al...@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-unsubscribe@netbeans.apache.org
>>>>> >> For additional commands, e-mail: users-help@netbeans.apache.org
>>>>> >>
>>>>> >> For further information about the NetBeans mailing lists, visit:
>>>>> >> https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists
>>>>> >>
>>>>>
>>>>
Re: [Parsing API] : GsfHintsProvider.computeErrors issue
Posted by Geertjan Wielenga <ge...@apache.org>.
Not yet, no. I recommend you look at other examples e.g., in the NetBeans
source code in GitHub.
Gj
On Sat, 1 Feb 2020 at 12:27, Bilu <al...@gmail.com> wrote:
> 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 <al...@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 <ge...@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 <al...@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 <al...@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 <al...@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 <ge...@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 <al...@gmail.com> wrote:
>>>>>> >>
>>>>>> >> Any advice hear please?
>>>>>> >>
>>>>>> >>
>>>>>> >> Le jeu. 30 janv. 2020 à 16:53, Bilu Al <al...@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-unsubscribe@netbeans.apache.org
>>>>>> >> For additional commands, e-mail: users-help@netbeans.apache.org
>>>>>> >>
>>>>>> >> For further information about the NetBeans mailing lists, visit:
>>>>>> >> https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists
>>>>>> >>
>>>>>>
>>>>>
Re: [Parsing API] : GsfHintsProvider.computeErrors issue
Posted by Bilu <al...@gmail.com>.
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 <albilu4@gmail.com
> <ma...@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
> <geertjan@apache.org <ma...@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 <albilu4@gmail.com
> <ma...@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 <albilu4@gmail.com
>> <ma...@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
>>> <albilu4@gmail.com <ma...@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
>>> <geertjan@apache.org
>>> <ma...@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
>>> <albilu4@gmail.com <ma...@gmail.com>>
>>> wrote:
>>> >>
>>> >> Any advice hear please?
>>> >>
>>> >>
>>> >> Le jeu. 30 janv. 2020 à 16:53, Bilu Al
>>> <albilu4@gmail.com <ma...@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-unsubscribe@netbeans.apache.org
>>> <ma...@netbeans.apache.org>
>>> >> For additional commands, e-mail:
>>> users-help@netbeans.apache.org
>>> <ma...@netbeans.apache.org>
>>> >>
>>> >> For further information about the NetBeans
>>> mailing lists, visit:
>>> >>
>>> https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists
>>> >>
>>>