`[Error] interface` syntax not recognized
danielgranhao opened this issue · comments
Daniel Granhão commented
The plugin has trouble dealing with error interfaces such as the one that follows:
[Error]
interface ExampleError {
ExampleErrorOne(string msg);
ExampleErrorTwo(string msg);
};
Both ExampleErrorOne
and ExampleErrorTwo
get red (can't be resolved) and when
hovering the cursor over them, an exception occurs:
java.lang.NullPointerException: Cannot invoke "com.intellij.psi.PsiElement.getNode()" because the return value of "com.intellij.psi.PsiElement.getFirstChild()" is null
at dev.lonami.uniffidl.psi.impl.UdlPsiImplUtil.getNameIdentifier(UdlPsiImplUtil.java:128)
at dev.lonami.uniffidl.psi.impl.UdlRegularOperationImpl.getNameIdentifier(UdlRegularOperationImpl.java:44)
at com.intellij.model.psi.impl.PsiElement2Declaration.getIdentifyingElement(PsiElement2Declaration.java:120)
at com.intellij.model.psi.impl.PsiElement2Declaration.getIdentifyingElement(PsiElement2Declaration.java:113)
at com.intellij.model.psi.impl.PsiElement2Declaration.getDeclarationRangeFromPsi(PsiElement2Declaration.java:73)
at com.intellij.model.psi.impl.PsiElement2Declaration.createFromDeclaredPsiElement(PsiElement2Declaration.java:68)
at com.intellij.model.psi.impl.TargetsKt.declarationsOrReferences(targets.kt:124)
at com.intellij.model.psi.impl.TargetsKt.declaredReferencedData(targets.kt:41)
at com.intellij.model.psi.impl.TargetsKt.targetSymbols(targets.kt:23)
at com.intellij.lang.documentation.symbol.impl.DefaultTargetSymbolDocumentationTargetProviderKt.symbolDocumentationTargets(DefaultTargetSymbolDocumentationTargetProvider.kt:24)
at com.intellij.lang.documentation.symbol.impl.DefaultTargetSymbolDocumentationTargetProviderKt.access$symbolDocumentationTargets(DefaultTargetSymbolDocumentationTargetProvider.kt:1)
at com.intellij.lang.documentation.symbol.impl.DefaultTargetSymbolDocumentationTargetProvider.documentationTargets(DefaultTargetSymbolDocumentationTargetProvider.kt:19)
at com.intellij.lang.documentation.impl.ImplKt.documentationTargets(impl.kt:27)
at com.intellij.lang.documentation.ide.impl.IdeDocumentationTargetProviderImpl.documentationTargets(IdeDocumentationTargetProviderImpl.kt:35)
at com.intellij.lang.documentation.ide.impl.DocumentationTargetHoverInfoKt$calcTargetDocumentationInfo$1$request$1$targets$1.invoke(DocumentationTargetHoverInfo.kt:39)
at com.intellij.lang.documentation.ide.impl.DocumentationTargetHoverInfoKt$calcTargetDocumentationInfo$1$request$1$targets$1.invoke(DocumentationTargetHoverInfo.kt:39)
at com.intellij.lang.documentation.ide.impl.DocumentationTargetHoverInfoKt.injectedThenHost(DocumentationTargetHoverInfo.kt:76)
at com.intellij.lang.documentation.ide.impl.DocumentationTargetHoverInfoKt$calcTargetDocumentationInfo$1$request$1.invoke(DocumentationTargetHoverInfo.kt:37)
at com.intellij.lang.documentation.ide.impl.DocumentationTargetHoverInfoKt$calcTargetDocumentationInfo$1$request$1.invoke(DocumentationTargetHoverInfo.kt:36)
at com.intellij.openapi.application.rw.InternalReadAction.insideReadAction(InternalReadAction.kt:90)
at com.intellij.openapi.application.rw.InternalReadAction.access$insideReadAction(InternalReadAction.kt:15)
at com.intellij.openapi.application.rw.InternalReadAction$tryReadCancellable$1.invoke(InternalReadAction.kt:74)
at com.intellij.openapi.application.rw.InternalReadAction$tryReadCancellable$1.invoke(InternalReadAction.kt:73)
at com.intellij.openapi.progress.CancellationKt.withCurrentJob$lambda$0(cancellation.kt:17)
at com.intellij.openapi.progress.Cancellation.withCurrentJob(Cancellation.java:60)
at com.intellij.openapi.progress.CancellationKt.withCurrentJob(cancellation.kt:17)
at com.intellij.openapi.progress.CancellationKt.executeWithJobAndCompleteIt(cancellation.kt:125)
at com.intellij.openapi.application.rw.CancellableReadActionKt.cancellableReadActionInternal$lambda$1$lambda$0(cancellableReadAction.kt:49)
at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1111)
at com.intellij.openapi.application.rw.CancellableReadActionKt.cancellableReadActionInternal$lambda$1(cancellableReadAction.kt:47)
at com.intellij.openapi.progress.util.ProgressIndicatorUtilService.runActionAndCancelBeforeWrite(ProgressIndicatorUtilService.java:63)
at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runActionAndCancelBeforeWrite(ProgressIndicatorUtils.java:128)
at com.intellij.openapi.application.rw.CancellableReadActionKt.cancellableReadActionInternal(cancellableReadAction.kt:45)
at com.intellij.openapi.application.rw.InternalReadAction.tryReadCancellable(InternalReadAction.kt:73)
at com.intellij.openapi.application.rw.InternalReadAction.access$tryReadCancellable(InternalReadAction.kt:15)
at com.intellij.openapi.application.rw.InternalReadAction$tryReadAction$2.invoke(InternalReadAction.kt:59)
at com.intellij.openapi.application.rw.InternalReadAction$tryReadAction$2.invoke(InternalReadAction.kt:54)
at com.intellij.openapi.progress.CancellationKt.withCurrentJob$lambda$0(cancellation.kt:17)
at com.intellij.openapi.progress.Cancellation.withCurrentJob(Cancellation.java:60)
at com.intellij.openapi.progress.CancellationKt.withCurrentJob(cancellation.kt:17)
at com.intellij.openapi.progress.CoroutinesKt.blockingContext(coroutines.kt:142)
at com.intellij.openapi.application.rw.InternalReadAction.tryReadAction(InternalReadAction.kt:54)
at com.intellij.openapi.application.rw.InternalReadAction.readLoop(InternalReadAction.kt:46)
at com.intellij.openapi.application.rw.InternalReadAction.access$readLoop(InternalReadAction.kt:15)
at com.intellij.openapi.application.rw.InternalReadAction$runReadAction$2.invokeSuspend(InternalReadAction.kt:27)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)