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
>>>>> >>
>>>>>
>>>>

Reply via email to