8000 GLSL highlighter doesn't work properly · Issue #632 · jMonkeyEngine/sdk · GitHub
[go: up one dir, main page]

Skip to content
  • Insights
  • GLSL highlighter doesn't work properly #632
    @tonihele

    Description

    @tonihele

    GLSL highlighter doesn't work properly. It is kinda laggy and produces the following error on the log. This seems to happen with Netbeans 23 & 24.

    See https://hub.jmonkeyengine.org/t/shader-code-editors-do-not-refresh-properly/.

    Also https://github.com/jMonkeyEngine/sdk/blob/master/jme3-glsl-highlighter/src/com/jme3/gde/glsl/highlighter/lexer/GlslKeywordLibrary.java, the lookup is really slow. Maybe generalized suffix tree to the rescue?

    java.lang.NullPointerException: Cannot invoke "com.jme3.gde.glsl.highlighter.lexer.GlslKeywordLibrary$KeywordType.ordinal()" because "current" is null
    	at com.jme3.gde.glsl.highlighter.lexer.GlslLexer.nextToken(GlslLexer.java:195)
    	at org.netbeans.lib.lexer.LexerInputOperation.nextToken(LexerInputOperation.java:191)
    	at org.netbeans.lib.lexer.inc.IncTokenList.tokenOrEmbeddingImpl(IncTokenList.java:170)
    	at org.netbeans.lib.lexer.inc.IncTokenList.tokenOrEmbedding(IncTokenList.java:165)
    	at org.netbeans.api.lexer.TokenSequence.moveNext(TokenSequence.java:458)
    	at org.netbeans.modules.textmate.lexer.SyntaxHighlighting$TSInfo.moveNextToken(SyntaxHighlighting.java:785)
    	at org.netbeans.modules.textmate.lexer.SyntaxHighlighting$HSImpl.moveTheSequence(SyntaxHighlighting.java:482)
    	at org.netbeans.modules.textmate.lexer.SyntaxHighlighting$HSImpl.moveNext(SyntaxHighlighting.java:431)
    	at org.netbeans.modules.editor.lib2.highlighting.DirectMergeContainer$Wrapper.fetchNextHighlight(DirectMergeContainer.java:600)
    	at org.netbeans.modules.editor.lib2.highlighting.DirectMergeContainer$HlSequence.updateMergeVars(DirectMergeContainer.java:337)
    	at org.netbeans.modules.editor.lib2.highlighting.DirectMergeContainer$HlSequence.nextMerge(DirectMergeContainer.java:303)
    	at org.netbeans.modules.editor.lib2.highlighting.DirectMergeContainer$HlSequence.moveNext(DirectMergeContainer.java:234)
    	at org.netbeans.modules.editor.lib2.highlighting.HighlightsReader.readUntil(HighlightsReader.java:59)
    	at org.netbeans.modules.editor.lib2.view.HighlightsViewFactory.restart(HighlightsViewFactory.java:168)
    	at org.netbeans.modules.editor.lib2.view.ViewBuilder$FactoryState.init(ViewBuilder.java:1299)
    	at org.netbeans.modules.editor.lib2.view.ViewBuilder.createViews(ViewBuilder.java:699)
    	at org.netbeans.modules.editor.lib2.view.ViewBuilder.createReplaceRepaintViews(ViewBuilder.java:660)
    	at org.netbeans.modules.editor.lib2.view.ViewUpdates.initParagraphs(ViewUpdates.java:206)
    	at org.netbeans.modules.editor.lib2.view.DocumentViewOp.initParagraphs(DocumentViewOp.java:636)
    	at org.netbeans.modules.editor.lib2.view.DocumentViewChildren.ensureParagraphsChildrenAndLayoutValid(DocumentViewChildren.java:512)
    	at org.netbeans.modules.editor.lib2.view.DocumentViewChildren.ensureParagraphViewChildrenValid(DocumentViewChildren.java:268)
    	at org.netbeans.modules.editor.lib2.view.DocumentViewChildren.viewToModelChecked(DocumentViewChildren.java:316)
    	at org.netbeans.modules.editor.lib2.view.DocumentView.viewToModelNeedsLock(DocumentView.java:819)
    	at org.netbeans.modules.editor.lib2.view.ViewHierarchyImpl.viewToModel(ViewHierarchyImpl.java:232)
    	at org.netbeans.modules.editor.lib2.view.LockedViewHierarchy.viewToModel(LockedViewHierarchy.java:139)
    	at org.netbeans.editor.BaseTextUI.getPosFromY(BaseTextUI.java:282)
    	at org.netbeans.modules.editor.fold.ui.CodeFoldingSideBar.getPaintInfo(CodeFoldingSideBar.java:468)
    	at org.netbeans.modules.editor.fold.ui.CodeFoldingSideBar.paintComponent(CodeFoldingSideBar.java:1021)
    	at java.desktop/javax.swing.JComponent.paint(JComponent.java:1128)
    	at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:961)
    	at java.desktop/javax.swing.JComponent.paint(JComponent.java:1137)
    	at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:961)
    	at java.desktop/javax.swing.JComponent.paint(JComponent.java:1137)
    	at java.desktop/javax.swing.JViewport.paint(JViewport.java:736)
    	at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:961)
    	at java.desktop/javax.swing.JComponent.paint(JComponent.java:1137)
    	at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:961)
    	at java.desktop/javax.swing.JComponent.paint(JComponent.java:1137)
    	at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:961)
    	at java.desktop/javax.swing.JComponent.paint(JComponent.java:1137)
    	at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:961)
    	at java.desktop/javax.swing.JComponent.paint(JComponent.java:1137)
    	at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:961)
    	at java.desktop/javax.swing.JComponent.paint(JComponent.java:1137)
    	at org.netbeans.swing.tabcontrol.TabbedContainer.paint(TabbedContainer.java:975)
    	at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:961)
    	at java.desktop/javax.swing.JComponent.paint(JComponent.java:1137)
    	at java.desktop/javax.swing.JComponent.paintToOffscreen(JComponent.java:5318)
    	at java.desktop/javax.swing.RepaintManager$PaintManager.paintDoubleBufferedImpl(RepaintManager.java:1656)
    	at java.desktop/javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1631)
    	at java.desktop/javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1569)
    	at java.desktop/javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:271)
    	at java.desktop/javax.swing.RepaintManager.paint(RepaintManager.java:1336)
    	at java.desktop/javax.swing.JComponent._paintImmediately(JComponent.java:5266)
    	at java.desktop/javax.swing.JComponent.paintImmediately(JComponent.java:5076)
    	at java.desktop/javax.swing.JComponent.paintImmediately(JComponent.java:5057)
    	at java.desktop/javax.swing.RepaintManager$4.run(RepaintManager.java:878)
    	at java.desktop/javax.swing.RepaintManager$4.run(RepaintManager.java:861)
    	at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
    	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
    	at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:861)
    	at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:834)
    	at java.desktop/javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:784)
    	at java.desktop/javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1897)
    	at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
    	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773)
    	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720)
    	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714)
    	at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
    	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
    	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
    	at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:136)
    	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
    	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
    	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
    	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
    	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
    

    Metadata

    Metadata

    Assignees

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0