FIR: Add test for get class + let in delegation
This commit is contained in:
committed by
teamcity
parent
1c8b6dccff
commit
2338281889
+6
@@ -4967,6 +4967,12 @@ public class DiagnosisCompilerFirTestdataTestGenerated extends AbstractDiagnosis
|
|||||||
runTest("compiler/fir/analysis-tests/testData/resolveWithStdlib/delegates/delegateWithAnonymousObject.kt");
|
runTest("compiler/fir/analysis-tests/testData/resolveWithStdlib/delegates/delegateWithAnonymousObject.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("getClassLet.kt")
|
||||||
|
public void testGetClassLet() throws Exception {
|
||||||
|
runTest("compiler/fir/analysis-tests/testData/resolveWithStdlib/delegates/getClassLet.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("kt41917.kt")
|
@TestMetadata("kt41917.kt")
|
||||||
public void testKt41917() throws Exception {
|
public void testKt41917() throws Exception {
|
||||||
|
|||||||
+20
@@ -0,0 +1,20 @@
|
|||||||
|
FILE: getClassLet.kt
|
||||||
|
public final class SomeClass : R|kotlin/Any| {
|
||||||
|
public constructor(): R|SomeClass| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
public final inline fun <reified K> foo(klass: R|kotlin/reflect/KClass<*>|): R|K| {
|
||||||
|
^foo Null(null)!!
|
||||||
|
}
|
||||||
|
public final val some: R|kotlin/collections/Map<kotlin/String, kotlin/String>|by R|kotlin/lazy|<R|kotlin/collections/Map<kotlin/String, kotlin/String>|>(<L> = lazy@fun <anonymous>(): R|kotlin/collections/Map<kotlin/String, kotlin/String>| <inline=NoInline> {
|
||||||
|
^ <getClass>(Q|SomeClass|).R|kotlin/let|<R|kotlin/reflect/KClass<SomeClass>|, R|kotlin/collections/Map<kotlin/String, kotlin/String>|>(<L> = let@fun <anonymous>(it: R|kotlin/reflect/KClass<SomeClass>|): R|kotlin/collections/Map<kotlin/String, kotlin/String>| <inline=Inline, kind=EXACTLY_ONCE> {
|
||||||
|
^ R|/foo|<R|kotlin/collections/Map<kotlin/String, kotlin/String>|>(R|<local>/it|)
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
)
|
||||||
|
public get(): R|kotlin/collections/Map<kotlin/String, kotlin/String>| {
|
||||||
|
^ D|/some|.R|kotlin/getValue|<R|kotlin/collections/Map<kotlin/String, kotlin/String>|>(Null(null), ::R|/some|)
|
||||||
|
}
|
||||||
+11
@@ -0,0 +1,11 @@
|
|||||||
|
import kotlin.reflect.KClass
|
||||||
|
|
||||||
|
class SomeClass
|
||||||
|
|
||||||
|
inline fun <reified K> foo(klass: KClass<*>): K = null!!
|
||||||
|
|
||||||
|
val some: Map<String, String> by lazy {
|
||||||
|
SomeClass::class.let {
|
||||||
|
foo(it)
|
||||||
|
}
|
||||||
|
}
|
||||||
+6
@@ -4967,6 +4967,12 @@ public class FirDiagnosticTestGenerated extends AbstractFirDiagnosticTest {
|
|||||||
runTest("compiler/fir/analysis-tests/testData/resolveWithStdlib/delegates/delegateWithAnonymousObject.kt");
|
runTest("compiler/fir/analysis-tests/testData/resolveWithStdlib/delegates/delegateWithAnonymousObject.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("getClassLet.kt")
|
||||||
|
public void testGetClassLet() throws Exception {
|
||||||
|
runTest("compiler/fir/analysis-tests/testData/resolveWithStdlib/delegates/getClassLet.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("kt41917.kt")
|
@TestMetadata("kt41917.kt")
|
||||||
public void testKt41917() throws Exception {
|
public void testKt41917() throws Exception {
|
||||||
|
|||||||
+6
@@ -4967,6 +4967,12 @@ public class FirDiagnosticsWithLightTreeTestGenerated extends AbstractFirDiagnos
|
|||||||
runTest("compiler/fir/analysis-tests/testData/resolveWithStdlib/delegates/delegateWithAnonymousObject.kt");
|
runTest("compiler/fir/analysis-tests/testData/resolveWithStdlib/delegates/delegateWithAnonymousObject.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("getClassLet.kt")
|
||||||
|
public void testGetClassLet() throws Exception {
|
||||||
|
runTest("compiler/fir/analysis-tests/testData/resolveWithStdlib/delegates/getClassLet.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("kt41917.kt")
|
@TestMetadata("kt41917.kt")
|
||||||
public void testKt41917() throws Exception {
|
public void testKt41917() throws Exception {
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
// !LANGUAGE: +UnrestrictedBuilderInference
|
// !LANGUAGE: +UnrestrictedBuilderInference
|
||||||
|
// IGNORE_BACKEND_FIR: JVM_IR
|
||||||
// FIR status: NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER on lazy call (Name3, T)
|
// FIR status: NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER on lazy call (Name3, T)
|
||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user