lunisolar / LNKD.tech-Editor

Editor for Turtle (Terse RDF Triple Language, TTL) files. This is a plugin for IntelliJ IDEA, IDEA Community Edition and others IDE environments based on IntelliJ Platform (also described here)
https://plugins.jetbrains.com/plugin/12802-lnkd-tech-editor
4 stars 0 forks source link

StackOverflowError in TurtleDirectiveBlockElement #33

Closed jak-ub closed 2 years ago

jak-ub commented 2 years ago
java.lang.StackOverflowError: null
    at com.intellij.extapi.psi.ASTDelegatePsiElement.getPrevSibling(ASTDelegatePsiElement.java:114)
    at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:28)
    at com.intellij.util.CachedValuesManagerImpl.getCachedValue(CachedValuesManagerImpl.java:72)
    at eu.lunisolar.lava.intellij.cache.IntelliJCaching$Cached.calculate(IntelliJCaching.java:175)
    at tech.lnkd.editor.lang.turtle.elements.directive.LteTurtleDirectiveBlock$TurtleDirectiveBlockElement.mapping(LteTurtleDirectiveBlock.java:69)
    at eu.lunisolar.magma.func.function.LFunction.apply(LFunction.java:83)
    at eu.lunisolar.magma.func.supp.opt.OptTrait.map(OptTrait.java:619)
    at tech.lnkd.editor.lang.turtle.elements.directive.LteTurtleDirectiveBlock$TurtleDirectiveBlockElement.previousMapping(LteTurtleDirectiveBlock.java:136)
    at tech.lnkd.editor.lang.turtle.elements.directive.LteTurtleDirectiveBlock$TurtleDirectiveBlockElement.lambda$mapping$2(LteTurtleDirectiveBlock.java:74)
    at eu.lunisolar.magma.func.supplier.LSupplier.shovingGet(LSupplier.java:193)
    at eu.lunisolar.lava.intellij.cache.IntelliJCaching$CVP.compute(IntelliJCaching.java:91)
    at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:39)
    at com.intellij.util.CachedValueBase.lambda$getValueWithLock$3(CachedValueBase.java:227)
    at com.intellij.util.CachedValueBase.computeData(CachedValueBase.java:42)
    at com.intellij.util.CachedValueBase.lambda$getValueWithLock$4(CachedValueBase.java:227)
    at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:114)
    at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:44)
    at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
    at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:228)
    at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:28)
    at com.intellij.util.CachedValuesManagerImpl.getCachedValue(CachedValuesManagerImpl.java:72)
    at eu.lunisolar.lava.intellij.cache.IntelliJCaching$Cached.calculate(IntelliJCaching.java:175)
    at tech.lnkd.editor.lang.turtle.elements.directive.LteTurtleDirectiveBlock$TurtleDirectiveBlockElement.mapping(LteTurtleDirectiveBlock.java:69)
    at eu.lunisolar.magma.func.function.LFunction.apply(LFunction.java:83)
    at eu.lunisolar.magma.func.supp.opt.OptTrait.map(OptTrait.java:619)
    at tech.lnkd.editor.lang.turtle.elements.directive.LteTurtleDirectiveBlock$TurtleDirectiveBlockElement.previousMapping(LteTurtleDirectiveBlock.java:136)
    at tech.lnkd.editor.lang.turtle.elements.directive.LteTurtleDirectiveBlock$TurtleDirectiveBlockElement.lambda$mapping$2(LteTurtleDirectiveBlock.java:74)
jak-ub commented 2 years ago

Can happen in larger (for text editing) files, where triples are interleaved with prefix directives.

jak-ub commented 2 years ago

ready for release