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

Reply via email to