FIR LC: adapt to split of property annotations during FIR building
As of 7243d308, property annotations are split according to use-site,
and thus, for property accessors and setter parameter, FIR LC needs
to look up accessors and setter parameter with the target use-site.
This commit is contained in:
committed by
Ilya Kirillov
parent
0f66f85cf9
commit
c669749915
+1
@@ -125,6 +125,7 @@ object FirIdeDeserializedDeclarationSourceProvider {
|
|||||||
private fun KtElement.isCompiled(): Boolean = containingKtFile.isCompiled
|
private fun KtElement.isCompiled(): Boolean = containingKtFile.isCompiled
|
||||||
|
|
||||||
private val allowedFakeElementKinds = setOf(
|
private val allowedFakeElementKinds = setOf(
|
||||||
|
FirFakeSourceElementKind.FromUseSiteTarget,
|
||||||
FirFakeSourceElementKind.PropertyFromParameter,
|
FirFakeSourceElementKind.PropertyFromParameter,
|
||||||
FirFakeSourceElementKind.ItLambdaParameter,
|
FirFakeSourceElementKind.ItLambdaParameter,
|
||||||
FirFakeSourceElementKind.DataClassGeneratedMembers,
|
FirFakeSourceElementKind.DataClassGeneratedMembers,
|
||||||
|
|||||||
-1
@@ -5,7 +5,6 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.analysis.api.fir.symbols.annotations
|
package org.jetbrains.kotlin.analysis.api.fir.symbols.annotations
|
||||||
|
|
||||||
import org.jetbrains.kotlin.analysis.api.fir.KtSymbolByFirBuilder
|
|
||||||
import org.jetbrains.kotlin.analysis.api.fir.evaluate.KtFirConstantValueConverter
|
import org.jetbrains.kotlin.analysis.api.fir.evaluate.KtFirConstantValueConverter
|
||||||
import org.jetbrains.kotlin.descriptors.annotations.AnnotationUseSiteTarget
|
import org.jetbrains.kotlin.descriptors.annotations.AnnotationUseSiteTarget
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclaration
|
import org.jetbrains.kotlin.fir.declarations.FirDeclaration
|
||||||
|
|||||||
+1
-2
@@ -6,7 +6,6 @@
|
|||||||
package org.jetbrains.kotlin.light.classes.symbol
|
package org.jetbrains.kotlin.light.classes.symbol
|
||||||
|
|
||||||
import com.intellij.psi.*
|
import com.intellij.psi.*
|
||||||
import com.intellij.psi.impl.light.LightParameterListBuilder
|
|
||||||
import org.jetbrains.kotlin.asJava.builder.LightMemberOrigin
|
import org.jetbrains.kotlin.asJava.builder.LightMemberOrigin
|
||||||
import org.jetbrains.kotlin.asJava.classes.METHOD_INDEX_FOR_GETTER
|
import org.jetbrains.kotlin.asJava.classes.METHOD_INDEX_FOR_GETTER
|
||||||
import org.jetbrains.kotlin.asJava.classes.METHOD_INDEX_FOR_SETTER
|
import org.jetbrains.kotlin.asJava.classes.METHOD_INDEX_FOR_SETTER
|
||||||
@@ -92,7 +91,7 @@ internal class FirLightAccessorMethodForSymbol(
|
|||||||
val annotationsFromAccessor = propertyAccessorSymbol.computeAnnotations(
|
val annotationsFromAccessor = propertyAccessorSymbol.computeAnnotations(
|
||||||
parent = this,
|
parent = this,
|
||||||
nullability = NullabilityType.Unknown,
|
nullability = NullabilityType.Unknown,
|
||||||
annotationUseSiteTarget = null,
|
annotationUseSiteTarget = accessorSite,
|
||||||
)
|
)
|
||||||
|
|
||||||
return annotationsFromProperty + annotationsFromAccessor
|
return annotationsFromProperty + annotationsFromAccessor
|
||||||
|
|||||||
+1
-1
@@ -24,7 +24,7 @@ internal class FirLightSetterParameterForSymbol(
|
|||||||
val annotationsFromSetter = parameterSymbol.computeAnnotations(
|
val annotationsFromSetter = parameterSymbol.computeAnnotations(
|
||||||
parent = this,
|
parent = this,
|
||||||
nullability = NullabilityType.Unknown,
|
nullability = NullabilityType.Unknown,
|
||||||
annotationUseSiteTarget = null,
|
annotationUseSiteTarget = AnnotationUseSiteTarget.SETTER_PARAMETER,
|
||||||
)
|
)
|
||||||
|
|
||||||
val annotationsFromProperty = containingPropertySymbol.computeAnnotations(
|
val annotationsFromProperty = containingPropertySymbol.computeAnnotations(
|
||||||
|
|||||||
Reference in New Issue
Block a user