[FIR] Save inline status of lambda after resolution

This commit is contained in:
Dmitriy Novozhilov
2021-03-31 14:58:59 +03:00
committed by TeamCityServer
parent a4b9e2502c
commit 5ebd24eac5
183 changed files with 496 additions and 437 deletions
@@ -19,7 +19,7 @@ FILE: atLeastOnce.kt
}
public final fun test_1(): R|kotlin/Unit| {
lval x: R|kotlin/Int|
R|/inlineRun|(<L> = inlineRun@fun <anonymous>(): R|kotlin/Unit| <kind=AT_LEAST_ONCE> {
R|/inlineRun|(<L> = inlineRun@fun <anonymous>(): R|kotlin/Unit| <inline=Inline, kind=AT_LEAST_ONCE> {
R|<local>/x| = Int(1)
}
)
@@ -27,7 +27,7 @@ FILE: atLeastOnce.kt
}
public final fun test_2(): R|kotlin/Unit| {
lval x: R|kotlin/Int|
R|/myRun|(<L> = myRun@fun <anonymous>(): R|kotlin/Unit| <kind=AT_LEAST_ONCE> {
R|/myRun|(<L> = myRun@fun <anonymous>(): R|kotlin/Unit| <inline=NoInline, kind=AT_LEAST_ONCE> {
R|<local>/x| = Int(1)
}
)
@@ -19,7 +19,7 @@ FILE: atMostOnce.kt
}
public final fun test_1(): R|kotlin/Unit| {
lval x: R|kotlin/Int|
R|/inlineRun|(<L> = inlineRun@fun <anonymous>(): R|kotlin/Unit| <kind=AT_MOST_ONCE> {
R|/inlineRun|(<L> = inlineRun@fun <anonymous>(): R|kotlin/Unit| <inline=Inline, kind=AT_MOST_ONCE> {
R|<local>/x| = Int(1)
}
)
@@ -27,7 +27,7 @@ FILE: atMostOnce.kt
}
public final fun test_2(): R|kotlin/Unit| {
lval x: R|kotlin/Int|
R|/myRun|(<L> = myRun@fun <anonymous>(): R|kotlin/Unit| <kind=AT_MOST_ONCE> {
R|/myRun|(<L> = myRun@fun <anonymous>(): R|kotlin/Unit| <inline=NoInline, kind=AT_MOST_ONCE> {
R|<local>/x| = Int(1)
}
)
@@ -19,7 +19,7 @@ FILE: exactlyOnce.kt
}
public final fun test_1(): R|kotlin/Unit| {
lval x: R|kotlin/Int|
R|/inlineRun|(<L> = inlineRun@fun <anonymous>(): R|kotlin/Unit| <kind=EXACTLY_ONCE> {
R|/inlineRun|(<L> = inlineRun@fun <anonymous>(): R|kotlin/Unit| <inline=Inline, kind=EXACTLY_ONCE> {
R|<local>/x| = Int(1)
}
)
@@ -27,7 +27,7 @@ FILE: exactlyOnce.kt
}
public final fun test_2(): R|kotlin/Unit| {
lval x: R|kotlin/Int|
R|/myRun|(<L> = myRun@fun <anonymous>(): R|kotlin/Unit| <kind=EXACTLY_ONCE> {
R|/myRun|(<L> = myRun@fun <anonymous>(): R|kotlin/Unit| <inline=NoInline, kind=EXACTLY_ONCE> {
R|<local>/x| = Int(1)
}
)
@@ -21,7 +21,7 @@ FILE: inPlaceLambda.kt
{
[StubStatement]
R|<local>/x|.R|SubstitutionOverride<kotlin/Function0.invoke: R|kotlin/Unit|>|()
R|/bar|(<L> = bar@fun <anonymous>(): R|kotlin/Unit| <kind=AT_MOST_ONCE> {
R|/bar|(<L> = bar@fun <anonymous>(): R|kotlin/Unit| <inline=NoInline, kind=AT_MOST_ONCE> {
R|<local>/x|.R|SubstitutionOverride<kotlin/Function0.invoke: R|kotlin/Unit|>|()
}
)
@@ -19,7 +19,7 @@ FILE: unknown.kt
}
public final fun test_1(): R|kotlin/Unit| {
lval x: R|kotlin/Int|
R|/inlineRun|(<L> = inlineRun@fun <anonymous>(): R|kotlin/Unit| <kind=UNKNOWN> {
R|/inlineRun|(<L> = inlineRun@fun <anonymous>(): R|kotlin/Unit| <inline=Inline, kind=UNKNOWN> {
R|<local>/x| = Int(1)
}
)
@@ -27,7 +27,7 @@ FILE: unknown.kt
}
public final fun test_2(): R|kotlin/Unit| {
lval x: R|kotlin/Int|
R|/myRun|(<L> = myRun@fun <anonymous>(): R|kotlin/Unit| <kind=UNKNOWN> {
R|/myRun|(<L> = myRun@fun <anonymous>(): R|kotlin/Unit| <inline=NoInline, kind=UNKNOWN> {
R|<local>/x| = Int(1)
}
)
@@ -23,20 +23,20 @@ FILE: receivers.kt
}
public final fun test_2(x: R|A?|): R|kotlin/Unit| {
R|<local>/x|.R|/myRequireNotNull|()
R|kotlin/with|<R|A|, R|kotlin/Unit|>(R|<local>/x|, <L> = with@fun R|A|.<anonymous>(): R|kotlin/Unit| <kind=EXACTLY_ONCE> {
R|kotlin/with|<R|A|, R|kotlin/Unit|>(R|<local>/x|, <L> = with@fun R|A|.<anonymous>(): R|kotlin/Unit| <inline=Inline, kind=EXACTLY_ONCE> {
this@R|special/anonymous|.R|/foo|()
}
)
}
public final fun test_3(x: R|A?|): R|kotlin/Unit| {
R|kotlin/with|<R|A?|, R|kotlin/Unit|>(R|<local>/x|, <L> = with@fun R|A?|.<anonymous>(): R|kotlin/Unit| <kind=EXACTLY_ONCE> {
R|kotlin/with|<R|A?|, R|kotlin/Unit|>(R|<local>/x|, <L> = with@fun R|A?|.<anonymous>(): R|kotlin/Unit| <inline=Inline, kind=EXACTLY_ONCE> {
this@R|special/anonymous|.R|/myRequireNotNull|()
}
)
R|<local>/x|.<Inapplicable(INAPPLICABLE_WRONG_RECEIVER): /foo>#()
}
public final fun test_4(x: R|A?|): R|kotlin/Unit| {
R|kotlin/with|<R|A?|, R|kotlin/Unit|>(R|<local>/x|, <L> = with@fun R|A?|.<anonymous>(): R|kotlin/Unit| <kind=EXACTLY_ONCE> {
R|kotlin/with|<R|A?|, R|kotlin/Unit|>(R|<local>/x|, <L> = with@fun R|A?|.<anonymous>(): R|kotlin/Unit| <inline=Inline, kind=EXACTLY_ONCE> {
this@R|special/anonymous|.R|/myRequireNotNull|()
this@R|special/anonymous|.R|/foo|()
}