[FIR] Remove FirLambdaArgumentExpression
It's not really necessary if the information about if the lambda was a trailing lambda can be directly saved in FirAnonymousFunctionExpression. Removing the FIR node uncovered a couple of bugs (UNINITIALIZED_ENUM_ENTRY, ERROR_IN_CONTRACT_DESCRIPTION) that were caused by assuming that a lambda is always a trailing lambda. #KT-66124
This commit is contained in:
committed by
Space Team
parent
1a5fa8d3f6
commit
03fc0fd381
+12
@@ -658,6 +658,18 @@ public class Fe10IdeNormalAnalysisSourceModuleResolveCallTestGenerated extends A
|
|||||||
runTest("analysis/analysis-api/testData/components/callResolver/resolveCall/kotlinPropertySetter_unqualified.kt");
|
runTest("analysis/analysis-api/testData/components/callResolver/resolveCall/kotlinPropertySetter_unqualified.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("labeledLambda.kt")
|
||||||
|
public void testLabeledLambda() {
|
||||||
|
runTest("analysis/analysis-api/testData/components/callResolver/resolveCall/labeledLambda.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("labeledLambdaInsideParentheses.kt")
|
||||||
|
public void testLabeledLambdaInsideParentheses() {
|
||||||
|
runTest("analysis/analysis-api/testData/components/callResolver/resolveCall/labeledLambdaInsideParentheses.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("memberFunctionCallWithTypeArgument.kt")
|
@TestMetadata("memberFunctionCallWithTypeArgument.kt")
|
||||||
public void testMemberFunctionCallWithTypeArgument() {
|
public void testMemberFunctionCallWithTypeArgument() {
|
||||||
|
|||||||
+3
-1
@@ -1350,8 +1350,10 @@ internal class KtFirCallResolver(
|
|||||||
expression.realPsi as? KtExpression
|
expression.realPsi as? KtExpression
|
||||||
is FirSmartCastExpression ->
|
is FirSmartCastExpression ->
|
||||||
originalExpression.realPsi as? KtExpression
|
originalExpression.realPsi as? KtExpression
|
||||||
is FirNamedArgumentExpression, is FirSpreadArgumentExpression, is FirLambdaArgumentExpression ->
|
is FirNamedArgumentExpression, is FirSpreadArgumentExpression ->
|
||||||
realPsi.safeAs<KtValueArgument>()?.getArgumentExpression()
|
realPsi.safeAs<KtValueArgument>()?.getArgumentExpression()
|
||||||
|
is FirAnonymousFunctionExpression ->
|
||||||
|
realPsi?.parent as? KtLabeledExpression ?: realPsi as? KtExpression
|
||||||
else -> realPsi as? KtExpression
|
else -> realPsi as? KtExpression
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -235,7 +235,7 @@ internal class KtFirExpressionTypeProvider(
|
|||||||
argumentsToParameters.entries.firstOrNull { (arg, _) ->
|
argumentsToParameters.entries.firstOrNull { (arg, _) ->
|
||||||
when (arg) {
|
when (arg) {
|
||||||
// TODO: better to utilize. See `createArgumentMapping` in [KtFirCallResolver]
|
// TODO: better to utilize. See `createArgumentMapping` in [KtFirCallResolver]
|
||||||
is FirLambdaArgumentExpression, is FirNamedArgumentExpression, is FirSpreadArgumentExpression ->
|
is FirNamedArgumentExpression, is FirSpreadArgumentExpression ->
|
||||||
arg.psi == argumentExpression.parent
|
arg.psi == argumentExpression.parent
|
||||||
else ->
|
else ->
|
||||||
arg.psi == argumentExpression
|
arg.psi == argumentExpression
|
||||||
|
|||||||
+1
@@ -41,6 +41,7 @@ import org.jetbrains.kotlin.psi.KtFunction
|
|||||||
import org.jetbrains.kotlin.psi.KtIfExpression
|
import org.jetbrains.kotlin.psi.KtIfExpression
|
||||||
import org.jetbrains.kotlin.psi.KtImportDirective
|
import org.jetbrains.kotlin.psi.KtImportDirective
|
||||||
import org.jetbrains.kotlin.psi.KtLabelReferenceExpression
|
import org.jetbrains.kotlin.psi.KtLabelReferenceExpression
|
||||||
|
import org.jetbrains.kotlin.psi.KtLambdaExpression
|
||||||
import org.jetbrains.kotlin.psi.KtModifierListOwner
|
import org.jetbrains.kotlin.psi.KtModifierListOwner
|
||||||
import org.jetbrains.kotlin.psi.KtNameReferenceExpression
|
import org.jetbrains.kotlin.psi.KtNameReferenceExpression
|
||||||
import org.jetbrains.kotlin.psi.KtNamedDeclaration
|
import org.jetbrains.kotlin.psi.KtNamedDeclaration
|
||||||
|
|||||||
+2
-1
@@ -59,6 +59,7 @@ import org.jetbrains.kotlin.psi.KtFunction
|
|||||||
import org.jetbrains.kotlin.psi.KtIfExpression
|
import org.jetbrains.kotlin.psi.KtIfExpression
|
||||||
import org.jetbrains.kotlin.psi.KtImportDirective
|
import org.jetbrains.kotlin.psi.KtImportDirective
|
||||||
import org.jetbrains.kotlin.psi.KtLabelReferenceExpression
|
import org.jetbrains.kotlin.psi.KtLabelReferenceExpression
|
||||||
|
import org.jetbrains.kotlin.psi.KtLambdaExpression
|
||||||
import org.jetbrains.kotlin.psi.KtModifierListOwner
|
import org.jetbrains.kotlin.psi.KtModifierListOwner
|
||||||
import org.jetbrains.kotlin.psi.KtNameReferenceExpression
|
import org.jetbrains.kotlin.psi.KtNameReferenceExpression
|
||||||
import org.jetbrains.kotlin.psi.KtNamedDeclaration
|
import org.jetbrains.kotlin.psi.KtNamedDeclaration
|
||||||
@@ -1417,7 +1418,7 @@ sealed interface KtFirDiagnostic<PSI : PsiElement> : KtDiagnosticWithPsi<PSI> {
|
|||||||
val actualType: KtType
|
val actualType: KtType
|
||||||
}
|
}
|
||||||
|
|
||||||
interface ManyLambdaExpressionArguments : KtFirDiagnostic<KtValueArgument> {
|
interface ManyLambdaExpressionArguments : KtFirDiagnostic<KtLambdaExpression> {
|
||||||
override val diagnosticClass get() = ManyLambdaExpressionArguments::class
|
override val diagnosticClass get() = ManyLambdaExpressionArguments::class
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+2
-1
@@ -60,6 +60,7 @@ import org.jetbrains.kotlin.psi.KtFunction
|
|||||||
import org.jetbrains.kotlin.psi.KtIfExpression
|
import org.jetbrains.kotlin.psi.KtIfExpression
|
||||||
import org.jetbrains.kotlin.psi.KtImportDirective
|
import org.jetbrains.kotlin.psi.KtImportDirective
|
||||||
import org.jetbrains.kotlin.psi.KtLabelReferenceExpression
|
import org.jetbrains.kotlin.psi.KtLabelReferenceExpression
|
||||||
|
import org.jetbrains.kotlin.psi.KtLambdaExpression
|
||||||
import org.jetbrains.kotlin.psi.KtModifierListOwner
|
import org.jetbrains.kotlin.psi.KtModifierListOwner
|
||||||
import org.jetbrains.kotlin.psi.KtNameReferenceExpression
|
import org.jetbrains.kotlin.psi.KtNameReferenceExpression
|
||||||
import org.jetbrains.kotlin.psi.KtNamedDeclaration
|
import org.jetbrains.kotlin.psi.KtNamedDeclaration
|
||||||
@@ -1702,7 +1703,7 @@ internal class ResultTypeMismatchImpl(
|
|||||||
internal class ManyLambdaExpressionArgumentsImpl(
|
internal class ManyLambdaExpressionArgumentsImpl(
|
||||||
firDiagnostic: KtPsiDiagnostic,
|
firDiagnostic: KtPsiDiagnostic,
|
||||||
token: KtLifetimeToken,
|
token: KtLifetimeToken,
|
||||||
) : KtAbstractFirDiagnostic<KtValueArgument>(firDiagnostic, token), KtFirDiagnostic.ManyLambdaExpressionArguments
|
) : KtAbstractFirDiagnostic<KtLambdaExpression>(firDiagnostic, token), KtFirDiagnostic.ManyLambdaExpressionArguments
|
||||||
|
|
||||||
internal class NewInferenceNoInformationForParameterImpl(
|
internal class NewInferenceNoInformationForParameterImpl(
|
||||||
override val name: String,
|
override val name: String,
|
||||||
|
|||||||
+12
@@ -658,6 +658,18 @@ public class FirIdeNormalAnalysisSourceModuleResolveCallTestGenerated extends Ab
|
|||||||
runTest("analysis/analysis-api/testData/components/callResolver/resolveCall/kotlinPropertySetter_unqualified.kt");
|
runTest("analysis/analysis-api/testData/components/callResolver/resolveCall/kotlinPropertySetter_unqualified.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("labeledLambda.kt")
|
||||||
|
public void testLabeledLambda() {
|
||||||
|
runTest("analysis/analysis-api/testData/components/callResolver/resolveCall/labeledLambda.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("labeledLambdaInsideParentheses.kt")
|
||||||
|
public void testLabeledLambdaInsideParentheses() {
|
||||||
|
runTest("analysis/analysis-api/testData/components/callResolver/resolveCall/labeledLambdaInsideParentheses.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("memberFunctionCallWithTypeArgument.kt")
|
@TestMetadata("memberFunctionCallWithTypeArgument.kt")
|
||||||
public void testMemberFunctionCallWithTypeArgument() {
|
public void testMemberFunctionCallWithTypeArgument() {
|
||||||
|
|||||||
+12
@@ -658,6 +658,18 @@ public class FirStandaloneNormalAnalysisSourceModuleResolveCallTestGenerated ext
|
|||||||
runTest("analysis/analysis-api/testData/components/callResolver/resolveCall/kotlinPropertySetter_unqualified.kt");
|
runTest("analysis/analysis-api/testData/components/callResolver/resolveCall/kotlinPropertySetter_unqualified.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("labeledLambda.kt")
|
||||||
|
public void testLabeledLambda() {
|
||||||
|
runTest("analysis/analysis-api/testData/components/callResolver/resolveCall/labeledLambda.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("labeledLambdaInsideParentheses.kt")
|
||||||
|
public void testLabeledLambdaInsideParentheses() {
|
||||||
|
runTest("analysis/analysis-api/testData/components/callResolver/resolveCall/labeledLambdaInsideParentheses.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("memberFunctionCallWithTypeArgument.kt")
|
@TestMetadata("memberFunctionCallWithTypeArgument.kt")
|
||||||
public void testMemberFunctionCallWithTypeArgument() {
|
public void testMemberFunctionCallWithTypeArgument() {
|
||||||
|
|||||||
+6
@@ -0,0 +1,6 @@
|
|||||||
|
fun foo(l1: (Int) -> Unit) {
|
||||||
|
}
|
||||||
|
|
||||||
|
fun test() {
|
||||||
|
<expr>foo label@ {}</expr>
|
||||||
|
}
|
||||||
+28
@@ -0,0 +1,28 @@
|
|||||||
|
KtSuccessCallInfo:
|
||||||
|
call = KtSimpleFunctionCall:
|
||||||
|
isImplicitInvoke = false
|
||||||
|
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
|
||||||
|
dispatchReceiver = null
|
||||||
|
extensionReceiver = null
|
||||||
|
signature = KtFunctionLikeSignature:
|
||||||
|
receiverType = null
|
||||||
|
returnType = kotlin.Unit
|
||||||
|
symbol = /foo(l1: kotlin.Function1<kotlin.Int, kotlin.Unit>): kotlin.Unit
|
||||||
|
valueParameters = [
|
||||||
|
KtVariableLikeSignature:
|
||||||
|
name = l1
|
||||||
|
receiverType = null
|
||||||
|
returnType = kotlin.Function1<kotlin.Int, kotlin.Unit>
|
||||||
|
symbol = l1: kotlin.Function1<kotlin.Int, kotlin.Unit>
|
||||||
|
callableIdIfNonLocal = null
|
||||||
|
]
|
||||||
|
callableIdIfNonLocal = /foo
|
||||||
|
typeArgumentsMapping = {}
|
||||||
|
argumentMapping = {
|
||||||
|
label@ {} -> (KtVariableLikeSignature:
|
||||||
|
name = l1
|
||||||
|
receiverType = null
|
||||||
|
returnType = kotlin.Function1<kotlin.Int, kotlin.Unit>
|
||||||
|
symbol = l1: kotlin.Function1<kotlin.Int, kotlin.Unit>
|
||||||
|
callableIdIfNonLocal = null)
|
||||||
|
}
|
||||||
analysis/analysis-api/testData/components/callResolver/resolveCall/labeledLambdaInsideParentheses.kt
Vendored
+7
@@ -0,0 +1,7 @@
|
|||||||
|
fun foo() {
|
||||||
|
<expr>bar(2, l@{ it })</expr>
|
||||||
|
}
|
||||||
|
|
||||||
|
fun bar(a: Int, b: (Int) -> Int) {
|
||||||
|
b(a)
|
||||||
|
}
|
||||||
+40
@@ -0,0 +1,40 @@
|
|||||||
|
KtSuccessCallInfo:
|
||||||
|
call = KtSimpleFunctionCall:
|
||||||
|
isImplicitInvoke = false
|
||||||
|
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
|
||||||
|
dispatchReceiver = null
|
||||||
|
extensionReceiver = null
|
||||||
|
signature = KtFunctionLikeSignature:
|
||||||
|
receiverType = null
|
||||||
|
returnType = kotlin.Unit
|
||||||
|
symbol = /bar(a: kotlin.Int, b: kotlin.Function1<kotlin.Int, kotlin.Int>): kotlin.Unit
|
||||||
|
valueParameters = [
|
||||||
|
KtVariableLikeSignature:
|
||||||
|
name = a
|
||||||
|
receiverType = null
|
||||||
|
returnType = kotlin.Int
|
||||||
|
symbol = a: kotlin.Int
|
||||||
|
callableIdIfNonLocal = null,
|
||||||
|
KtVariableLikeSignature:
|
||||||
|
name = b
|
||||||
|
receiverType = null
|
||||||
|
returnType = kotlin.Function1<kotlin.Int, kotlin.Int>
|
||||||
|
symbol = b: kotlin.Function1<kotlin.Int, kotlin.Int>
|
||||||
|
callableIdIfNonLocal = null
|
||||||
|
]
|
||||||
|
callableIdIfNonLocal = /bar
|
||||||
|
typeArgumentsMapping = {}
|
||||||
|
argumentMapping = {
|
||||||
|
2 -> (KtVariableLikeSignature:
|
||||||
|
name = a
|
||||||
|
receiverType = null
|
||||||
|
returnType = kotlin.Int
|
||||||
|
symbol = a: kotlin.Int
|
||||||
|
callableIdIfNonLocal = null),
|
||||||
|
l@{ it } -> (KtVariableLikeSignature:
|
||||||
|
name = b
|
||||||
|
receiverType = null
|
||||||
|
returnType = kotlin.Function1<kotlin.Int, kotlin.Int>
|
||||||
|
symbol = b: kotlin.Function1<kotlin.Int, kotlin.Int>
|
||||||
|
callableIdIfNonLocal = null)
|
||||||
|
}
|
||||||
+1
-1
@@ -73,5 +73,5 @@ FILE: [ResolvedTo(IMPORTS)] statement.kts
|
|||||||
|
|
||||||
public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] i: Int, [ResolvedTo(RAW_FIR)] action: ( (Int) -> Unit )): R|kotlin/Unit| { LAZY_BLOCK }
|
public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] i: Int, [ResolvedTo(RAW_FIR)] action: ( (Int) -> Unit )): R|kotlin/Unit| { LAZY_BLOCK }
|
||||||
|
|
||||||
public final [ResolvedTo(RAW_FIR)] val $$result: <implicit> = foo#(LAZY_EXPRESSION, <L> = LAZY_EXPRESSION)
|
public final [ResolvedTo(RAW_FIR)] val $$result: <implicit> = foo#(LAZY_EXPRESSION, LAZY_EXPRESSION)
|
||||||
public [ResolvedTo(RAW_FIR)] get(): <implicit>
|
public [ResolvedTo(RAW_FIR)] get(): <implicit>
|
||||||
@@ -75,5 +75,5 @@ FILE: [ResolvedTo(IMPORTS)] statement.kts
|
|||||||
|
|
||||||
public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] i: Int, [ResolvedTo(RAW_FIR)] action: ( (Int) -> Unit )): R|kotlin/Unit| { LAZY_BLOCK }
|
public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] i: Int, [ResolvedTo(RAW_FIR)] action: ( (Int) -> Unit )): R|kotlin/Unit| { LAZY_BLOCK }
|
||||||
|
|
||||||
public final [ResolvedTo(RAW_FIR)] val $$result: <implicit> = foo#(LAZY_EXPRESSION, <L> = LAZY_EXPRESSION)
|
public final [ResolvedTo(RAW_FIR)] val $$result: <implicit> = foo#(LAZY_EXPRESSION, LAZY_EXPRESSION)
|
||||||
public [ResolvedTo(RAW_FIR)] get(): <implicit>
|
public [ResolvedTo(RAW_FIR)] get(): <implicit>
|
||||||
+1
-1
@@ -19,7 +19,7 @@ FILE: [ResolvedTo(IMPORTS)] callInsideLambdaInsideSuperCallFromSecondaryConstruc
|
|||||||
}
|
}
|
||||||
|
|
||||||
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=B] constructor([ResolvedTo(BODY_RESOLVE)] l: R|kotlin/Long|): R|B| {
|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=B] constructor([ResolvedTo(BODY_RESOLVE)] l: R|kotlin/Long|): R|B| {
|
||||||
super<R|A|>([ResolvedTo(RAW_FIR)] fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
super<R|A|>([ResolvedTo(RAW_FIR)] [MatchingParameterFunctionTypeKey=kotlin/Function0<kotlin/Unit>] fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
||||||
R|/foo|(R|<local>/l|)
|
R|/foo|(R|<local>/l|)
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|||||||
+1
-1
@@ -15,7 +15,7 @@ FILE: [ResolvedTo(IMPORTS)] callInsideLambdaInsideSuperCallFromSingleSecondaryCo
|
|||||||
}
|
}
|
||||||
public final [ResolvedTo(ANNOTATION_ARGUMENTS)] class B : R|A| {
|
public final [ResolvedTo(ANNOTATION_ARGUMENTS)] class B : R|A| {
|
||||||
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=B] constructor([ResolvedTo(BODY_RESOLVE)] i: R|kotlin/Int|): R|B| {
|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=B] constructor([ResolvedTo(BODY_RESOLVE)] i: R|kotlin/Int|): R|B| {
|
||||||
super<R|A|>([ResolvedTo(RAW_FIR)] fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
super<R|A|>([ResolvedTo(RAW_FIR)] [MatchingParameterFunctionTypeKey=kotlin/Function0<kotlin/Unit>] fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
||||||
R|/foo|(R|<local>/i|)
|
R|/foo|(R|<local>/i|)
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|||||||
+1
-1
@@ -24,7 +24,7 @@ FILE: [ResolvedTo(IMPORTS)] qualifiedCallInsideSuperCall.kt
|
|||||||
}
|
}
|
||||||
public final [ResolvedTo(BODY_RESOLVE)] object C : R|A| {
|
public final [ResolvedTo(BODY_RESOLVE)] object C : R|A| {
|
||||||
private [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=C] constructor(): R|C| {
|
private [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=C] constructor(): R|C| {
|
||||||
super<R|A|>([ResolvedTo(RAW_FIR)] fun R|A|.<anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
super<R|A|>([ResolvedTo(RAW_FIR)] [MatchingParameterFunctionTypeKey=@ExtensionFunctionType kotlin/Function1<A, kotlin/Unit>] fun R|A|.<anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
||||||
local final [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/String| {
|
local final [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/String| {
|
||||||
^foo Q|B|.R|/A.prop|.R|kotlin/String.toString|()
|
^foo Q|B|.R|/A.prop|.R|kotlin/String.toString|()
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -24,7 +24,7 @@ FILE: [ResolvedTo(IMPORTS)] qualifiedCallInsideSuperCall2.kt
|
|||||||
}
|
}
|
||||||
public final [ResolvedTo(BODY_RESOLVE)] object C : R|A| {
|
public final [ResolvedTo(BODY_RESOLVE)] object C : R|A| {
|
||||||
private [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=C] constructor(): R|C| {
|
private [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=C] constructor(): R|C| {
|
||||||
super<R|A|>([ResolvedTo(RAW_FIR)] fun R|A|.<anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
super<R|A|>([ResolvedTo(RAW_FIR)] [MatchingParameterFunctionTypeKey=@ExtensionFunctionType kotlin/Function1<A, kotlin/Unit>] fun R|A|.<anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
||||||
local final [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/String| {
|
local final [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/String| {
|
||||||
^foo Q|B|.R|/A.prop|.R|kotlin/String.toString|()
|
^foo Q|B|.R|/A.prop|.R|kotlin/String.toString|()
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -24,7 +24,7 @@ FILE: [ResolvedTo(IMPORTS)] qualifiedCallInsideSuperCall3.kt
|
|||||||
}
|
}
|
||||||
public final [ResolvedTo(BODY_RESOLVE)] object C : R|A| {
|
public final [ResolvedTo(BODY_RESOLVE)] object C : R|A| {
|
||||||
private [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=C] error_constructor(): R|C| {
|
private [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=C] error_constructor(): R|C| {
|
||||||
super<R|A|>([ResolvedTo(RAW_FIR)] fun R|A|.<anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
super<R|A|>([ResolvedTo(RAW_FIR)] [MatchingParameterFunctionTypeKey=@ExtensionFunctionType kotlin/Function1<A, kotlin/Unit>] fun R|A|.<anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
||||||
local final [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/String| {
|
local final [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/String| {
|
||||||
^foo Q|B|.R|/A.prop|.R|kotlin/String.toString|()
|
^foo Q|B|.R|/A.prop|.R|kotlin/String.toString|()
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -30,7 +30,7 @@ FILE: [ResolvedTo(IMPORTS)] qualifiedCallInsideSuperCall4.kt
|
|||||||
}
|
}
|
||||||
public final [ResolvedTo(BODY_RESOLVE)] class G : R|A| {
|
public final [ResolvedTo(BODY_RESOLVE)] class G : R|A| {
|
||||||
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=G] error_constructor(): R|G| {
|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=G] error_constructor(): R|G| {
|
||||||
super<R|A|>([ResolvedTo(RAW_FIR)] fun R|A|.<anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
super<R|A|>([ResolvedTo(RAW_FIR)] [MatchingParameterFunctionTypeKey=@ExtensionFunctionType kotlin/Function1<A, kotlin/Unit>] fun R|A|.<anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
||||||
local final [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/String| {
|
local final [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/String| {
|
||||||
^foo Q|B|.R|/A.prop|.R|kotlin/String.toString|()
|
^foo Q|B|.R|/A.prop|.R|kotlin/String.toString|()
|
||||||
}
|
}
|
||||||
@@ -40,7 +40,7 @@ FILE: [ResolvedTo(IMPORTS)] qualifiedCallInsideSuperCall4.kt
|
|||||||
}
|
}
|
||||||
|
|
||||||
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=G] constructor(): R|G| {
|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=G] constructor(): R|G| {
|
||||||
super<R|A|>([ResolvedTo(RAW_FIR)] fun R|A|.<anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
super<R|A|>([ResolvedTo(RAW_FIR)] [MatchingParameterFunctionTypeKey=@ExtensionFunctionType kotlin/Function1<A, kotlin/Unit>] fun R|A|.<anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
||||||
local final [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/String| {
|
local final [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/String| {
|
||||||
^foo Q|C|.R|/A.prop|.R|kotlin/String.toString|()
|
^foo Q|C|.R|/A.prop|.R|kotlin/String.toString|()
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -34,7 +34,7 @@ FILE: [ResolvedTo(IMPORTS)] qualifiedCallInsideSuperCall5.kt
|
|||||||
}
|
}
|
||||||
|
|
||||||
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=G] constructor(): R|G| {
|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=G] constructor(): R|G| {
|
||||||
super<R|A|>([ResolvedTo(RAW_FIR)] fun R|A|.<anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
super<R|A|>([ResolvedTo(RAW_FIR)] [MatchingParameterFunctionTypeKey=@ExtensionFunctionType kotlin/Function1<A, kotlin/Unit>] fun R|A|.<anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
||||||
local final [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/String| {
|
local final [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/String| {
|
||||||
^foo Q|C|.R|/A.prop|.R|kotlin/String.toString|()
|
^foo Q|C|.R|/A.prop|.R|kotlin/String.toString|()
|
||||||
}
|
}
|
||||||
|
|||||||
Vendored
+1
-1
@@ -30,7 +30,7 @@ FILE: [ResolvedTo(IMPORTS)] qualifiedCallInsideSuperCallScript.kts
|
|||||||
|
|
||||||
public final [ResolvedTo(BODY_RESOLVE)] object C : R|A| {
|
public final [ResolvedTo(BODY_RESOLVE)] object C : R|A| {
|
||||||
private [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=C] constructor(): R|C| {
|
private [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=C] constructor(): R|C| {
|
||||||
super<R|A|>([ResolvedTo(RAW_FIR)] fun R|A|.<anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
super<R|A|>([ResolvedTo(RAW_FIR)] [MatchingParameterFunctionTypeKey=@ExtensionFunctionType kotlin/Function1<A, kotlin/Unit>] fun R|A|.<anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
||||||
local final [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/String| {
|
local final [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/String| {
|
||||||
^foo Q|B|.R|/A.prop|.R|kotlin/String.toString|()
|
^foo Q|B|.R|/A.prop|.R|kotlin/String.toString|()
|
||||||
}
|
}
|
||||||
|
|||||||
Vendored
+1
-1
@@ -3,7 +3,7 @@ FIR element: FirAnonymousFunctionExpressionImpl
|
|||||||
FIR source kind: KtRealSourceElementKind
|
FIR source kind: KtRealSourceElementKind
|
||||||
|
|
||||||
FIR element rendered:
|
FIR element rendered:
|
||||||
[ResolvedTo(BODY_RESOLVE)] run@fun <anonymous>(): R|kotlin/Int| <inline=Unknown> {
|
<L> = [ResolvedTo(BODY_RESOLVE)] run@fun <anonymous>(): R|kotlin/Int| <inline=Unknown> {
|
||||||
^ Int(1)
|
^ Int(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -3,7 +3,7 @@ FIR element: FirAnonymousFunctionExpressionImpl
|
|||||||
FIR source kind: KtRealSourceElementKind
|
FIR source kind: KtRealSourceElementKind
|
||||||
|
|
||||||
FIR element rendered:
|
FIR element rendered:
|
||||||
[ResolvedTo(BODY_RESOLVE)] [MatchingParameterFunctionTypeKey=kotlin/Function0<R>] run@fun <anonymous>(): R|kotlin/Int| <inline=Inline, kind=EXACTLY_ONCE> {
|
<L> = [ResolvedTo(BODY_RESOLVE)] [MatchingParameterFunctionTypeKey=kotlin/Function0<R>] run@fun <anonymous>(): R|kotlin/Int| <inline=Inline, kind=EXACTLY_ONCE> {
|
||||||
^ Int(1)
|
^ Int(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+14
-14
@@ -8,7 +8,7 @@ FILE: [ResolvedTo(IMPORTS)] localFunctionInsideFunctionLiteral.kt
|
|||||||
}
|
}
|
||||||
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
||||||
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
||||||
super<R|one/ClassWithParameter|>([ResolvedTo(RAW_FIR)] fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
super<R|one/ClassWithParameter|>([ResolvedTo(RAW_FIR)] [MatchingParameterFunctionTypeKey=kotlin/Function0<kotlin/Unit>] fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
||||||
local final [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
local final [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -28,7 +28,7 @@ FILE: [ResolvedTo(IMPORTS)] localFunctionInsideFunctionLiteral.kt
|
|||||||
}
|
}
|
||||||
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
||||||
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
||||||
super<R|one/ClassWithParameter|>([ResolvedTo(RAW_FIR)] fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
super<R|one/ClassWithParameter|>([ResolvedTo(RAW_FIR)] [MatchingParameterFunctionTypeKey=kotlin/Function0<kotlin/Unit>] fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
||||||
local final [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
local final [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -48,7 +48,7 @@ FILE: [ResolvedTo(IMPORTS)] localFunctionInsideFunctionLiteral.kt
|
|||||||
}
|
}
|
||||||
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
||||||
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
||||||
super<R|one/ClassWithParameter|>([ResolvedTo(RAW_FIR)] fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
super<R|one/ClassWithParameter|>([ResolvedTo(RAW_FIR)] [MatchingParameterFunctionTypeKey=kotlin/Function0<kotlin/Unit>] fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
||||||
local final [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
local final [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -68,7 +68,7 @@ FILE: [ResolvedTo(IMPORTS)] localFunctionInsideFunctionLiteral.kt
|
|||||||
}
|
}
|
||||||
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
||||||
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
||||||
super<R|one/ClassWithParameter|>([ResolvedTo(RAW_FIR)] fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
super<R|one/ClassWithParameter|>([ResolvedTo(RAW_FIR)] [MatchingParameterFunctionTypeKey=kotlin/Function0<kotlin/Unit>] fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
||||||
local final [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
local final [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -88,7 +88,7 @@ FILE: [ResolvedTo(IMPORTS)] localFunctionInsideFunctionLiteral.kt
|
|||||||
}
|
}
|
||||||
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
||||||
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
||||||
super<R|one/ClassWithParameter|>([ResolvedTo(RAW_FIR)] fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
super<R|one/ClassWithParameter|>([ResolvedTo(RAW_FIR)] [MatchingParameterFunctionTypeKey=kotlin/Function0<kotlin/Unit>] fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
||||||
local final [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
local final [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -108,7 +108,7 @@ FILE: [ResolvedTo(IMPORTS)] localFunctionInsideFunctionLiteral.kt
|
|||||||
}
|
}
|
||||||
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
||||||
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
||||||
super<R|one/ClassWithParameter|>([ResolvedTo(RAW_FIR)] fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
super<R|one/ClassWithParameter|>([ResolvedTo(RAW_FIR)] [MatchingParameterFunctionTypeKey=kotlin/Function0<kotlin/Unit>] fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
||||||
local final [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
local final [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -128,7 +128,7 @@ FILE: [ResolvedTo(IMPORTS)] localFunctionInsideFunctionLiteral.kt
|
|||||||
}
|
}
|
||||||
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
||||||
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
||||||
super<R|one/ClassWithParameter|>([ResolvedTo(RAW_FIR)] fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
super<R|one/ClassWithParameter|>([ResolvedTo(RAW_FIR)] [MatchingParameterFunctionTypeKey=kotlin/Function0<kotlin/Unit>] fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
||||||
local final [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
local final [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -148,7 +148,7 @@ FILE: [ResolvedTo(IMPORTS)] localFunctionInsideFunctionLiteral.kt
|
|||||||
}
|
}
|
||||||
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
||||||
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
||||||
super<R|one/ClassWithParameter|>([ResolvedTo(RAW_FIR)] fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
super<R|one/ClassWithParameter|>([ResolvedTo(RAW_FIR)] [MatchingParameterFunctionTypeKey=kotlin/Function0<kotlin/Unit>] fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
||||||
local final [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
local final [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -168,7 +168,7 @@ FILE: [ResolvedTo(IMPORTS)] localFunctionInsideFunctionLiteral.kt
|
|||||||
}
|
}
|
||||||
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
||||||
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
||||||
super<R|one/ClassWithParameter|>([ResolvedTo(RAW_FIR)] fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
super<R|one/ClassWithParameter|>([ResolvedTo(RAW_FIR)] [MatchingParameterFunctionTypeKey=kotlin/Function0<kotlin/Unit>] fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
||||||
local final [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
local final [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -188,7 +188,7 @@ FILE: [ResolvedTo(IMPORTS)] localFunctionInsideFunctionLiteral.kt
|
|||||||
}
|
}
|
||||||
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
||||||
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
||||||
super<R|one/ClassWithParameter|>([ResolvedTo(RAW_FIR)] fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
super<R|one/ClassWithParameter|>([ResolvedTo(RAW_FIR)] [MatchingParameterFunctionTypeKey=kotlin/Function0<kotlin/Unit>] fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
||||||
local final [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
local final [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -208,7 +208,7 @@ FILE: [ResolvedTo(IMPORTS)] localFunctionInsideFunctionLiteral.kt
|
|||||||
}
|
}
|
||||||
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
||||||
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
||||||
super<R|one/ClassWithParameter|>([ResolvedTo(RAW_FIR)] fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
super<R|one/ClassWithParameter|>([ResolvedTo(RAW_FIR)] [MatchingParameterFunctionTypeKey=kotlin/Function0<kotlin/Unit>] fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
||||||
local final [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
local final [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -228,7 +228,7 @@ FILE: [ResolvedTo(IMPORTS)] localFunctionInsideFunctionLiteral.kt
|
|||||||
}
|
}
|
||||||
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
||||||
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
||||||
super<R|one/ClassWithParameter|>([ResolvedTo(RAW_FIR)] fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
super<R|one/ClassWithParameter|>([ResolvedTo(RAW_FIR)] [MatchingParameterFunctionTypeKey=kotlin/Function0<kotlin/Unit>] fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
||||||
local final [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
local final [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -248,7 +248,7 @@ FILE: [ResolvedTo(IMPORTS)] localFunctionInsideFunctionLiteral.kt
|
|||||||
}
|
}
|
||||||
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
||||||
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
||||||
super<R|one/ClassWithParameter|>([ResolvedTo(RAW_FIR)] fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
super<R|one/ClassWithParameter|>([ResolvedTo(RAW_FIR)] [MatchingParameterFunctionTypeKey=kotlin/Function0<kotlin/Unit>] fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
||||||
local final [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
local final [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -268,7 +268,7 @@ FILE: [ResolvedTo(BODY_RESOLVE)] localFunctionInsideFunctionLiteral.kt
|
|||||||
}
|
}
|
||||||
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
||||||
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
||||||
super<R|one/ClassWithParameter|>([ResolvedTo(RAW_FIR)] fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
super<R|one/ClassWithParameter|>([ResolvedTo(RAW_FIR)] [MatchingParameterFunctionTypeKey=kotlin/Function0<kotlin/Unit>] fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
||||||
local final [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
local final [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Vendored
+15
-14
@@ -13,7 +13,7 @@ FILE: [ResolvedTo(IMPORTS)] localFunctionInsideFunctionLiteralScript.kts
|
|||||||
|
|
||||||
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
||||||
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
||||||
super<R|one/ClassWithParameter|>([ResolvedTo(RAW_FIR)] fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
super<R|one/ClassWithParameter|>([ResolvedTo(RAW_FIR)] [MatchingParameterFunctionTypeKey=kotlin/Function0<kotlin/Unit>] fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
||||||
local final [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
local final [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -39,7 +39,7 @@ FILE: [ResolvedTo(IMPORTS)] localFunctionInsideFunctionLiteralScript.kts
|
|||||||
|
|
||||||
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
||||||
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
||||||
super<R|one/ClassWithParameter|>([ResolvedTo(RAW_FIR)] fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
super<R|one/ClassWithParameter|>([ResolvedTo(RAW_FIR)] [MatchingParameterFunctionTypeKey=kotlin/Function0<kotlin/Unit>] fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
||||||
local final [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
local final [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -65,7 +65,7 @@ FILE: [ResolvedTo(IMPORTS)] localFunctionInsideFunctionLiteralScript.kts
|
|||||||
|
|
||||||
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
||||||
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
||||||
super<R|one/ClassWithParameter|>([ResolvedTo(RAW_FIR)] fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
super<R|one/ClassWithParameter|>([ResolvedTo(RAW_FIR)] [MatchingParameterFunctionTypeKey=kotlin/Function0<kotlin/Unit>] fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
||||||
local final [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
local final [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -91,7 +91,7 @@ FILE: [ResolvedTo(IMPORTS)] localFunctionInsideFunctionLiteralScript.kts
|
|||||||
|
|
||||||
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
||||||
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
||||||
super<R|one/ClassWithParameter|>([ResolvedTo(RAW_FIR)] fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
super<R|one/ClassWithParameter|>([ResolvedTo(RAW_FIR)] [MatchingParameterFunctionTypeKey=kotlin/Function0<kotlin/Unit>] fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
||||||
local final [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
local final [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -117,7 +117,7 @@ FILE: [ResolvedTo(IMPORTS)] localFunctionInsideFunctionLiteralScript.kts
|
|||||||
|
|
||||||
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
||||||
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
||||||
super<R|one/ClassWithParameter|>([ResolvedTo(RAW_FIR)] fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
super<R|one/ClassWithParameter|>([ResolvedTo(RAW_FIR)] [MatchingParameterFunctionTypeKey=kotlin/Function0<kotlin/Unit>] fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
||||||
local final [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
local final [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -143,7 +143,7 @@ FILE: [ResolvedTo(IMPORTS)] localFunctionInsideFunctionLiteralScript.kts
|
|||||||
|
|
||||||
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
||||||
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
||||||
super<R|one/ClassWithParameter|>([ResolvedTo(RAW_FIR)] fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
super<R|one/ClassWithParameter|>([ResolvedTo(RAW_FIR)] [MatchingParameterFunctionTypeKey=kotlin/Function0<kotlin/Unit>] fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
||||||
local final [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
local final [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -169,7 +169,7 @@ FILE: [ResolvedTo(IMPORTS)] localFunctionInsideFunctionLiteralScript.kts
|
|||||||
|
|
||||||
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
||||||
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
||||||
super<R|one/ClassWithParameter|>([ResolvedTo(RAW_FIR)] fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
super<R|one/ClassWithParameter|>([ResolvedTo(RAW_FIR)] [MatchingParameterFunctionTypeKey=kotlin/Function0<kotlin/Unit>] fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
||||||
local final [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
local final [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -195,7 +195,7 @@ FILE: [ResolvedTo(IMPORTS)] localFunctionInsideFunctionLiteralScript.kts
|
|||||||
|
|
||||||
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
||||||
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
||||||
super<R|one/ClassWithParameter|>([ResolvedTo(RAW_FIR)] fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
super<R|one/ClassWithParameter|>([ResolvedTo(RAW_FIR)] [MatchingParameterFunctionTypeKey=kotlin/Function0<kotlin/Unit>] fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
||||||
local final [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
local final [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -221,7 +221,7 @@ FILE: [ResolvedTo(IMPORTS)] localFunctionInsideFunctionLiteralScript.kts
|
|||||||
|
|
||||||
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
||||||
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
||||||
super<R|one/ClassWithParameter|>([ResolvedTo(RAW_FIR)] fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
super<R|one/ClassWithParameter|>([ResolvedTo(RAW_FIR)] [MatchingParameterFunctionTypeKey=kotlin/Function0<kotlin/Unit>] fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
||||||
local final [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
local final [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -247,7 +247,7 @@ FILE: [ResolvedTo(IMPORTS)] localFunctionInsideFunctionLiteralScript.kts
|
|||||||
|
|
||||||
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
||||||
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
||||||
super<R|one/ClassWithParameter|>([ResolvedTo(RAW_FIR)] fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
super<R|one/ClassWithParameter|>([ResolvedTo(RAW_FIR)] [MatchingParameterFunctionTypeKey=kotlin/Function0<kotlin/Unit>] fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
||||||
local final [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
local final [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -273,7 +273,7 @@ FILE: [ResolvedTo(IMPORTS)] localFunctionInsideFunctionLiteralScript.kts
|
|||||||
|
|
||||||
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
||||||
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
||||||
super<R|one/ClassWithParameter|>([ResolvedTo(RAW_FIR)] fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
super<R|one/ClassWithParameter|>([ResolvedTo(RAW_FIR)] [MatchingParameterFunctionTypeKey=kotlin/Function0<kotlin/Unit>] fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
||||||
local final [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
local final [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -299,7 +299,7 @@ FILE: [ResolvedTo(IMPORTS)] localFunctionInsideFunctionLiteralScript.kts
|
|||||||
|
|
||||||
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
||||||
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
||||||
super<R|one/ClassWithParameter|>([ResolvedTo(RAW_FIR)] fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
super<R|one/ClassWithParameter|>([ResolvedTo(RAW_FIR)] [MatchingParameterFunctionTypeKey=kotlin/Function0<kotlin/Unit>] fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
||||||
local final [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
local final [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -325,7 +325,7 @@ FILE: [ResolvedTo(IMPORTS)] localFunctionInsideFunctionLiteralScript.kts
|
|||||||
|
|
||||||
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
||||||
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
||||||
super<R|one/ClassWithParameter|>([ResolvedTo(RAW_FIR)] fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
super<R|one/ClassWithParameter|>([ResolvedTo(RAW_FIR)] [MatchingParameterFunctionTypeKey=kotlin/Function0<kotlin/Unit>] fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
||||||
local final [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
local final [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -351,7 +351,7 @@ FILE: [ResolvedTo(BODY_RESOLVE)] localFunctionInsideFunctionLiteralScript.kts
|
|||||||
|
|
||||||
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
||||||
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
||||||
super<R|one/ClassWithParameter|>([ResolvedTo(RAW_FIR)] fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
super<R|one/ClassWithParameter|>([ResolvedTo(RAW_FIR)] [MatchingParameterFunctionTypeKey=kotlin/Function0<kotlin/Unit>] fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
|
||||||
local final [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
local final [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -360,3 +360,4 @@ FILE: [ResolvedTo(BODY_RESOLVE)] localFunctionInsideFunctionLiteralScript.kts
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+9
-9
@@ -6,7 +6,7 @@ FILE: [ResolvedTo(RAW_FIR)] syntheticResultDeclarationWithBigBody.kts
|
|||||||
|
|
||||||
public? final? [ResolvedTo(RAW_FIR)] fun <[ResolvedTo(RAW_FIR)] T> foo([ResolvedTo(RAW_FIR)] action: ( () -> T )): T { LAZY_BLOCK }
|
public? final? [ResolvedTo(RAW_FIR)] fun <[ResolvedTo(RAW_FIR)] T> foo([ResolvedTo(RAW_FIR)] action: ( () -> T )): T { LAZY_BLOCK }
|
||||||
|
|
||||||
public final [ResolvedTo(RAW_FIR)] val $$result: <implicit> = foo#(<L> = LAZY_EXPRESSION)
|
public final [ResolvedTo(RAW_FIR)] val $$result: <implicit> = foo#(LAZY_EXPRESSION)
|
||||||
public [ResolvedTo(RAW_FIR)] get(): <implicit>
|
public [ResolvedTo(RAW_FIR)] get(): <implicit>
|
||||||
|
|
||||||
|
|
||||||
@@ -18,7 +18,7 @@ FILE: [ResolvedTo(IMPORTS)] syntheticResultDeclarationWithBigBody.kts
|
|||||||
|
|
||||||
public? final? [ResolvedTo(RAW_FIR)] fun <[ResolvedTo(RAW_FIR)] T> foo([ResolvedTo(RAW_FIR)] action: ( () -> T )): T { LAZY_BLOCK }
|
public? final? [ResolvedTo(RAW_FIR)] fun <[ResolvedTo(RAW_FIR)] T> foo([ResolvedTo(RAW_FIR)] action: ( () -> T )): T { LAZY_BLOCK }
|
||||||
|
|
||||||
public final [ResolvedTo(RAW_FIR)] val $$result: <implicit> = foo#(<L> = LAZY_EXPRESSION)
|
public final [ResolvedTo(RAW_FIR)] val $$result: <implicit> = foo#(LAZY_EXPRESSION)
|
||||||
public [ResolvedTo(RAW_FIR)] get(): <implicit>
|
public [ResolvedTo(RAW_FIR)] get(): <implicit>
|
||||||
|
|
||||||
|
|
||||||
@@ -30,7 +30,7 @@ FILE: [ResolvedTo(IMPORTS)] syntheticResultDeclarationWithBigBody.kts
|
|||||||
|
|
||||||
public? final? [ResolvedTo(RAW_FIR)] fun <[ResolvedTo(RAW_FIR)] T> foo([ResolvedTo(RAW_FIR)] action: ( () -> T )): T { LAZY_BLOCK }
|
public? final? [ResolvedTo(RAW_FIR)] fun <[ResolvedTo(RAW_FIR)] T> foo([ResolvedTo(RAW_FIR)] action: ( () -> T )): T { LAZY_BLOCK }
|
||||||
|
|
||||||
public final [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] val $$result: <implicit> = foo#(<L> = LAZY_EXPRESSION)
|
public final [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] val $$result: <implicit> = foo#(LAZY_EXPRESSION)
|
||||||
public [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] get(): <implicit>
|
public [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] get(): <implicit>
|
||||||
|
|
||||||
|
|
||||||
@@ -42,7 +42,7 @@ FILE: [ResolvedTo(IMPORTS)] syntheticResultDeclarationWithBigBody.kts
|
|||||||
|
|
||||||
public? final? [ResolvedTo(RAW_FIR)] fun <[ResolvedTo(RAW_FIR)] T> foo([ResolvedTo(RAW_FIR)] action: ( () -> T )): T { LAZY_BLOCK }
|
public? final? [ResolvedTo(RAW_FIR)] fun <[ResolvedTo(RAW_FIR)] T> foo([ResolvedTo(RAW_FIR)] action: ( () -> T )): T { LAZY_BLOCK }
|
||||||
|
|
||||||
public final [ResolvedTo(COMPANION_GENERATION)] val $$result: <implicit> = foo#(<L> = LAZY_EXPRESSION)
|
public final [ResolvedTo(COMPANION_GENERATION)] val $$result: <implicit> = foo#(LAZY_EXPRESSION)
|
||||||
public [ResolvedTo(COMPANION_GENERATION)] get(): <implicit>
|
public [ResolvedTo(COMPANION_GENERATION)] get(): <implicit>
|
||||||
|
|
||||||
|
|
||||||
@@ -54,7 +54,7 @@ FILE: [ResolvedTo(IMPORTS)] syntheticResultDeclarationWithBigBody.kts
|
|||||||
|
|
||||||
public? final? [ResolvedTo(RAW_FIR)] fun <[ResolvedTo(RAW_FIR)] T> foo([ResolvedTo(RAW_FIR)] action: ( () -> T )): T { LAZY_BLOCK }
|
public? final? [ResolvedTo(RAW_FIR)] fun <[ResolvedTo(RAW_FIR)] T> foo([ResolvedTo(RAW_FIR)] action: ( () -> T )): T { LAZY_BLOCK }
|
||||||
|
|
||||||
public final [ResolvedTo(SUPER_TYPES)] val $$result: <implicit> = foo#(<L> = LAZY_EXPRESSION)
|
public final [ResolvedTo(SUPER_TYPES)] val $$result: <implicit> = foo#(LAZY_EXPRESSION)
|
||||||
public [ResolvedTo(SUPER_TYPES)] get(): <implicit>
|
public [ResolvedTo(SUPER_TYPES)] get(): <implicit>
|
||||||
|
|
||||||
|
|
||||||
@@ -66,7 +66,7 @@ FILE: [ResolvedTo(IMPORTS)] syntheticResultDeclarationWithBigBody.kts
|
|||||||
|
|
||||||
public? final? [ResolvedTo(RAW_FIR)] fun <[ResolvedTo(RAW_FIR)] T> foo([ResolvedTo(RAW_FIR)] action: ( () -> T )): T { LAZY_BLOCK }
|
public? final? [ResolvedTo(RAW_FIR)] fun <[ResolvedTo(RAW_FIR)] T> foo([ResolvedTo(RAW_FIR)] action: ( () -> T )): T { LAZY_BLOCK }
|
||||||
|
|
||||||
public final [ResolvedTo(TYPES)] val $$result: <implicit> = foo#(<L> = LAZY_EXPRESSION)
|
public final [ResolvedTo(TYPES)] val $$result: <implicit> = foo#(LAZY_EXPRESSION)
|
||||||
public [ResolvedTo(TYPES)] get(): <implicit>
|
public [ResolvedTo(TYPES)] get(): <implicit>
|
||||||
|
|
||||||
|
|
||||||
@@ -78,7 +78,7 @@ FILE: [ResolvedTo(IMPORTS)] syntheticResultDeclarationWithBigBody.kts
|
|||||||
|
|
||||||
public? final? [ResolvedTo(RAW_FIR)] fun <[ResolvedTo(RAW_FIR)] T> foo([ResolvedTo(RAW_FIR)] action: ( () -> T )): T { LAZY_BLOCK }
|
public? final? [ResolvedTo(RAW_FIR)] fun <[ResolvedTo(RAW_FIR)] T> foo([ResolvedTo(RAW_FIR)] action: ( () -> T )): T { LAZY_BLOCK }
|
||||||
|
|
||||||
public final [ResolvedTo(STATUS)] val $$result: <implicit> = foo#(<L> = LAZY_EXPRESSION)
|
public final [ResolvedTo(STATUS)] val $$result: <implicit> = foo#(LAZY_EXPRESSION)
|
||||||
public [ResolvedTo(STATUS)] get(): <implicit>
|
public [ResolvedTo(STATUS)] get(): <implicit>
|
||||||
|
|
||||||
|
|
||||||
@@ -90,7 +90,7 @@ FILE: [ResolvedTo(IMPORTS)] syntheticResultDeclarationWithBigBody.kts
|
|||||||
|
|
||||||
public? final? [ResolvedTo(RAW_FIR)] fun <[ResolvedTo(RAW_FIR)] T> foo([ResolvedTo(RAW_FIR)] action: ( () -> T )): T { LAZY_BLOCK }
|
public? final? [ResolvedTo(RAW_FIR)] fun <[ResolvedTo(RAW_FIR)] T> foo([ResolvedTo(RAW_FIR)] action: ( () -> T )): T { LAZY_BLOCK }
|
||||||
|
|
||||||
public final [ResolvedTo(EXPECT_ACTUAL_MATCHING)] val $$result: <implicit> = foo#(<L> = LAZY_EXPRESSION)
|
public final [ResolvedTo(EXPECT_ACTUAL_MATCHING)] val $$result: <implicit> = foo#(LAZY_EXPRESSION)
|
||||||
public [ResolvedTo(EXPECT_ACTUAL_MATCHING)] get(): <implicit>
|
public [ResolvedTo(EXPECT_ACTUAL_MATCHING)] get(): <implicit>
|
||||||
|
|
||||||
|
|
||||||
@@ -102,7 +102,7 @@ FILE: [ResolvedTo(IMPORTS)] syntheticResultDeclarationWithBigBody.kts
|
|||||||
|
|
||||||
public? final? [ResolvedTo(RAW_FIR)] fun <[ResolvedTo(RAW_FIR)] T> foo([ResolvedTo(RAW_FIR)] action: ( () -> T )): T { LAZY_BLOCK }
|
public? final? [ResolvedTo(RAW_FIR)] fun <[ResolvedTo(RAW_FIR)] T> foo([ResolvedTo(RAW_FIR)] action: ( () -> T )): T { LAZY_BLOCK }
|
||||||
|
|
||||||
public final [ResolvedTo(CONTRACTS)] val $$result: <implicit> = foo#(<L> = LAZY_EXPRESSION)
|
public final [ResolvedTo(CONTRACTS)] val $$result: <implicit> = foo#(LAZY_EXPRESSION)
|
||||||
public [ResolvedTo(CONTRACTS)] get(): <implicit>
|
public [ResolvedTo(CONTRACTS)] get(): <implicit>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+10
-9
@@ -19,7 +19,7 @@ FILE: [ResolvedTo(RAW_FIR)] resultBodyAnnotation.kts
|
|||||||
|
|
||||||
public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] action: ( () -> Unit )): R|kotlin/Unit| { LAZY_BLOCK }
|
public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] action: ( () -> Unit )): R|kotlin/Unit| { LAZY_BLOCK }
|
||||||
|
|
||||||
public final [ResolvedTo(RAW_FIR)] val $$result: <implicit> = @Anno[Unresolved](LAZY_EXPRESSION) foo#(<L> = LAZY_EXPRESSION)
|
public final [ResolvedTo(RAW_FIR)] val $$result: <implicit> = @Anno[Unresolved](LAZY_EXPRESSION) foo#(LAZY_EXPRESSION)
|
||||||
public [ResolvedTo(RAW_FIR)] get(): <implicit>
|
public [ResolvedTo(RAW_FIR)] get(): <implicit>
|
||||||
|
|
||||||
|
|
||||||
@@ -44,7 +44,7 @@ FILE: [ResolvedTo(IMPORTS)] resultBodyAnnotation.kts
|
|||||||
|
|
||||||
public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] action: ( () -> Unit )): R|kotlin/Unit| { LAZY_BLOCK }
|
public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] action: ( () -> Unit )): R|kotlin/Unit| { LAZY_BLOCK }
|
||||||
|
|
||||||
public final [ResolvedTo(RAW_FIR)] val $$result: <implicit> = @Anno[Unresolved](LAZY_EXPRESSION) foo#(<L> = LAZY_EXPRESSION)
|
public final [ResolvedTo(RAW_FIR)] val $$result: <implicit> = @Anno[Unresolved](LAZY_EXPRESSION) foo#(LAZY_EXPRESSION)
|
||||||
public [ResolvedTo(RAW_FIR)] get(): <implicit>
|
public [ResolvedTo(RAW_FIR)] get(): <implicit>
|
||||||
|
|
||||||
|
|
||||||
@@ -69,7 +69,7 @@ FILE: [ResolvedTo(IMPORTS)] resultBodyAnnotation.kts
|
|||||||
|
|
||||||
public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] action: ( () -> Unit )): R|kotlin/Unit| { LAZY_BLOCK }
|
public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] action: ( () -> Unit )): R|kotlin/Unit| { LAZY_BLOCK }
|
||||||
|
|
||||||
public final [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] val $$result: <implicit> = @Anno[Unresolved](LAZY_EXPRESSION) foo#(<L> = LAZY_EXPRESSION)
|
public final [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] val $$result: <implicit> = @Anno[Unresolved](LAZY_EXPRESSION) foo#(LAZY_EXPRESSION)
|
||||||
public [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] get(): <implicit>
|
public [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] get(): <implicit>
|
||||||
|
|
||||||
|
|
||||||
@@ -94,7 +94,7 @@ FILE: [ResolvedTo(IMPORTS)] resultBodyAnnotation.kts
|
|||||||
|
|
||||||
public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] action: ( () -> Unit )): R|kotlin/Unit| { LAZY_BLOCK }
|
public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] action: ( () -> Unit )): R|kotlin/Unit| { LAZY_BLOCK }
|
||||||
|
|
||||||
public final [ResolvedTo(COMPANION_GENERATION)] val $$result: <implicit> = @Anno[Unresolved](LAZY_EXPRESSION) foo#(<L> = LAZY_EXPRESSION)
|
public final [ResolvedTo(COMPANION_GENERATION)] val $$result: <implicit> = @Anno[Unresolved](LAZY_EXPRESSION) foo#(LAZY_EXPRESSION)
|
||||||
public [ResolvedTo(COMPANION_GENERATION)] get(): <implicit>
|
public [ResolvedTo(COMPANION_GENERATION)] get(): <implicit>
|
||||||
|
|
||||||
|
|
||||||
@@ -119,7 +119,7 @@ FILE: [ResolvedTo(IMPORTS)] resultBodyAnnotation.kts
|
|||||||
|
|
||||||
public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] action: ( () -> Unit )): R|kotlin/Unit| { LAZY_BLOCK }
|
public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] action: ( () -> Unit )): R|kotlin/Unit| { LAZY_BLOCK }
|
||||||
|
|
||||||
public final [ResolvedTo(SUPER_TYPES)] val $$result: <implicit> = @Anno[Unresolved](LAZY_EXPRESSION) foo#(<L> = LAZY_EXPRESSION)
|
public final [ResolvedTo(SUPER_TYPES)] val $$result: <implicit> = @Anno[Unresolved](LAZY_EXPRESSION) foo#(LAZY_EXPRESSION)
|
||||||
public [ResolvedTo(SUPER_TYPES)] get(): <implicit>
|
public [ResolvedTo(SUPER_TYPES)] get(): <implicit>
|
||||||
|
|
||||||
|
|
||||||
@@ -144,7 +144,7 @@ FILE: [ResolvedTo(IMPORTS)] resultBodyAnnotation.kts
|
|||||||
|
|
||||||
public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] action: ( () -> Unit )): R|kotlin/Unit| { LAZY_BLOCK }
|
public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] action: ( () -> Unit )): R|kotlin/Unit| { LAZY_BLOCK }
|
||||||
|
|
||||||
public final [ResolvedTo(TYPES)] val $$result: <implicit> = @Anno[Unresolved](LAZY_EXPRESSION) foo#(<L> = LAZY_EXPRESSION)
|
public final [ResolvedTo(TYPES)] val $$result: <implicit> = @Anno[Unresolved](LAZY_EXPRESSION) foo#(LAZY_EXPRESSION)
|
||||||
public [ResolvedTo(TYPES)] get(): <implicit>
|
public [ResolvedTo(TYPES)] get(): <implicit>
|
||||||
|
|
||||||
|
|
||||||
@@ -169,7 +169,7 @@ FILE: [ResolvedTo(IMPORTS)] resultBodyAnnotation.kts
|
|||||||
|
|
||||||
public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] action: ( () -> Unit )): R|kotlin/Unit| { LAZY_BLOCK }
|
public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] action: ( () -> Unit )): R|kotlin/Unit| { LAZY_BLOCK }
|
||||||
|
|
||||||
public final [ResolvedTo(STATUS)] val $$result: <implicit> = @Anno[Unresolved](LAZY_EXPRESSION) foo#(<L> = LAZY_EXPRESSION)
|
public final [ResolvedTo(STATUS)] val $$result: <implicit> = @Anno[Unresolved](LAZY_EXPRESSION) foo#(LAZY_EXPRESSION)
|
||||||
public [ResolvedTo(STATUS)] get(): <implicit>
|
public [ResolvedTo(STATUS)] get(): <implicit>
|
||||||
|
|
||||||
|
|
||||||
@@ -194,7 +194,7 @@ FILE: [ResolvedTo(IMPORTS)] resultBodyAnnotation.kts
|
|||||||
|
|
||||||
public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] action: ( () -> Unit )): R|kotlin/Unit| { LAZY_BLOCK }
|
public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] action: ( () -> Unit )): R|kotlin/Unit| { LAZY_BLOCK }
|
||||||
|
|
||||||
public final [ResolvedTo(EXPECT_ACTUAL_MATCHING)] val $$result: <implicit> = @Anno[Unresolved](LAZY_EXPRESSION) foo#(<L> = LAZY_EXPRESSION)
|
public final [ResolvedTo(EXPECT_ACTUAL_MATCHING)] val $$result: <implicit> = @Anno[Unresolved](LAZY_EXPRESSION) foo#(LAZY_EXPRESSION)
|
||||||
public [ResolvedTo(EXPECT_ACTUAL_MATCHING)] get(): <implicit>
|
public [ResolvedTo(EXPECT_ACTUAL_MATCHING)] get(): <implicit>
|
||||||
|
|
||||||
|
|
||||||
@@ -219,7 +219,7 @@ FILE: [ResolvedTo(IMPORTS)] resultBodyAnnotation.kts
|
|||||||
|
|
||||||
public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] action: ( () -> Unit )): R|kotlin/Unit| { LAZY_BLOCK }
|
public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] action: ( () -> Unit )): R|kotlin/Unit| { LAZY_BLOCK }
|
||||||
|
|
||||||
public final [ResolvedTo(CONTRACTS)] val $$result: <implicit> = @Anno[Unresolved](LAZY_EXPRESSION) foo#(<L> = LAZY_EXPRESSION)
|
public final [ResolvedTo(CONTRACTS)] val $$result: <implicit> = @Anno[Unresolved](LAZY_EXPRESSION) foo#(LAZY_EXPRESSION)
|
||||||
public [ResolvedTo(CONTRACTS)] get(): <implicit>
|
public [ResolvedTo(CONTRACTS)] get(): <implicit>
|
||||||
|
|
||||||
|
|
||||||
@@ -366,3 +366,4 @@ FILE: [ResolvedTo(BODY_RESOLVE)] resultBodyAnnotation.kts
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Unit|
|
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Unit|
|
||||||
|
|
||||||
|
|||||||
Vendored
+1
-1
@@ -1,3 +1,3 @@
|
|||||||
val foo = { <!UNRESOLVED_REFERENCE!>bar<!> }(
|
val foo = { <!UNRESOLVED_REFERENCE!>bar<!> }(
|
||||||
|
|
||||||
<!SYNTAX!><!SYNTAX!><!>val<!> bar <!SYNTAX!><!SYNTAX!>=<!> <!TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM!>{ <!TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM, TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM!>foo<!> }<!><!>
|
<!SYNTAX!><!SYNTAX!><!>val<!> bar <!SYNTAX!><!SYNTAX!>=<!> { <!TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM, TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM!>foo<!> }<!>
|
||||||
|
|||||||
+1
-1
@@ -630,7 +630,7 @@ object DIAGNOSTICS_LIST : DiagnosticList("FirErrors") {
|
|||||||
parameter<ConeKotlinType>("actualType")
|
parameter<ConeKotlinType>("actualType")
|
||||||
}
|
}
|
||||||
|
|
||||||
val MANY_LAMBDA_EXPRESSION_ARGUMENTS by error<KtValueArgument>()
|
val MANY_LAMBDA_EXPRESSION_ARGUMENTS by error<KtLambdaExpression>()
|
||||||
|
|
||||||
val NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER by error<KtElement> {
|
val NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER by error<KtElement> {
|
||||||
parameter<String>("name")
|
parameter<String>("name")
|
||||||
|
|||||||
+2
-1
@@ -96,6 +96,7 @@ import org.jetbrains.kotlin.psi.KtFunction
|
|||||||
import org.jetbrains.kotlin.psi.KtIfExpression
|
import org.jetbrains.kotlin.psi.KtIfExpression
|
||||||
import org.jetbrains.kotlin.psi.KtImportDirective
|
import org.jetbrains.kotlin.psi.KtImportDirective
|
||||||
import org.jetbrains.kotlin.psi.KtLabelReferenceExpression
|
import org.jetbrains.kotlin.psi.KtLabelReferenceExpression
|
||||||
|
import org.jetbrains.kotlin.psi.KtLambdaExpression
|
||||||
import org.jetbrains.kotlin.psi.KtModifierListOwner
|
import org.jetbrains.kotlin.psi.KtModifierListOwner
|
||||||
import org.jetbrains.kotlin.psi.KtNameReferenceExpression
|
import org.jetbrains.kotlin.psi.KtNameReferenceExpression
|
||||||
import org.jetbrains.kotlin.psi.KtNamedDeclaration
|
import org.jetbrains.kotlin.psi.KtNamedDeclaration
|
||||||
@@ -406,7 +407,7 @@ object FirErrors {
|
|||||||
val NAME_FOR_AMBIGUOUS_PARAMETER: KtDiagnosticFactory0 by error0<KtValueArgument>(SourceElementPositioningStrategies.NAME_OF_NAMED_ARGUMENT)
|
val NAME_FOR_AMBIGUOUS_PARAMETER: KtDiagnosticFactory0 by error0<KtValueArgument>(SourceElementPositioningStrategies.NAME_OF_NAMED_ARGUMENT)
|
||||||
val ASSIGNMENT_TYPE_MISMATCH: KtDiagnosticFactory3<ConeKotlinType, ConeKotlinType, Boolean> by error3<KtExpression, ConeKotlinType, ConeKotlinType, Boolean>()
|
val ASSIGNMENT_TYPE_MISMATCH: KtDiagnosticFactory3<ConeKotlinType, ConeKotlinType, Boolean> by error3<KtExpression, ConeKotlinType, ConeKotlinType, Boolean>()
|
||||||
val RESULT_TYPE_MISMATCH: KtDiagnosticFactory2<ConeKotlinType, ConeKotlinType> by error2<KtExpression, ConeKotlinType, ConeKotlinType>()
|
val RESULT_TYPE_MISMATCH: KtDiagnosticFactory2<ConeKotlinType, ConeKotlinType> by error2<KtExpression, ConeKotlinType, ConeKotlinType>()
|
||||||
val MANY_LAMBDA_EXPRESSION_ARGUMENTS: KtDiagnosticFactory0 by error0<KtValueArgument>()
|
val MANY_LAMBDA_EXPRESSION_ARGUMENTS: KtDiagnosticFactory0 by error0<KtLambdaExpression>()
|
||||||
val NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER: KtDiagnosticFactory1<String> by error1<KtElement, String>()
|
val NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER: KtDiagnosticFactory1<String> by error1<KtElement, String>()
|
||||||
val SPREAD_OF_NULLABLE: KtDiagnosticFactory0 by error0<PsiElement>(SourceElementPositioningStrategies.SPREAD_OPERATOR)
|
val SPREAD_OF_NULLABLE: KtDiagnosticFactory0 by error0<PsiElement>(SourceElementPositioningStrategies.SPREAD_OPERATOR)
|
||||||
val ASSIGNING_SINGLE_ELEMENT_TO_VARARG_IN_NAMED_FORM_FUNCTION: KtDiagnosticFactoryForDeprecation1<ConeKotlinType> by deprecationError1<KtExpression, ConeKotlinType>(ProhibitAssigningSingleElementsToVarargsInNamedForm)
|
val ASSIGNING_SINGLE_ELEMENT_TO_VARARG_IN_NAMED_FORM_FUNCTION: KtDiagnosticFactoryForDeprecation1<ConeKotlinType> by deprecationError1<KtExpression, ConeKotlinType>(ProhibitAssigningSingleElementsToVarargsInNamedForm)
|
||||||
|
|||||||
-1
@@ -488,7 +488,6 @@ object FirInlineDeclarationChecker : FirFunctionChecker(MppCheckerKind.Common) {
|
|||||||
private fun isInlinableDefaultValue(expression: FirExpression): Boolean =
|
private fun isInlinableDefaultValue(expression: FirExpression): Boolean =
|
||||||
expression is FirCallableReferenceAccess ||
|
expression is FirCallableReferenceAccess ||
|
||||||
expression is FirFunctionCall ||
|
expression is FirFunctionCall ||
|
||||||
expression is FirLambdaArgumentExpression ||
|
|
||||||
expression is FirAnonymousFunctionExpression ||
|
expression is FirAnonymousFunctionExpression ||
|
||||||
(expression is FirLiteralExpression<*> && expression.value == null) //this will be reported separately
|
(expression is FirLiteralExpression<*> && expression.value == null) //this will be reported separately
|
||||||
|
|
||||||
|
|||||||
+1
-2
@@ -14,7 +14,6 @@ import org.jetbrains.kotlin.fir.analysis.checkers.hasDiagnosticKind
|
|||||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors
|
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors
|
||||||
import org.jetbrains.kotlin.fir.diagnostics.DiagnosticKind
|
import org.jetbrains.kotlin.fir.diagnostics.DiagnosticKind
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirLambdaArgumentExpression
|
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirStatement
|
import org.jetbrains.kotlin.fir.expressions.FirStatement
|
||||||
import org.jetbrains.kotlin.fir.types.ConeClassLikeType
|
import org.jetbrains.kotlin.fir.types.ConeClassLikeType
|
||||||
import org.jetbrains.kotlin.fir.types.ConeKotlinType
|
import org.jetbrains.kotlin.fir.types.ConeKotlinType
|
||||||
@@ -32,7 +31,7 @@ object FirRecursiveProblemChecker : FirBasicExpressionChecker(MppCheckerKind.Com
|
|||||||
|
|
||||||
fun checkConeType(coneType: ConeKotlinType?) {
|
fun checkConeType(coneType: ConeKotlinType?) {
|
||||||
if (coneType?.hasDiagnosticKind(DiagnosticKind.RecursionInImplicitTypes) == true) {
|
if (coneType?.hasDiagnosticKind(DiagnosticKind.RecursionInImplicitTypes) == true) {
|
||||||
val source = ((expression as? FirLambdaArgumentExpression)?.expression ?: expression).source
|
val source = expression.source
|
||||||
reporter.reportOn(source, FirErrors.TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM, context)
|
reporter.reportOn(source, FirErrors.TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM, context)
|
||||||
} else if (coneType is ConeClassLikeType) {
|
} else if (coneType is ConeClassLikeType) {
|
||||||
for (typeArgument in coneType.typeArguments) {
|
for (typeArgument in coneType.typeArguments) {
|
||||||
|
|||||||
+1
-2
@@ -44,8 +44,7 @@ object FirReturnSyntaxAndLabelChecker : FirReturnExpressionChecker(MppCheckerKin
|
|||||||
}
|
}
|
||||||
if (functionCall is FirFunctionCall &&
|
if (functionCall is FirFunctionCall &&
|
||||||
functionCall.arguments.any {
|
functionCall.arguments.any {
|
||||||
it is FirLambdaArgumentExpression &&
|
it is FirAnonymousFunctionExpression && it.anonymousFunction.symbol == targetSymbol
|
||||||
(it.expression as? FirAnonymousFunctionExpression)?.anonymousFunction?.symbol == targetSymbol
|
|
||||||
}
|
}
|
||||||
) {
|
) {
|
||||||
reporter.reportOn(source, FirErrors.RETURN_FOR_BUILT_IN_SUSPEND, context)
|
reporter.reportOn(source, FirErrors.RETURN_FOR_BUILT_IN_SUSPEND, context)
|
||||||
|
|||||||
+1
-1
@@ -116,7 +116,7 @@ object FirSuspendCallChecker : FirQualifiedAccessExpressionChecker(MppCheckerKin
|
|||||||
val reference = this.calleeReference
|
val reference = this.calleeReference
|
||||||
if (reference is FirResolvedCallableReference) return null
|
if (reference is FirResolvedCallableReference) return null
|
||||||
if (typeArguments.any { it.source != null }) return null
|
if (typeArguments.any { it.source != null }) return null
|
||||||
if (arguments.singleOrNull() is FirLambdaArgumentExpression) {
|
if (arguments.singleOrNull().let { it is FirAnonymousFunctionExpression && it.isTrailingLambda }) {
|
||||||
// No brackets should be in a selector call
|
// No brackets should be in a selector call
|
||||||
val callExpressionSource =
|
val callExpressionSource =
|
||||||
if (explicitReceiver == null) source
|
if (explicitReceiver == null) source
|
||||||
|
|||||||
+2
-2
@@ -236,8 +236,8 @@ object FirUninitializedEnumChecker : FirQualifiedAccessExpressionChecker(MppChec
|
|||||||
val delegateCall = property.delegate as FirFunctionCall
|
val delegateCall = property.delegate as FirFunctionCall
|
||||||
val calleeSymbol = delegateCall.calleeReference.toResolvedNamedFunctionSymbol() ?: return null
|
val calleeSymbol = delegateCall.calleeReference.toResolvedNamedFunctionSymbol() ?: return null
|
||||||
if (calleeSymbol.callableId.asSingleFqName().asString() != "kotlin.lazy") return null
|
if (calleeSymbol.callableId.asSingleFqName().asString() != "kotlin.lazy") return null
|
||||||
val lazyCallArgument = delegateCall.argumentList.arguments.singleOrNull() as? FirLambdaArgumentExpression ?: return null
|
val lazyCallArgument = delegateCall.argumentList.arguments.singleOrNull() as? FirAnonymousFunctionExpression ?: return null
|
||||||
return (lazyCallArgument.expression as? FirAnonymousFunctionExpression)?.anonymousFunction
|
return lazyCallArgument.anonymousFunction
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun FirDeclaration.isEnumEntryInitializer(): Boolean {
|
private fun FirDeclaration.isEnumEntryInitializer(): Boolean {
|
||||||
|
|||||||
-4
@@ -217,10 +217,6 @@ class ExpressionCheckersDiagnosticComponent(
|
|||||||
checkers.allBasicExpressionCheckers.check(namedArgumentExpression, data)
|
checkers.allBasicExpressionCheckers.check(namedArgumentExpression, data)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun visitLambdaArgumentExpression(lambdaArgumentExpression: FirLambdaArgumentExpression, data: CheckerContext) {
|
|
||||||
checkers.allBasicExpressionCheckers.check(lambdaArgumentExpression, data)
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun visitSmartCastExpression(smartCastExpression: FirSmartCastExpression, data: CheckerContext) {
|
override fun visitSmartCastExpression(smartCastExpression: FirSmartCastExpression, data: CheckerContext) {
|
||||||
checkers.allBasicExpressionCheckers.check(smartCastExpression, data)
|
checkers.allBasicExpressionCheckers.check(smartCastExpression, data)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1573,11 +1573,6 @@ class HtmlFirDump internal constructor(private var linkResolver: FirLinkResolver
|
|||||||
generate(expression.expression)
|
generate(expression.expression)
|
||||||
|
|
||||||
}
|
}
|
||||||
is FirLambdaArgumentExpression -> {
|
|
||||||
keyword("lambda")
|
|
||||||
+" = "
|
|
||||||
generate(expression.expression)
|
|
||||||
}
|
|
||||||
is FirTypeOperatorCall -> generate(expression)
|
is FirTypeOperatorCall -> generate(expression)
|
||||||
is FirEqualityOperatorCall -> generate(expression)
|
is FirEqualityOperatorCall -> generate(expression)
|
||||||
is FirBinaryLogicExpression -> generate(expression)
|
is FirBinaryLogicExpression -> generate(expression)
|
||||||
|
|||||||
@@ -88,9 +88,6 @@ class Fir2IrImplicitCastInserter(
|
|||||||
// TODO: element-wise cast?
|
// TODO: element-wise cast?
|
||||||
override fun visitArrayLiteral(arrayLiteral: FirArrayLiteral, data: IrElement): IrElement = data
|
override fun visitArrayLiteral(arrayLiteral: FirArrayLiteral, data: IrElement): IrElement = data
|
||||||
|
|
||||||
// TODO: something to do w.r.t. SAM?
|
|
||||||
override fun visitLambdaArgumentExpression(lambdaArgumentExpression: FirLambdaArgumentExpression, data: IrElement): IrElement = data
|
|
||||||
|
|
||||||
// TODO: element-wise cast?
|
// TODO: element-wise cast?
|
||||||
override fun visitNamedArgumentExpression(namedArgumentExpression: FirNamedArgumentExpression, data: IrElement): IrElement = data
|
override fun visitNamedArgumentExpression(namedArgumentExpression: FirNamedArgumentExpression, data: IrElement): IrElement = data
|
||||||
|
|
||||||
|
|||||||
+3
-3
@@ -1513,9 +1513,9 @@ class LightTreeRawFirExpressionBuilder(
|
|||||||
VALUE_ARGUMENT -> container += convertValueArgument(node)
|
VALUE_ARGUMENT -> container += convertValueArgument(node)
|
||||||
LAMBDA_EXPRESSION,
|
LAMBDA_EXPRESSION,
|
||||||
LABELED_EXPRESSION,
|
LABELED_EXPRESSION,
|
||||||
ANNOTATED_EXPRESSION -> container += buildLambdaArgumentExpression {
|
ANNOTATED_EXPRESSION,
|
||||||
source = valueArguments.toFirSourceElement()
|
-> container += getAsFirExpression<FirAnonymousFunctionExpression>(node).apply {
|
||||||
expression = getAsFirExpression(node)
|
replaceIsTrailingLambda(newIsTrailingLambda = true)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-3
@@ -904,9 +904,8 @@ open class PsiRawFirBuilder(
|
|||||||
val argumentExpression =
|
val argumentExpression =
|
||||||
buildOrLazyExpression((argument as? PsiElement)?.toFirSourceElement()) { argument.toFirExpression() }
|
buildOrLazyExpression((argument as? PsiElement)?.toFirSourceElement()) { argument.toFirExpression() }
|
||||||
arguments += when (argument) {
|
arguments += when (argument) {
|
||||||
is KtLambdaArgument -> buildLambdaArgumentExpression {
|
is KtLambdaArgument -> argumentExpression.apply {
|
||||||
source = argument.toFirSourceElement()
|
(this as? FirAnonymousFunctionExpression)?.replaceIsTrailingLambda(true)
|
||||||
expression = argumentExpression
|
|
||||||
}
|
}
|
||||||
else -> argumentExpression
|
else -> argumentExpression
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -7,7 +7,7 @@ FILE: scriptStatementLevelDestructuringWithAnnotationAsLastStatement.kts
|
|||||||
@DestrAnno(LAZY_EXPRESSION) lval <destruct>: <implicit> = IntegerLiteral(0).to#(IntegerLiteral(1))
|
@DestrAnno(LAZY_EXPRESSION) lval <destruct>: <implicit> = IntegerLiteral(0).to#(IntegerLiteral(1))
|
||||||
@LeftAnno(LAZY_EXPRESSION) lval a: <implicit> = LAZY_EXPRESSION
|
@LeftAnno(LAZY_EXPRESSION) lval a: <implicit> = LAZY_EXPRESSION
|
||||||
@RightAnno(LAZY_EXPRESSION) lval b: <implicit> = LAZY_EXPRESSION
|
@RightAnno(LAZY_EXPRESSION) lval b: <implicit> = LAZY_EXPRESSION
|
||||||
run#(<L> = LAZY_EXPRESSION)
|
run#(LAZY_EXPRESSION)
|
||||||
@Destr2Anno(LAZY_EXPRESSION) lval <destruct>: <implicit> = IntegerLiteral(2).to#(IntegerLiteral(3))
|
@Destr2Anno(LAZY_EXPRESSION) lval <destruct>: <implicit> = IntegerLiteral(2).to#(IntegerLiteral(3))
|
||||||
@SecondLeftAnno(LAZY_EXPRESSION) lval c: <implicit> = LAZY_EXPRESSION
|
@SecondLeftAnno(LAZY_EXPRESSION) lval c: <implicit> = LAZY_EXPRESSION
|
||||||
@SecondRightAnno(LAZY_EXPRESSION) lval d: <implicit> = LAZY_EXPRESSION
|
@SecondRightAnno(LAZY_EXPRESSION) lval d: <implicit> = LAZY_EXPRESSION
|
||||||
|
|||||||
+1
-1
@@ -75,7 +75,7 @@ fun BodyResolveComponents.mapArguments(
|
|||||||
val excessLambdaArguments: MutableList<FirExpression> = mutableListOf()
|
val excessLambdaArguments: MutableList<FirExpression> = mutableListOf()
|
||||||
var externalArgument: FirExpression? = null
|
var externalArgument: FirExpression? = null
|
||||||
for (argument in arguments) {
|
for (argument in arguments) {
|
||||||
if (argument is FirLambdaArgumentExpression) {
|
if (argument is FirAnonymousFunctionExpression && argument.isTrailingLambda) {
|
||||||
if (externalArgument == null) {
|
if (externalArgument == null) {
|
||||||
externalArgument = argument
|
externalArgument = argument
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
+1
-1
@@ -298,7 +298,7 @@ class FirCallCompleter(
|
|||||||
|
|
||||||
val matchedParameter = candidate.argumentMapping?.firstNotNullOfOrNull { (currentArgument, currentValueParameter) ->
|
val matchedParameter = candidate.argumentMapping?.firstNotNullOfOrNull { (currentArgument, currentValueParameter) ->
|
||||||
val currentLambdaArgument =
|
val currentLambdaArgument =
|
||||||
((currentArgument as? FirLambdaArgumentExpression)?.expression as? FirAnonymousFunctionExpression)?.anonymousFunction
|
(currentArgument as? FirAnonymousFunctionExpression)?.anonymousFunction
|
||||||
if (currentLambdaArgument === lambdaArgument) {
|
if (currentLambdaArgument === lambdaArgument) {
|
||||||
currentValueParameter
|
currentValueParameter
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
+5
-6
@@ -170,10 +170,10 @@ abstract class FirAbstractContractResolveTransformerDispatcher(
|
|||||||
owner.body.replaceFirstStatement<FirContractCallBlock> { FirContractCallBlock(resolvedContractCall) }
|
owner.body.replaceFirstStatement<FirContractCallBlock> { FirContractCallBlock(resolvedContractCall) }
|
||||||
}
|
}
|
||||||
|
|
||||||
val argument = resolvedContractCall.arguments.singleOrNull() as? FirLambdaArgumentExpression
|
val argument = resolvedContractCall.arguments.singleOrNull() as? FirAnonymousFunctionExpression
|
||||||
?: return transformOwnerOfErrorContract(owner)
|
?: return transformOwnerOfErrorContract(owner)
|
||||||
|
|
||||||
val lambdaBody = (argument.expression as FirAnonymousFunctionExpression).anonymousFunction.body
|
val lambdaBody = argument.anonymousFunction.body
|
||||||
?: return transformOwnerOfErrorContract(owner)
|
?: return transformOwnerOfErrorContract(owner)
|
||||||
|
|
||||||
val resolvedContractDescription = buildResolvedContractDescription {
|
val resolvedContractDescription = buildResolvedContractDescription {
|
||||||
@@ -227,10 +227,9 @@ abstract class FirAbstractContractResolveTransformerDispatcher(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
val lambdaArgument = buildLambdaArgumentExpression {
|
val lambdaArgument = buildAnonymousFunctionExpression {
|
||||||
expression = buildAnonymousFunctionExpression {
|
anonymousFunction = effectsBlock
|
||||||
anonymousFunction = effectsBlock
|
isTrailingLambda = true
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
val contractCall = buildFunctionCall {
|
val contractCall = buildFunctionCall {
|
||||||
|
|||||||
+3
@@ -24,6 +24,7 @@ abstract class FirAnonymousFunctionExpression : FirExpression() {
|
|||||||
abstract override val coneTypeOrNull: ConeKotlinType?
|
abstract override val coneTypeOrNull: ConeKotlinType?
|
||||||
abstract override val annotations: List<FirAnnotation>
|
abstract override val annotations: List<FirAnnotation>
|
||||||
abstract val anonymousFunction: FirAnonymousFunction
|
abstract val anonymousFunction: FirAnonymousFunction
|
||||||
|
abstract val isTrailingLambda: Boolean
|
||||||
|
|
||||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R =
|
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R =
|
||||||
visitor.visitAnonymousFunctionExpression(this, data)
|
visitor.visitAnonymousFunctionExpression(this, data)
|
||||||
@@ -36,6 +37,8 @@ abstract class FirAnonymousFunctionExpression : FirExpression() {
|
|||||||
|
|
||||||
abstract override fun replaceAnnotations(newAnnotations: List<FirAnnotation>)
|
abstract override fun replaceAnnotations(newAnnotations: List<FirAnnotation>)
|
||||||
|
|
||||||
|
abstract fun replaceIsTrailingLambda(newIsTrailingLambda: Boolean)
|
||||||
|
|
||||||
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirAnonymousFunctionExpression
|
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirAnonymousFunctionExpression
|
||||||
|
|
||||||
abstract fun <D> transformAnonymousFunction(transformer: FirTransformer<D>, data: D): FirAnonymousFunctionExpression
|
abstract fun <D> transformAnonymousFunction(transformer: FirTransformer<D>, data: D): FirAnonymousFunctionExpression
|
||||||
|
|||||||
-40
@@ -1,40 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
|
||||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
|
||||||
*/
|
|
||||||
|
|
||||||
// This file was generated automatically. See compiler/fir/tree/tree-generator/Readme.md.
|
|
||||||
// DO NOT MODIFY IT MANUALLY.
|
|
||||||
|
|
||||||
package org.jetbrains.kotlin.fir.expressions
|
|
||||||
|
|
||||||
import org.jetbrains.kotlin.KtSourceElement
|
|
||||||
import org.jetbrains.kotlin.fir.FirElement
|
|
||||||
import org.jetbrains.kotlin.fir.types.ConeKotlinType
|
|
||||||
import org.jetbrains.kotlin.fir.visitors.FirTransformer
|
|
||||||
import org.jetbrains.kotlin.fir.visitors.FirVisitor
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Generated from: [org.jetbrains.kotlin.fir.tree.generator.FirTreeBuilder.lambdaArgumentExpression]
|
|
||||||
*/
|
|
||||||
abstract class FirLambdaArgumentExpression : FirWrappedArgumentExpression() {
|
|
||||||
abstract override val source: KtSourceElement?
|
|
||||||
@UnresolvedExpressionTypeAccess
|
|
||||||
abstract override val coneTypeOrNull: ConeKotlinType?
|
|
||||||
abstract override val annotations: List<FirAnnotation>
|
|
||||||
abstract override val expression: FirExpression
|
|
||||||
abstract override val isSpread: Boolean
|
|
||||||
|
|
||||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R =
|
|
||||||
visitor.visitLambdaArgumentExpression(this, data)
|
|
||||||
|
|
||||||
@Suppress("UNCHECKED_CAST")
|
|
||||||
override fun <E : FirElement, D> transform(transformer: FirTransformer<D>, data: D): E =
|
|
||||||
transformer.transformLambdaArgumentExpression(this, data) as E
|
|
||||||
|
|
||||||
abstract override fun replaceConeTypeOrNull(newConeTypeOrNull: ConeKotlinType?)
|
|
||||||
|
|
||||||
abstract override fun replaceAnnotations(newAnnotations: List<FirAnnotation>)
|
|
||||||
|
|
||||||
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirLambdaArgumentExpression
|
|
||||||
}
|
|
||||||
-53
@@ -1,53 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
|
||||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
|
||||||
*/
|
|
||||||
|
|
||||||
// This file was generated automatically. See compiler/fir/tree/tree-generator/Readme.md.
|
|
||||||
// DO NOT MODIFY IT MANUALLY.
|
|
||||||
|
|
||||||
@file:Suppress("DuplicatedCode", "unused")
|
|
||||||
|
|
||||||
package org.jetbrains.kotlin.fir.expressions.builder
|
|
||||||
|
|
||||||
import kotlin.contracts.*
|
|
||||||
import org.jetbrains.kotlin.KtSourceElement
|
|
||||||
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
|
||||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
|
||||||
import org.jetbrains.kotlin.fir.builder.toMutableOrEmpty
|
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotation
|
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirLambdaArgumentExpression
|
|
||||||
import org.jetbrains.kotlin.fir.expressions.impl.FirLambdaArgumentExpressionImpl
|
|
||||||
import org.jetbrains.kotlin.fir.types.ConeKotlinType
|
|
||||||
|
|
||||||
@FirBuilderDsl
|
|
||||||
class FirLambdaArgumentExpressionBuilder : FirAnnotationContainerBuilder, FirExpressionBuilder {
|
|
||||||
override var source: KtSourceElement? = null
|
|
||||||
override val annotations: MutableList<FirAnnotation> = mutableListOf()
|
|
||||||
lateinit var expression: FirExpression
|
|
||||||
|
|
||||||
override fun build(): FirLambdaArgumentExpression {
|
|
||||||
return FirLambdaArgumentExpressionImpl(
|
|
||||||
source,
|
|
||||||
annotations.toMutableOrEmpty(),
|
|
||||||
expression,
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@Deprecated("Modification of 'coneTypeOrNull' has no impact for FirLambdaArgumentExpressionBuilder", level = DeprecationLevel.HIDDEN)
|
|
||||||
override var coneTypeOrNull: ConeKotlinType?
|
|
||||||
get() = throw IllegalStateException()
|
|
||||||
set(_) {
|
|
||||||
throw IllegalStateException()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@OptIn(ExperimentalContracts::class)
|
|
||||||
inline fun buildLambdaArgumentExpression(init: FirLambdaArgumentExpressionBuilder.() -> Unit): FirLambdaArgumentExpression {
|
|
||||||
contract {
|
|
||||||
callsInPlace(init, InvocationKind.EXACTLY_ONCE)
|
|
||||||
}
|
|
||||||
return FirLambdaArgumentExpressionBuilder().apply(init).build()
|
|
||||||
}
|
|
||||||
-57
@@ -1,57 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
|
||||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
|
||||||
*/
|
|
||||||
|
|
||||||
// This file was generated automatically. See compiler/fir/tree/tree-generator/Readme.md.
|
|
||||||
// DO NOT MODIFY IT MANUALLY.
|
|
||||||
|
|
||||||
@file:Suppress("DuplicatedCode")
|
|
||||||
|
|
||||||
package org.jetbrains.kotlin.fir.expressions.impl
|
|
||||||
|
|
||||||
import org.jetbrains.kotlin.KtSourceElement
|
|
||||||
import org.jetbrains.kotlin.fir.MutableOrEmptyList
|
|
||||||
import org.jetbrains.kotlin.fir.builder.toMutableOrEmpty
|
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotation
|
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirLambdaArgumentExpression
|
|
||||||
import org.jetbrains.kotlin.fir.expressions.UnresolvedExpressionTypeAccess
|
|
||||||
import org.jetbrains.kotlin.fir.types.ConeKotlinType
|
|
||||||
import org.jetbrains.kotlin.fir.visitors.FirTransformer
|
|
||||||
import org.jetbrains.kotlin.fir.visitors.FirVisitor
|
|
||||||
import org.jetbrains.kotlin.fir.visitors.transformInplace
|
|
||||||
|
|
||||||
internal class FirLambdaArgumentExpressionImpl(
|
|
||||||
override val source: KtSourceElement?,
|
|
||||||
override var annotations: MutableOrEmptyList<FirAnnotation>,
|
|
||||||
override var expression: FirExpression,
|
|
||||||
) : FirLambdaArgumentExpression() {
|
|
||||||
@OptIn(UnresolvedExpressionTypeAccess::class)
|
|
||||||
override val coneTypeOrNull: ConeKotlinType?
|
|
||||||
get() = expression.coneTypeOrNull
|
|
||||||
override val isSpread: Boolean
|
|
||||||
get() = false
|
|
||||||
|
|
||||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
|
||||||
annotations.forEach { it.accept(visitor, data) }
|
|
||||||
expression.accept(visitor, data)
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirLambdaArgumentExpressionImpl {
|
|
||||||
transformAnnotations(transformer, data)
|
|
||||||
expression = expression.transform(transformer, data)
|
|
||||||
return this
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirLambdaArgumentExpressionImpl {
|
|
||||||
annotations.transformInplace(transformer, data)
|
|
||||||
return this
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun replaceConeTypeOrNull(newConeTypeOrNull: ConeKotlinType?) {}
|
|
||||||
|
|
||||||
override fun replaceAnnotations(newAnnotations: List<FirAnnotation>) {
|
|
||||||
annotations = newAnnotations.toMutableOrEmpty()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -170,9 +170,6 @@ abstract class FirDefaultVisitor<out R, in D> : FirVisitor<R, D>() {
|
|||||||
override fun visitWrappedArgumentExpression(wrappedArgumentExpression: FirWrappedArgumentExpression, data: D): R =
|
override fun visitWrappedArgumentExpression(wrappedArgumentExpression: FirWrappedArgumentExpression, data: D): R =
|
||||||
visitWrappedExpression(wrappedArgumentExpression, data)
|
visitWrappedExpression(wrappedArgumentExpression, data)
|
||||||
|
|
||||||
override fun visitLambdaArgumentExpression(lambdaArgumentExpression: FirLambdaArgumentExpression, data: D): R =
|
|
||||||
visitWrappedArgumentExpression(lambdaArgumentExpression, data)
|
|
||||||
|
|
||||||
override fun visitSpreadArgumentExpression(spreadArgumentExpression: FirSpreadArgumentExpression, data: D): R =
|
override fun visitSpreadArgumentExpression(spreadArgumentExpression: FirSpreadArgumentExpression, data: D): R =
|
||||||
visitWrappedArgumentExpression(spreadArgumentExpression, data)
|
visitWrappedArgumentExpression(spreadArgumentExpression, data)
|
||||||
|
|
||||||
|
|||||||
@@ -120,8 +120,6 @@ abstract class FirDefaultVisitorVoid : FirVisitorVoid() {
|
|||||||
|
|
||||||
override fun visitWrappedArgumentExpression(wrappedArgumentExpression: FirWrappedArgumentExpression) = visitWrappedExpression(wrappedArgumentExpression)
|
override fun visitWrappedArgumentExpression(wrappedArgumentExpression: FirWrappedArgumentExpression) = visitWrappedExpression(wrappedArgumentExpression)
|
||||||
|
|
||||||
override fun visitLambdaArgumentExpression(lambdaArgumentExpression: FirLambdaArgumentExpression) = visitWrappedArgumentExpression(lambdaArgumentExpression)
|
|
||||||
|
|
||||||
override fun visitSpreadArgumentExpression(spreadArgumentExpression: FirSpreadArgumentExpression) = visitWrappedArgumentExpression(spreadArgumentExpression)
|
override fun visitSpreadArgumentExpression(spreadArgumentExpression: FirSpreadArgumentExpression) = visitWrappedArgumentExpression(spreadArgumentExpression)
|
||||||
|
|
||||||
override fun visitNamedArgumentExpression(namedArgumentExpression: FirNamedArgumentExpression) = visitWrappedArgumentExpression(namedArgumentExpression)
|
override fun visitNamedArgumentExpression(namedArgumentExpression: FirNamedArgumentExpression) = visitWrappedArgumentExpression(namedArgumentExpression)
|
||||||
|
|||||||
@@ -923,14 +923,6 @@ abstract class FirTransformer<in D> : FirVisitor<FirElement, D>() {
|
|||||||
return transformWrappedArgumentExpression(wrappedArgumentExpression, data)
|
return transformWrappedArgumentExpression(wrappedArgumentExpression, data)
|
||||||
}
|
}
|
||||||
|
|
||||||
open fun transformLambdaArgumentExpression(lambdaArgumentExpression: FirLambdaArgumentExpression, data: D): FirStatement {
|
|
||||||
return transformElement(lambdaArgumentExpression, data)
|
|
||||||
}
|
|
||||||
|
|
||||||
final override fun visitLambdaArgumentExpression(lambdaArgumentExpression: FirLambdaArgumentExpression, data: D): FirStatement {
|
|
||||||
return transformLambdaArgumentExpression(lambdaArgumentExpression, data)
|
|
||||||
}
|
|
||||||
|
|
||||||
open fun transformSpreadArgumentExpression(spreadArgumentExpression: FirSpreadArgumentExpression, data: D): FirStatement {
|
open fun transformSpreadArgumentExpression(spreadArgumentExpression: FirSpreadArgumentExpression, data: D): FirStatement {
|
||||||
return transformElement(spreadArgumentExpression, data)
|
return transformElement(spreadArgumentExpression, data)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -359,9 +359,6 @@ abstract class FirVisitor<out R, in D> {
|
|||||||
open fun visitWrappedArgumentExpression(wrappedArgumentExpression: FirWrappedArgumentExpression, data: D): R =
|
open fun visitWrappedArgumentExpression(wrappedArgumentExpression: FirWrappedArgumentExpression, data: D): R =
|
||||||
visitElement(wrappedArgumentExpression, data)
|
visitElement(wrappedArgumentExpression, data)
|
||||||
|
|
||||||
open fun visitLambdaArgumentExpression(lambdaArgumentExpression: FirLambdaArgumentExpression, data: D): R =
|
|
||||||
visitElement(lambdaArgumentExpression, data)
|
|
||||||
|
|
||||||
open fun visitSpreadArgumentExpression(spreadArgumentExpression: FirSpreadArgumentExpression, data: D): R =
|
open fun visitSpreadArgumentExpression(spreadArgumentExpression: FirSpreadArgumentExpression, data: D): R =
|
||||||
visitElement(spreadArgumentExpression, data)
|
visitElement(spreadArgumentExpression, data)
|
||||||
|
|
||||||
|
|||||||
@@ -923,14 +923,6 @@ abstract class FirVisitorVoid : FirVisitor<Unit, Nothing?>() {
|
|||||||
visitElement(wrappedArgumentExpression)
|
visitElement(wrappedArgumentExpression)
|
||||||
}
|
}
|
||||||
|
|
||||||
final override fun visitLambdaArgumentExpression(lambdaArgumentExpression: FirLambdaArgumentExpression, data: Nothing?) {
|
|
||||||
visitLambdaArgumentExpression(lambdaArgumentExpression)
|
|
||||||
}
|
|
||||||
|
|
||||||
open fun visitLambdaArgumentExpression(lambdaArgumentExpression: FirLambdaArgumentExpression) {
|
|
||||||
visitElement(lambdaArgumentExpression)
|
|
||||||
}
|
|
||||||
|
|
||||||
final override fun visitSpreadArgumentExpression(spreadArgumentExpression: FirSpreadArgumentExpression, data: Nothing?) {
|
final override fun visitSpreadArgumentExpression(spreadArgumentExpression: FirSpreadArgumentExpression, data: Nothing?) {
|
||||||
visitSpreadArgumentExpression(spreadArgumentExpression)
|
visitSpreadArgumentExpression(spreadArgumentExpression)
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-1
@@ -21,11 +21,13 @@ import kotlin.contracts.contract
|
|||||||
class FirAnonymousFunctionExpressionBuilder : FirAnnotationContainerBuilder, FirExpressionBuilder {
|
class FirAnonymousFunctionExpressionBuilder : FirAnnotationContainerBuilder, FirExpressionBuilder {
|
||||||
override var source: KtSourceElement? = null
|
override var source: KtSourceElement? = null
|
||||||
lateinit var anonymousFunction: FirAnonymousFunction
|
lateinit var anonymousFunction: FirAnonymousFunction
|
||||||
|
var isTrailingLambda: Boolean = false
|
||||||
|
|
||||||
override fun build(): FirAnonymousFunctionExpression {
|
override fun build(): FirAnonymousFunctionExpression {
|
||||||
return FirAnonymousFunctionExpressionImpl(
|
return FirAnonymousFunctionExpressionImpl(
|
||||||
source,
|
source,
|
||||||
anonymousFunction
|
anonymousFunction,
|
||||||
|
isTrailingLambda,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+7
-1
@@ -19,8 +19,10 @@ import org.jetbrains.kotlin.utils.addToStdlib.shouldNotBeCalled
|
|||||||
@OptIn(UnresolvedExpressionTypeAccess::class)
|
@OptIn(UnresolvedExpressionTypeAccess::class)
|
||||||
internal class FirAnonymousFunctionExpressionImpl(
|
internal class FirAnonymousFunctionExpressionImpl(
|
||||||
override val source: KtSourceElement?,
|
override val source: KtSourceElement?,
|
||||||
override var anonymousFunction: FirAnonymousFunction
|
override var anonymousFunction: FirAnonymousFunction,
|
||||||
|
override var isTrailingLambda: Boolean,
|
||||||
) : FirAnonymousFunctionExpression() {
|
) : FirAnonymousFunctionExpression() {
|
||||||
|
|
||||||
@UnresolvedExpressionTypeAccess
|
@UnresolvedExpressionTypeAccess
|
||||||
override val coneTypeOrNull: ConeKotlinType?
|
override val coneTypeOrNull: ConeKotlinType?
|
||||||
get() = anonymousFunction.typeRef.coneTypeOrNull
|
get() = anonymousFunction.typeRef.coneTypeOrNull
|
||||||
@@ -40,6 +42,10 @@ internal class FirAnonymousFunctionExpressionImpl(
|
|||||||
anonymousFunction.replaceAnnotations(newAnnotations)
|
anonymousFunction.replaceAnnotations(newAnnotations)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun replaceIsTrailingLambda(newIsTrailingLambda: Boolean) {
|
||||||
|
isTrailingLambda = newIsTrailingLambda
|
||||||
|
}
|
||||||
|
|
||||||
override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirAnonymousFunctionExpressionImpl {
|
override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirAnonymousFunctionExpressionImpl {
|
||||||
return this
|
return this
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -435,6 +435,7 @@ class FirRenderer(
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun visitAnonymousFunctionExpression(anonymousFunctionExpression: FirAnonymousFunctionExpression) {
|
override fun visitAnonymousFunctionExpression(anonymousFunctionExpression: FirAnonymousFunctionExpression) {
|
||||||
|
if (anonymousFunctionExpression.isTrailingLambda) print("<L> = ")
|
||||||
visitAnonymousFunction(anonymousFunctionExpression.anonymousFunction)
|
visitAnonymousFunction(anonymousFunctionExpression.anonymousFunction)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -732,11 +733,6 @@ class FirRenderer(
|
|||||||
spreadArgumentExpression.expression.accept(this)
|
spreadArgumentExpression.expression.accept(this)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun visitLambdaArgumentExpression(lambdaArgumentExpression: FirLambdaArgumentExpression) {
|
|
||||||
print("<L> = ")
|
|
||||||
lambdaArgumentExpression.expression.accept(this)
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun visitVarargArgumentsExpression(varargArgumentsExpression: FirVarargArgumentsExpression) {
|
override fun visitVarargArgumentsExpression(varargArgumentsExpression: FirVarargArgumentsExpression) {
|
||||||
print("vararg(")
|
print("vararg(")
|
||||||
renderSeparated(varargArgumentsExpression.arguments, visitor)
|
renderSeparated(varargArgumentsExpression.arguments, visitor)
|
||||||
@@ -744,8 +740,17 @@ class FirRenderer(
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun visitSamConversionExpression(samConversionExpression: FirSamConversionExpression) {
|
override fun visitSamConversionExpression(samConversionExpression: FirSamConversionExpression) {
|
||||||
|
val expression = samConversionExpression.expression
|
||||||
|
|
||||||
|
if (expression is FirAnonymousFunctionExpression && expression.isTrailingLambda) {
|
||||||
|
print("<L> = SAM(")
|
||||||
|
expression.anonymousFunction.accept(this)
|
||||||
|
print(")")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
print("SAM(")
|
print("SAM(")
|
||||||
samConversionExpression.expression.accept(this)
|
expression.accept(this)
|
||||||
print(")")
|
print(")")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -70,11 +70,6 @@ abstract class FirDefaultTransformer<D> : FirTransformer<D>() {
|
|||||||
return transformJump(breakExpression, data)
|
return transformJump(breakExpression, data)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
override fun transformLambdaArgumentExpression(lambdaArgumentExpression: FirLambdaArgumentExpression, data: D): FirStatement {
|
|
||||||
return transformWrappedArgumentExpression(lambdaArgumentExpression, data)
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun transformSpreadArgumentExpression(spreadArgumentExpression: FirSpreadArgumentExpression, data: D): FirStatement {
|
override fun transformSpreadArgumentExpression(spreadArgumentExpression: FirSpreadArgumentExpression, data: D): FirStatement {
|
||||||
return transformWrappedArgumentExpression(spreadArgumentExpression, data)
|
return transformWrappedArgumentExpression(spreadArgumentExpression, data)
|
||||||
}
|
}
|
||||||
|
|||||||
-1
@@ -143,7 +143,6 @@ object FirTreeBuilder : AbstractFirTreeBuilder() {
|
|||||||
val getClassCall by element(Expression, expression, call)
|
val getClassCall by element(Expression, expression, call)
|
||||||
val wrappedExpression by element(Expression, expression)
|
val wrappedExpression by element(Expression, expression)
|
||||||
val wrappedArgumentExpression by element(Expression, wrappedExpression)
|
val wrappedArgumentExpression by element(Expression, wrappedExpression)
|
||||||
val lambdaArgumentExpression by element(Expression, wrappedArgumentExpression)
|
|
||||||
val spreadArgumentExpression by element(Expression, wrappedArgumentExpression)
|
val spreadArgumentExpression by element(Expression, wrappedArgumentExpression)
|
||||||
val namedArgumentExpression by element(Expression, wrappedArgumentExpression)
|
val namedArgumentExpression by element(Expression, wrappedArgumentExpression)
|
||||||
val varargArgumentsExpression by element(Expression, expression)
|
val varargArgumentsExpression by element(Expression, expression)
|
||||||
|
|||||||
-10
@@ -316,16 +316,6 @@ object ImplementationConfigurator : AbstractFirTreeImplementationConfigurator()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl(lambdaArgumentExpression) {
|
|
||||||
default("isSpread") {
|
|
||||||
value = "false"
|
|
||||||
withGetter = true
|
|
||||||
}
|
|
||||||
default("coneTypeOrNull") {
|
|
||||||
delegate = "expression"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
impl(spreadArgumentExpression) {
|
impl(spreadArgumentExpression) {
|
||||||
default("isSpread") {
|
default("isSpread") {
|
||||||
value = "true"
|
value = "true"
|
||||||
|
|||||||
+1
@@ -331,6 +331,7 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
|
|||||||
|
|
||||||
anonymousFunctionExpression.configure {
|
anonymousFunctionExpression.configure {
|
||||||
+field(anonymousFunction).withTransform()
|
+field(anonymousFunction).withTransform()
|
||||||
|
+booleanField("isTrailingLambda", withReplace = true)
|
||||||
}
|
}
|
||||||
|
|
||||||
typeParameter.configure {
|
typeParameter.configure {
|
||||||
|
|||||||
@@ -25,4 +25,19 @@ enum class JvmTarget(val description: String) {
|
|||||||
JVM_15 -> "Opcodes.V12 + 3"
|
JVM_15 -> "Opcodes.V12 + 3"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Should not report UNINITIALIZED_ENUM_ENTRY
|
||||||
|
val bytecodeVersion2: String by lazy({
|
||||||
|
when (this) {
|
||||||
|
JVM_1_6 -> "Opcodes.V1_6"
|
||||||
|
JVM_1_8 -> "Opcodes.V1_8"
|
||||||
|
JVM_9 -> "Opcodes.V9"
|
||||||
|
JVM_10 -> "Opcodes.V10"
|
||||||
|
JVM_11 -> "Opcodes.V11"
|
||||||
|
JVM_12 -> "Opcodes.V12"
|
||||||
|
JVM_13 -> "Opcodes.V12 + 1"
|
||||||
|
JVM_14 -> "Opcodes.V12 + 2"
|
||||||
|
JVM_15 -> "Opcodes.V12 + 3"
|
||||||
|
}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ public final enum class JvmTarget : kotlin.Enum<JvmTarget> {
|
|||||||
|
|
||||||
private constructor JvmTarget(/*0*/ description: kotlin.String)
|
private constructor JvmTarget(/*0*/ description: kotlin.String)
|
||||||
public final val bytecodeVersion: kotlin.String
|
public final val bytecodeVersion: kotlin.String
|
||||||
|
public final val bytecodeVersion2: kotlin.String
|
||||||
public final val description: kotlin.String
|
public final val description: kotlin.String
|
||||||
@kotlin.internal.IntrinsicConstEvaluation public final override /*1*/ /*fake_override*/ val name: kotlin.String
|
@kotlin.internal.IntrinsicConstEvaluation public final override /*1*/ /*fake_override*/ val name: kotlin.String
|
||||||
public final override /*1*/ /*fake_override*/ val ordinal: kotlin.Int
|
public final override /*1*/ /*fake_override*/ val ordinal: kotlin.Int
|
||||||
|
|||||||
+2
-2
@@ -29,7 +29,7 @@ import kotlin.contracts.*
|
|||||||
|
|
||||||
// TESTCASE NUMBER: 1
|
// TESTCASE NUMBER: 1
|
||||||
inline fun case_1(block: () -> Unit) {
|
inline fun case_1(block: () -> Unit) {
|
||||||
contract(builder = { callsInPlaceEffectBuilder(block) })
|
contract(builder = { <!ERROR_IN_CONTRACT_DESCRIPTION!>callsInPlaceEffectBuilder(block)<!> })
|
||||||
return block()
|
return block()
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -41,6 +41,6 @@ inline fun case_2(block: () -> Unit) {
|
|||||||
|
|
||||||
// TESTCASE NUMBER: 3
|
// TESTCASE NUMBER: 3
|
||||||
inline fun case_3(value_1: Int?, block: () -> Unit) {
|
inline fun case_3(value_1: Int?, block: () -> Unit) {
|
||||||
contract({ returnsEffectBuilder(value_1); callsInPlaceEffectBuilder(block) })
|
contract({ <!ERROR_IN_CONTRACT_DESCRIPTION!>returnsEffectBuilder(value_1)<!>; <!ERROR_IN_CONTRACT_DESCRIPTION!>callsInPlaceEffectBuilder(block)<!> })
|
||||||
return block()
|
return block()
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -19,12 +19,12 @@ inline fun case_1(block: () -> Unit) {
|
|||||||
|
|
||||||
// TESTCASE NUMBER: 2
|
// TESTCASE NUMBER: 2
|
||||||
inline fun case_2(block: () -> Unit) {
|
inline fun case_2(block: () -> Unit) {
|
||||||
contract({ })
|
<!ERROR_IN_CONTRACT_DESCRIPTION!>contract({ })<!>
|
||||||
return block()
|
return block()
|
||||||
}
|
}
|
||||||
|
|
||||||
// TESTCASE NUMBER: 3
|
// TESTCASE NUMBER: 3
|
||||||
inline fun case_3(block: () -> Unit) {
|
inline fun case_3(block: () -> Unit) {
|
||||||
contract(builder = { })
|
<!ERROR_IN_CONTRACT_DESCRIPTION!>contract(builder = { })<!>
|
||||||
return block()
|
return block()
|
||||||
}
|
}
|
||||||
|
|||||||
+48
-48
@@ -15,14 +15,15 @@ import org.jetbrains.kotlin.fir.FirSession
|
|||||||
import org.jetbrains.kotlin.fir.caches.firCachesFactory
|
import org.jetbrains.kotlin.fir.caches.firCachesFactory
|
||||||
import org.jetbrains.kotlin.fir.caches.getValue
|
import org.jetbrains.kotlin.fir.caches.getValue
|
||||||
import org.jetbrains.kotlin.fir.declarations.*
|
import org.jetbrains.kotlin.fir.declarations.*
|
||||||
import org.jetbrains.kotlin.fir.declarations.builder.*
|
import org.jetbrains.kotlin.fir.declarations.builder.buildAnonymousFunction
|
||||||
|
import org.jetbrains.kotlin.fir.declarations.builder.buildRegularClass
|
||||||
|
import org.jetbrains.kotlin.fir.declarations.builder.buildValueParameter
|
||||||
import org.jetbrains.kotlin.fir.declarations.impl.FirResolvedDeclarationStatusImpl
|
import org.jetbrains.kotlin.fir.declarations.impl.FirResolvedDeclarationStatusImpl
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirFunctionCall
|
import org.jetbrains.kotlin.fir.expressions.FirFunctionCall
|
||||||
import org.jetbrains.kotlin.fir.expressions.buildResolvedArgumentList
|
import org.jetbrains.kotlin.fir.expressions.buildResolvedArgumentList
|
||||||
import org.jetbrains.kotlin.fir.expressions.builder.buildAnonymousFunctionExpression
|
import org.jetbrains.kotlin.fir.expressions.builder.buildAnonymousFunctionExpression
|
||||||
import org.jetbrains.kotlin.fir.expressions.builder.buildBlock
|
import org.jetbrains.kotlin.fir.expressions.builder.buildBlock
|
||||||
import org.jetbrains.kotlin.fir.expressions.builder.buildFunctionCall
|
import org.jetbrains.kotlin.fir.expressions.builder.buildFunctionCall
|
||||||
import org.jetbrains.kotlin.fir.expressions.builder.buildLambdaArgumentExpression
|
|
||||||
import org.jetbrains.kotlin.fir.extensions.FirExtensionApiInternals
|
import org.jetbrains.kotlin.fir.extensions.FirExtensionApiInternals
|
||||||
import org.jetbrains.kotlin.fir.extensions.FirExtensionSessionComponent
|
import org.jetbrains.kotlin.fir.extensions.FirExtensionSessionComponent
|
||||||
import org.jetbrains.kotlin.fir.extensions.FirFunctionCallRefinementExtension
|
import org.jetbrains.kotlin.fir.extensions.FirFunctionCallRefinementExtension
|
||||||
@@ -152,59 +153,58 @@ class DataFrameLikeCallsRefinementExtension(session: FirSession) : FirFunctionCa
|
|||||||
|
|
||||||
refinedType.callShapeData = CallShapeData.RefinedType(listOf(scopeSymbol))
|
refinedType.callShapeData = CallShapeData.RefinedType(listOf(scopeSymbol))
|
||||||
|
|
||||||
val argument = buildLambdaArgumentExpression {
|
val argument = buildAnonymousFunctionExpression {
|
||||||
expression = buildAnonymousFunctionExpression {
|
val fSymbol = FirAnonymousFunctionSymbol()
|
||||||
val fSymbol = FirAnonymousFunctionSymbol()
|
isTrailingLambda = true
|
||||||
anonymousFunction = buildAnonymousFunction {
|
anonymousFunction = buildAnonymousFunction {
|
||||||
resolvePhase = FirResolvePhase.BODY_RESOLVE
|
resolvePhase = FirResolvePhase.BODY_RESOLVE
|
||||||
|
moduleData = session.moduleData
|
||||||
|
origin = FirDeclarationOrigin.Plugin(KEY)
|
||||||
|
status = FirResolvedDeclarationStatusImpl(Visibilities.Local, Modality.FINAL, EffectiveVisibility.Local)
|
||||||
|
deprecationsProvider = EmptyDeprecationsProvider
|
||||||
|
returnTypeRef = buildResolvedTypeRef {
|
||||||
|
type = returnType
|
||||||
|
}
|
||||||
|
val itName = Name.identifier("it")
|
||||||
|
val parameterSymbol = FirValueParameterSymbol(itName)
|
||||||
|
valueParameters += buildValueParameter {
|
||||||
moduleData = session.moduleData
|
moduleData = session.moduleData
|
||||||
origin = FirDeclarationOrigin.Plugin(KEY)
|
origin = FirDeclarationOrigin.Plugin(KEY)
|
||||||
status = FirResolvedDeclarationStatusImpl(Visibilities.Local, Modality.FINAL, EffectiveVisibility.Local)
|
|
||||||
deprecationsProvider = EmptyDeprecationsProvider
|
|
||||||
returnTypeRef = buildResolvedTypeRef {
|
returnTypeRef = buildResolvedTypeRef {
|
||||||
type = returnType
|
type = receiverType
|
||||||
}
|
}
|
||||||
val itName = Name.identifier("it")
|
name = itName
|
||||||
val parameterSymbol = FirValueParameterSymbol(itName)
|
this.symbol = parameterSymbol
|
||||||
valueParameters += buildValueParameter {
|
containingFunctionSymbol = fSymbol
|
||||||
moduleData = session.moduleData
|
isCrossinline = false
|
||||||
origin = FirDeclarationOrigin.Plugin(KEY)
|
isNoinline = false
|
||||||
returnTypeRef = buildResolvedTypeRef {
|
isVararg = false
|
||||||
type = receiverType
|
}.also { parameterSymbol.bind(it) }
|
||||||
}
|
body = buildBlock {
|
||||||
name = itName
|
this.coneTypeOrNull = returnType
|
||||||
this.symbol = parameterSymbol
|
|
||||||
containingFunctionSymbol = fSymbol
|
|
||||||
isCrossinline = false
|
|
||||||
isNoinline = false
|
|
||||||
isVararg = false
|
|
||||||
}.also { parameterSymbol.bind(it) }
|
|
||||||
body = buildBlock {
|
|
||||||
this.coneTypeOrNull = returnType
|
|
||||||
|
|
||||||
// Schema is required for static extensions resolve and holds information for subsequent call modifications
|
// Schema is required for static extensions resolve and holds information for subsequent call modifications
|
||||||
statements += schemaClass
|
statements += schemaClass
|
||||||
|
|
||||||
// Scope (provides extensions API)
|
// Scope (provides extensions API)
|
||||||
statements += scopeClass
|
statements += scopeClass
|
||||||
|
|
||||||
// Return type - dataframe schema
|
// Return type - dataframe schema
|
||||||
statements += refinedType
|
statements += refinedType
|
||||||
}
|
}
|
||||||
this.symbol = fSymbol
|
this.symbol = fSymbol
|
||||||
isLambda = true
|
isLambda = true
|
||||||
hasExplicitParameterList = false
|
hasExplicitParameterList = false
|
||||||
typeRef = buildResolvedTypeRef {
|
typeRef = buildResolvedTypeRef {
|
||||||
type = ConeClassLikeTypeImpl(
|
type = ConeClassLikeTypeImpl(
|
||||||
ConeClassLikeLookupTagImpl(ClassId(FqName("kotlin"), Name.identifier("Function1"))),
|
ConeClassLikeLookupTagImpl(ClassId(FqName("kotlin"), Name.identifier("Function1"))),
|
||||||
typeArguments = arrayOf(receiverType, returnType),
|
typeArguments = arrayOf(receiverType, returnType),
|
||||||
isNullable = false
|
isNullable = false
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
invocationKind = EventOccurrencesRange.EXACTLY_ONCE
|
invocationKind = EventOccurrencesRange.EXACTLY_ONCE
|
||||||
inlineStatus = InlineStatus.Inline
|
inlineStatus = InlineStatus.Inline
|
||||||
}.also { fSymbol.bind(it) }
|
}.also { fSymbol.bind(it) }
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
val newCall = buildFunctionCall {
|
val newCall = buildFunctionCall {
|
||||||
|
|||||||
Reference in New Issue
Block a user