FIR IDE: render resolve phase for lazy resolve tests
This commit is contained in:
+3
-3
@@ -8,11 +8,11 @@ FILE: classMembers.kt
|
|||||||
this@R|/A|.R|/A.receive|(this@R|/A|.R|/A.functionWithLazyBody|())
|
this@R|/A|.R|/A.receive|(this@R|/A|.R|/A.functionWithLazyBody|())
|
||||||
}
|
}
|
||||||
|
|
||||||
public final [STATUS] val x: R|kotlin/Int| = LAZY_EXPRESSION
|
public final [CONTRACTS] val x: R|kotlin/Int| = LAZY_EXPRESSION
|
||||||
public get(): R|kotlin/Int| { LAZY_BLOCK }
|
public get(): R|kotlin/Int| { LAZY_BLOCK }
|
||||||
|
|
||||||
public final [STATUS] fun receive(value: R|kotlin/String|): R|kotlin/Unit| { LAZY_BLOCK }
|
public final [CONTRACTS] fun receive(value: R|kotlin/String|): R|kotlin/Unit| { LAZY_BLOCK }
|
||||||
|
|
||||||
public final [STATUS] fun functionWithLazyBody(): R|kotlin/String| { LAZY_BLOCK }
|
public final [CONTRACTS] fun functionWithLazyBody(): R|kotlin/String| { LAZY_BLOCK }
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+6
-6
@@ -1,11 +1,11 @@
|
|||||||
FILE: main.kt
|
FILE: main.kt
|
||||||
public final fun R|Y|.test(): R|kotlin/String?| {
|
public? final? fun Y.test(): String? {
|
||||||
lval a: R|kotlin/Int| = when (this@R|/test|) {
|
lval a: <implicit> = when (this#) {
|
||||||
($subj$ is R|F|) -> {
|
($subj$ is F) -> {
|
||||||
Int(1)
|
IntegerLiteral(1)
|
||||||
}
|
}
|
||||||
($subj$ is R|G|) -> {
|
($subj$ is G) -> {
|
||||||
Int(2)
|
IntegerLiteral(2)
|
||||||
}
|
}
|
||||||
else -> {
|
else -> {
|
||||||
^test Null(null)
|
^test Null(null)
|
||||||
|
|||||||
+3
-2
@@ -13,6 +13,7 @@ import com.intellij.psi.PsiDocumentManager
|
|||||||
import com.intellij.psi.search.FileTypeIndex
|
import com.intellij.psi.search.FileTypeIndex
|
||||||
import com.intellij.testFramework.LightProjectDescriptor
|
import com.intellij.testFramework.LightProjectDescriptor
|
||||||
import junit.framework.TestCase
|
import junit.framework.TestCase
|
||||||
|
import org.jetbrains.kotlin.fir.FirRenderer
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
|
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirResolvedImport
|
import org.jetbrains.kotlin.fir.declarations.FirResolvedImport
|
||||||
import org.jetbrains.kotlin.fir.render
|
import org.jetbrains.kotlin.fir.render
|
||||||
@@ -82,7 +83,7 @@ abstract class AbstractFirLazyResolveTest : KotlinLightCodeInsightFixtureTestCas
|
|||||||
append(name)
|
append(name)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else -> firElement.render()
|
else -> firElement.render(FirRenderer.RenderMode.WithResolvePhases)
|
||||||
}
|
}
|
||||||
KotlinTestUtils.assertEqualsToFile(File(testFile.parent, "results.txt"), resultsDump)
|
KotlinTestUtils.assertEqualsToFile(File(testFile.parent, "results.txt"), resultsDump)
|
||||||
|
|
||||||
@@ -106,7 +107,7 @@ abstract class AbstractFirLazyResolveTest : KotlinLightCodeInsightFixtureTestCas
|
|||||||
val session = resolveState.rootModuleSession
|
val session = resolveState.rootModuleSession
|
||||||
val firProvider = session.firIdeProvider
|
val firProvider = session.firIdeProvider
|
||||||
val firFile = firProvider.cache.getCachedFirFile(psiFile) ?: continue
|
val firFile = firProvider.cache.getCachedFirFile(psiFile) ?: continue
|
||||||
KotlinTestUtils.assertEqualsToFile(File(expectedTxtPath(file)), firFile.render())
|
KotlinTestUtils.assertEqualsToFile(File(expectedTxtPath(file)), firFile.render(FirRenderer.RenderMode.WithResolvePhases))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+3
-3
@@ -1,13 +1,13 @@
|
|||||||
FILE: main.kt
|
FILE: main.kt
|
||||||
public final class WithElvis : R|kotlin/Any| {
|
public final [BODY_RESOLVE] class WithElvis : R|kotlin/Any| {
|
||||||
public constructor(value: R|kotlin/String?|): R|elvis/WithElvis| {
|
public constructor(value: R|kotlin/String?|): R|elvis/WithElvis| {
|
||||||
super<R|kotlin/Any|>()
|
super<R|kotlin/Any|>()
|
||||||
}
|
}
|
||||||
|
|
||||||
public final val value: R|kotlin/String?| = R|<local>/value|
|
public final [CONTRACTS] val value: R|kotlin/String?| = R|<local>/value|
|
||||||
public get(): R|kotlin/String?|
|
public get(): R|kotlin/String?|
|
||||||
|
|
||||||
public final fun foo(): R|kotlin/String| {
|
public final [BODY_RESOLVE] fun foo(): R|kotlin/String| {
|
||||||
^foo this@R|elvis/WithElvis|.R|elvis/WithElvis.value| ?: String()
|
^foo this@R|elvis/WithElvis|.R|elvis/WithElvis.value| ?: String()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -1,4 +1,4 @@
|
|||||||
FILE: main.kt
|
FILE: main.kt
|
||||||
public final fun foofoo(): R|kotlin/Int| {
|
public? final? [RAW_FIR] fun foofoo(): Int {
|
||||||
^foofoo R|bar/barbar|()
|
^foofoo barbar#()
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -1,10 +1,10 @@
|
|||||||
FILE: main.kt
|
FILE: main.kt
|
||||||
public final class Foo : R|kotlin/Any| {
|
public final [BODY_RESOLVE] class Foo : R|kotlin/Any| {
|
||||||
public constructor(): R|Foo| {
|
public constructor(): R|Foo| {
|
||||||
super<R|kotlin/Any|>()
|
super<R|kotlin/Any|>()
|
||||||
}
|
}
|
||||||
|
|
||||||
public final val x: R|kotlin/Int|
|
public final [BODY_RESOLVE] val x: R|kotlin/Int|
|
||||||
public get(): R|kotlin/Int|
|
public get(): R|kotlin/Int|
|
||||||
|
|
||||||
init {
|
init {
|
||||||
|
|||||||
+4
-4
@@ -1,12 +1,12 @@
|
|||||||
FILE: main.kt
|
FILE: main.kt
|
||||||
public final fun main(): R|kotlin/Unit| {
|
public final [BODY_RESOLVE] fun main(): R|kotlin/Unit| {
|
||||||
local final fun foo(): R|kotlin/Int| {
|
local final [BODY_RESOLVE] fun foo(): R|kotlin/Int| {
|
||||||
^foo R|main/bar|()
|
^foo R|main/bar|()
|
||||||
}
|
}
|
||||||
|
|
||||||
R|<local>/foo|()
|
R|<local>/foo|()
|
||||||
}
|
}
|
||||||
public final fun bar(): R|kotlin/Int| {
|
public final [STATUS] fun bar(): R|kotlin/Int| {
|
||||||
lval x: <implicit> = IntegerLiteral(4)
|
[RAW_FIR] lval x: <implicit> = IntegerLiteral(4)
|
||||||
^bar IntegerLiteral(9).times#(x#)
|
^bar IntegerLiteral(9).times#(x#)
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -1,6 +1,6 @@
|
|||||||
FILE: main.kt
|
FILE: main.kt
|
||||||
public final class Foo : R|kotlin/Any| {
|
public final [BODY_RESOLVE] class Foo : R|kotlin/Any| {
|
||||||
public final val x: R|kotlin/Int|
|
public final [CONTRACTS] val x: R|kotlin/Int|
|
||||||
public get(): R|kotlin/Int|
|
public get(): R|kotlin/Int|
|
||||||
|
|
||||||
public constructor(): R|Foo| {
|
public constructor(): R|Foo| {
|
||||||
|
|||||||
+2
-2
@@ -1,10 +1,10 @@
|
|||||||
FILE: main.kt
|
FILE: main.kt
|
||||||
public final class My : R|kotlin/Any| {
|
public final [STATUS] class My : R|kotlin/Any| {
|
||||||
public constructor(): R|My| {
|
public constructor(): R|My| {
|
||||||
super<R|kotlin/Any|>()
|
super<R|kotlin/Any|>()
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
public final fun foo(): R|My| {
|
public final [BODY_RESOLVE] fun foo(): R|My| {
|
||||||
^foo R|/My.My|()
|
^foo R|/My.My|()
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-4
@@ -1,7 +1,5 @@
|
|||||||
FILE: callMe.kt
|
FILE: callMe.kt
|
||||||
public final fun callMe(): R|kotlin/Int| {
|
public final [IMPLICIT_TYPES_BODY_RESOLVE] fun callMe(): R|kotlin/Int| {
|
||||||
^callMe Int(42)
|
^callMe Int(42)
|
||||||
}
|
}
|
||||||
public final fun other(): R|kotlin/Unit| {
|
public final [STATUS] fun other(): R|kotlin/Unit| { LAZY_BLOCK }
|
||||||
lval x: <implicit> = IntegerLiteral(1)
|
|
||||||
}
|
|
||||||
|
|||||||
+4
-4
@@ -1,12 +1,12 @@
|
|||||||
FILE: main.kt
|
FILE: main.kt
|
||||||
public final fun main(): R|kotlin/Unit| {
|
public final [BODY_RESOLVE] fun main(): R|kotlin/Unit| {
|
||||||
R|/callMe|()
|
R|/callMe|()
|
||||||
R|/foo|()
|
R|/foo|()
|
||||||
R|/bar|(Int(1), Int(2))
|
R|/bar|(Int(1), Int(2))
|
||||||
}
|
}
|
||||||
public final fun foo(): R|kotlin/Unit| {
|
public final [STATUS] fun foo(): R|kotlin/Unit| {
|
||||||
lval y: <implicit> = Double(2.0)
|
[RAW_FIR] lval y: <implicit> = Double(2.0)
|
||||||
}
|
}
|
||||||
public final fun bar(x: R|kotlin/Int|, y: R|kotlin/Int|): R|kotlin/Int| {
|
public final [IMPLICIT_TYPES_BODY_RESOLVE] fun bar(x: R|kotlin/Int|, y: R|kotlin/Int|): R|kotlin/Int| {
|
||||||
^bar R|<local>/x|.R|kotlin/Int.plus|(R|<local>/y|)
|
^bar R|<local>/x|.R|kotlin/Int.plus|(R|<local>/y|)
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
FILE: main.kt
|
FILE: main.kt
|
||||||
public final fun foo(): R|kotlin/Int| {
|
public final [BODY_RESOLVE] fun foo(): R|kotlin/Int| {
|
||||||
^foo R|root/myProperty|
|
^foo R|root/myProperty|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
FILE: myProperty.kt
|
FILE: myProperty.kt
|
||||||
public final val myProperty: R|kotlin/Int|
|
public final [IMPLICIT_TYPES_BODY_RESOLVE] val myProperty: R|kotlin/Int|
|
||||||
public get(): R|kotlin/Int| {
|
public get(): R|kotlin/Int| {
|
||||||
^ Int(42)
|
^ Int(42)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user