mplushnikov / lombok-intellij-plugin

Lombok Plugin for IntelliJ IDEA
Apache License 2.0
3.11k stars 635 forks source link

intellij 2018.2 report the KotlinNullPointerException #514

Closed hypercube1024 closed 5 years ago

hypercube1024 commented 6 years ago

Short description

Provide a short description of the issue here. Do not include stacktraces in this sectrion

Expected behavior

Is there a specific expected behavior?

Version information

Steps to reproduce

What steps do we need to take to reproduce this issue?

  1. ???
  2. ???
  3. ???

Sample project

Please provide a sample project that exhibits the problem. You should also include .idea folder so we can inspect the settings.

Additional information

Is there any additional information you can provide to help us understanding and solving the issue?

Stacktrace

If you are experiencing an issue and IntelliJ throws an error please provide the stacktrace.


provider: de.plushnikov.intellij.plugin.provider.LombokAugmentProvider@545edc61

kotlin.KotlinNullPointerException
    at org.jetbrains.kotlin.asJava.elements.KtLightAnnotationForSourceEntry$getNameReferenceElement$1.invoke(lightAnnotations.kt:137)
    at org.jetbrains.kotlin.asJava.elements.KtLightAnnotationForSourceEntry$getNameReferenceElement$1.invoke(lightAnnotations.kt:86)
    at org.jetbrains.kotlin.asJava.elements.KtLightPsiJavaCodeReferenceElement$delegate$2.invoke(KtLightPsiJavaCodeReferenceElement.kt:21)
    at org.jetbrains.kotlin.asJava.elements.KtLightPsiJavaCodeReferenceElement$delegate$2.invoke(KtLightPsiJavaCodeReferenceElement.kt:12)
    at kotlin.SafePublicationLazyImpl.getValue(LazyJVM.kt:107)
    at org.jetbrains.kotlin.asJava.elements.KtLightPsiJavaCodeReferenceElement.getDelegate(KtLightPsiJavaCodeReferenceElement.kt)
    at org.jetbrains.kotlin.asJava.elements.KtLightPsiJavaCodeReferenceElement.getReferenceName(KtLightPsiJavaCodeReferenceElement.kt:29)
    at de.plushnikov.intellij.plugin.util.PsiAnnotationSearchUtil.findAnnotationQuick(PsiAnnotationSearchUtil.java:101)
    at de.plushnikov.intellij.plugin.util.PsiAnnotationSearchUtil.findAnnotation(PsiAnnotationSearchUtil.java:42)
    at de.plushnikov.intellij.plugin.processor.method.AbstractMethodProcessor.process(AbstractMethodProcessor.java:39)
    at de.plushnikov.intellij.plugin.provider.LombokAugmentProvider$LombokCachedValueProvider.compute(LombokAugmentProvider.java:176)
    at com.intellij.psi.util.CachedValuesManager.lambda$getCachedValue$0(CachedValuesManager.java:140)
    at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:49)
    at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:222)
    at com.intellij.psi.impl.PsiCachedValue.getValueWithLock(PsiCachedValue.java:60)
    at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:38)
    at com.intellij.util.CachedValuesManagerImpl.getCachedValue(CachedValuesManagerImpl.java:87)
    at com.intellij.psi.util.CachedValuesManager.getCachedValue(CachedValuesManager.java:139)
    at com.intellij.psi.util.CachedValuesManager.getCachedValue(CachedValuesManager.java:126)
    at de.plushnikov.intellij.plugin.provider.LombokAugmentProvider.getAugments(LombokAugmentProvider.java:127)
    at com.intellij.psi.augment.PsiAugmentProvider.lambda$collectAugments$0(PsiAugmentProvider.java:90)
    at com.intellij.psi.augment.PsiAugmentProvider.forEach(PsiAugmentProvider.java:134)
    at com.intellij.psi.augment.PsiAugmentProvider.collectAugments(PsiAugmentProvider.java:89)
    at com.intellij.psi.impl.source.ClassInnerStuffCache.getAllMethods(ClassInnerStuffCache.java:112)
    at com.intellij.psi.impl.source.ClassInnerStuffCache.lambda$getMethods$2(ClassInnerStuffCache.java:46)
    at com.intellij.psi.util.CachedValuesManager.lambda$getCachedValue$0(CachedValuesManager.java:140)
    at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:49)
    at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:222)
    at com.intellij.psi.impl.PsiCachedValue.getValueWithLock(PsiCachedValue.java:60)
    at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:38)
    at com.intellij.util.CachedValuesManagerImpl.getCachedValue(CachedValuesManagerImpl.java:87)
    at com.intellij.psi.util.CachedValuesManager.getCachedValue(CachedValuesManager.java:139)
    at com.intellij.psi.util.CachedValuesManager.getCachedValue(CachedValuesManager.java:126)
    at com.intellij.psi.impl.source.ClassInnerStuffCache.getMethods(ClassInnerStuffCache.java:46)
    at org.jetbrains.kotlin.asJava.classes.KtLightClassBase.getMethods(KtLightClassBase.kt:38)
    at org.jetbrains.kotlin.asJava.LightClassUtil$getPsiMethodWrappers$1.invoke(LightClassUtil.kt:131)
    at org.jetbrains.kotlin.asJava.LightClassUtil$getPsiMethodWrappers$1.invoke(LightClassUtil.kt:33)
    at kotlin.sequences.FlatteningSequence$iterator$1.ensureItemIterator(Sequences.kt:254)
    at kotlin.sequences.FlatteningSequence$iterator$1.hasNext(Sequences.kt:242)
    at kotlin.sequences.FilteringSequence$iterator$1.calcNext(Sequences.kt:108)
    at kotlin.sequences.FilteringSequence$iterator$1.hasNext(Sequences.kt:133)
    at kotlin.sequences.FilteringSequence$iterator$1.calcNext(Sequences.kt:108)
    at kotlin.sequences.FilteringSequence$iterator$1.hasNext(Sequences.kt:133)
    at kotlin.sequences.SequencesKt___SequencesKt.toCollection(_Sequences.kt:647)
    at kotlin.sequences.SequencesKt___SequencesKt.toMutableList(_Sequences.kt:677)
    at kotlin.sequences.SequencesKt___SequencesKt.toList(_Sequences.kt:668)
    at org.jetbrains.kotlin.asJava.LightClassUtil.getLightClassMethods(LightClassUtil.kt:123)
    at org.jetbrains.kotlin.asJava.LightClassUtilsKt.toPsiParameters(lightClassUtils.kt:102)
    at org.jetbrains.kotlin.asJava.LightClassUtilsKt.toLightElements(lightClassUtils.kt:62)
    at org.jetbrains.uast.kotlin.KotlinInternalUastUtilsKt.getMaybeLightElement(kotlinInternalUastUtils.kt:258)
    at org.jetbrains.uast.kotlin.KotlinInternalUastUtilsKt.resolveCallToDeclaration(kotlinInternalUastUtils.kt:273)
    at org.jetbrains.uast.kotlin.KotlinInternalUastUtilsKt.resolveCallToDeclaration$default(kotlinInternalUastUtils.kt:266)
    at org.jetbrains.uast.kotlin.KotlinUSimpleReferenceExpression$resolvedDeclaration$2.invoke(KotlinUSimpleReferenceExpression.kt:41)
    at org.jetbrains.uast.kotlin.KotlinUSimpleReferenceExpression$resolvedDeclaration$2.invoke(KotlinUSimpleReferenceExpression.kt:37)
    at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74)
    at org.jetbrains.uast.kotlin.KotlinUSimpleReferenceExpression.getResolvedDeclaration(KotlinUSimpleReferenceExpression.kt)
    at org.jetbrains.uast.kotlin.KotlinUSimpleReferenceExpression.resolve(KotlinUSimpleReferenceExpression.kt:45)
    at org.jetbrains.uast.UAnnotationUtils.isResolvedToAnnotation(UAnnotationUtils.kt:104)
    at org.jetbrains.uast.UAnnotationUtils.getUParentForAnnotationIdentifier(UAnnotationUtils.kt:58)
    at com.intellij.spring.gutter.SpringComponentScanAnnotator.collectNavigationMarkers(SpringComponentScanAnnotator.java:51)
    at com.intellij.codeInsight.daemon.RelatedItemLineMarkerProvider.collectNavigationMarkers(RelatedItemLineMarkerProvider.java:49)
    at com.intellij.spring.gutter.SpringAnnotatorBase.collectNavigationMarkers(SpringAnnotatorBase.java:68)
    at com.intellij.codeInsight.daemon.RelatedItemLineMarkerProvider.collectSlowLineMarkers(RelatedItemLineMarkerProvider.java:40)
    at com.intellij.codeInsight.daemon.impl.LineMarkersPass.queryProviders(LineMarkersPass.java:197)
    at com.intellij.codeInsight.daemon.impl.LineMarkersPass.lambda$doCollectInformation$3(LineMarkersPass.java:96)
    at com.intellij.codeInsight.daemon.impl.Divider.divideInsideAndOutsideInOneRoot(Divider.java:80)
    at com.intellij.codeInsight.daemon.impl.LineMarkersPass.doCollectInformation(LineMarkersPass.java:91)
    at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:69)
    at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$null$1(PassExecutorService.java:423)
    at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1151)
    at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$doRun$2(PassExecutorService.java:416)
    at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:580)
    at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:525)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:85)
    at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.doRun(PassExecutorService.java:415)
    at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$run$0(PassExecutorService.java:391)
    at com.intellij.openapi.application.impl.ReadMostlyRWLock.executeByImpatientReader(ReadMostlyRWLock.java:147)
    at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:218)
    at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:389)
    at com.intellij.concurrency.JobLauncherImpl$VoidForkJoinTask$1.exec(JobLauncherImpl.java:161)
    at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
    at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
    at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
    at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
xiexed commented 6 years ago

Related issue in Kotlin bugtracker KT-26036

mplushnikov commented 5 years ago

Looks like to be fixed in:

IJ 182.3684.40 + Kotlin 1.2.61-eap-89 IJ 182.4129.26 + Kotlin 1.2.70-dev-1337 IJ 182.4129.4 + Kotlin 1.3-M2-eap-51