diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/FirCallResolver.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/FirCallResolver.kt index fe6319c95a9..c467e44fa0b 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/FirCallResolver.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/FirCallResolver.kt @@ -92,8 +92,7 @@ class FirCallResolver( typeArguments, session, file, - transformer.components.implicitReceiverStack, - transformer.components.container + transformer.components.implicitReceiverStack ) { it.resultType } towerResolver.reset() @@ -156,8 +155,7 @@ class FirCallResolver( emptyList(), session, file, - transformer.components.implicitReceiverStack, - transformer.components.container + transformer.components.implicitReceiverStack ) { it.resultType } towerResolver.reset() @@ -393,7 +391,6 @@ class FirCallResolver( session, file, transformer.components.implicitReceiverStack, - transformer.components.container, expectedType, outerConstraintSystemBuilder, lhs diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/Candidate.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/Candidate.kt index 74283be32df..b967457aa72 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/Candidate.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/Candidate.kt @@ -6,7 +6,6 @@ package org.jetbrains.kotlin.fir.resolve.calls import org.jetbrains.kotlin.fir.FirSession -import org.jetbrains.kotlin.fir.declarations.FirDeclaration import org.jetbrains.kotlin.fir.declarations.FirFile import org.jetbrains.kotlin.fir.declarations.FirValueParameter import org.jetbrains.kotlin.fir.expressions.FirExpression @@ -37,7 +36,6 @@ class CallInfo( val session: FirSession, val containingFile: FirFile, val implicitReceiverStack: ImplicitReceiverStack, - val containingDeclaration: FirDeclaration, // Three properties for callable references only val expectedType: ConeKotlinType? = null, diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/CandidateCollector.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/CandidateCollector.kt index 3f574717b8a..73e09f26571 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/CandidateCollector.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/CandidateCollector.kt @@ -103,7 +103,6 @@ class InvokeReceiverCandidateCollector( session, invokeCallInfo.containingFile, invokeCallInfo.implicitReceiverStack, - invokeCallInfo.containingDeclaration, invokeCallInfo.expectedType, invokeCallInfo.outerCSBuilder, invokeCallInfo.lhs, diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/ConsumerFactories.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/ConsumerFactories.kt index c4378a0a60d..dcdb58cc291 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/ConsumerFactories.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/ConsumerFactories.kt @@ -72,7 +72,6 @@ fun createFunctionConsumer( bodyResolveComponents.session, callInfo.containingFile, callInfo.implicitReceiverStack, - callInfo.containingDeclaration, callInfo.expectedType, callInfo.outerCSBuilder, callInfo.lhs, diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirSyntheticCallGenerator.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirSyntheticCallGenerator.kt index 6666bf1f1e0..712535331b1 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirSyntheticCallGenerator.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirSyntheticCallGenerator.kt @@ -137,8 +137,7 @@ class FirSyntheticCallGenerator( typeArguments = emptyList(), session = session, containingFile = file, - implicitReceiverStack = implicitReceiverStack, - containingDeclaration = container + implicitReceiverStack = implicitReceiverStack ) { it.resultType } private fun generateSyntheticSelectFunction(callableId: CallableId, isVararg: Boolean = true): FirSimpleFunctionImpl { diff --git a/compiler/fir/resolve/testData/resolve/expresssions/annotationWithReturn.kt b/compiler/fir/resolve/testData/resolve/expresssions/annotationWithReturn.kt new file mode 100644 index 00000000000..4c6a3a5c7b7 --- /dev/null +++ b/compiler/fir/resolve/testData/resolve/expresssions/annotationWithReturn.kt @@ -0,0 +1,6 @@ +// Should be something like TYPE_MISMATCH here +@file:Some(return x) + +const val x = 42 + +annotation class Some(val value: Int) \ No newline at end of file diff --git a/compiler/fir/resolve/testData/resolve/expresssions/annotationWithReturn.txt b/compiler/fir/resolve/testData/resolve/expresssions/annotationWithReturn.txt new file mode 100644 index 00000000000..6743a846e0b --- /dev/null +++ b/compiler/fir/resolve/testData/resolve/expresssions/annotationWithReturn.txt @@ -0,0 +1,13 @@ +FILE: annotationWithReturn.kt + @FILE:R|Some|(^ R|/x|) + public final const val x: R|kotlin/Int| = Int(42) + public get(): R|kotlin/Int| + public final annotation class Some : R|kotlin/Annotation| { + public constructor(value: R|kotlin/Int|): R|Some| { + super() + } + + public final val value: R|kotlin/Int| = R|/value| + public get(): R|kotlin/Int| + + } diff --git a/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirDiagnosticsTestGenerated.java b/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirDiagnosticsTestGenerated.java index ded8ed0e7d0..d7c4623035c 100644 --- a/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirDiagnosticsTestGenerated.java +++ b/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirDiagnosticsTestGenerated.java @@ -389,6 +389,11 @@ public class FirDiagnosticsTestGenerated extends AbstractFirDiagnosticsTest { KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/fir/resolve/testData/resolve/expresssions"), Pattern.compile("^([^.]+)\\.kt$"), true); } + @TestMetadata("annotationWithReturn.kt") + public void testAnnotationWithReturn() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/expresssions/annotationWithReturn.kt"); + } + @TestMetadata("annotations.kt") public void testAnnotations() throws Exception { runTest("compiler/fir/resolve/testData/resolve/expresssions/annotations.kt");