mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[Jps IC] Extra tests for symbol resolution in Kotlin IC
^KT-65429 Merge-request: IJ-MR-125243 Merged-by: Evgenii Mazhukin <evgenii.mazhukin@jetbrains.com> GitOrigin-RevId: c1ce3b32cfbcbf4bfd3e5402c9c2816fa60775f9
This commit is contained in:
committed by
intellij-monorepo-bot
parent
8a06083230
commit
b4f44db922
+2
@@ -0,0 +1,2 @@
|
||||
open class A {
|
||||
}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
class B : A() {
|
||||
fun foo() {}
|
||||
}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
class B : A() {
|
||||
|
||||
}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
class B : A() {
|
||||
fun foo() {}
|
||||
}
|
||||
+33
@@ -0,0 +1,33 @@
|
||||
================ Step #1 =================
|
||||
|
||||
Cleaning output files:
|
||||
out/production/module/B.class
|
||||
out/production/module/META-INF/module.kotlin_module
|
||||
End of files
|
||||
Compiling files:
|
||||
src/B.kt
|
||||
End of files
|
||||
Exit code: OK
|
||||
------------------------------------------
|
||||
Cleaning output files:
|
||||
out/production/module/META-INF/module.kotlin_module
|
||||
out/production/module/UsageKt.class
|
||||
End of files
|
||||
Compiling files:
|
||||
src/usage.kt
|
||||
End of files
|
||||
Exit code: OK
|
||||
------------------------------------------
|
||||
|
||||
================ Step #2 =================
|
||||
|
||||
Cleaning output files:
|
||||
out/production/module/B.class
|
||||
out/production/module/META-INF/module.kotlin_module
|
||||
End of files
|
||||
Compiling files:
|
||||
src/B.kt
|
||||
// usage.kt should be recompiled
|
||||
End of files
|
||||
Exit code: OK
|
||||
------------------------------------------
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
fun foo() {
|
||||
|
||||
}
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
|
||||
fun usage() {
|
||||
val b = B()
|
||||
b.apply {
|
||||
foo()
|
||||
}
|
||||
}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
open class A {
|
||||
fun foo() {}
|
||||
}
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
open class A {
|
||||
}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
open class A {
|
||||
fun foo() {}
|
||||
}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
class B : A() {
|
||||
|
||||
}
|
||||
+33
@@ -0,0 +1,33 @@
|
||||
================ Step #1 =================
|
||||
|
||||
Cleaning output files:
|
||||
out/production/module/A.class
|
||||
out/production/module/META-INF/module.kotlin_module
|
||||
End of files
|
||||
Compiling files:
|
||||
src/A.kt
|
||||
End of files
|
||||
Exit code: OK
|
||||
------------------------------------------
|
||||
Cleaning output files:
|
||||
out/production/module/META-INF/module.kotlin_module
|
||||
out/production/module/UsageKt.class
|
||||
End of files
|
||||
Compiling files:
|
||||
src/usage.kt
|
||||
End of files
|
||||
Exit code: OK
|
||||
------------------------------------------
|
||||
|
||||
================ Step #2 =================
|
||||
|
||||
Cleaning output files:
|
||||
out/production/module/A.class
|
||||
out/production/module/META-INF/module.kotlin_module
|
||||
End of files
|
||||
Compiling files:
|
||||
src/A.kt
|
||||
// usage.kt should be recompiled
|
||||
End of files
|
||||
Exit code: OK
|
||||
------------------------------------------
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
fun foo() {
|
||||
|
||||
}
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
|
||||
fun usage() {
|
||||
val b = B()
|
||||
b.apply {
|
||||
foo()
|
||||
}
|
||||
}
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
package a
|
||||
|
||||
class A {
|
||||
}
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
package a
|
||||
|
||||
class A {
|
||||
}
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
================ Step #1 =================
|
||||
|
||||
Cleaning output files:
|
||||
out/production/module/META-INF/module.kotlin_module
|
||||
out/production/module/a/A.class
|
||||
End of files
|
||||
Cleaning output files:
|
||||
out/production/module/c/UsageKt.class
|
||||
End of files
|
||||
Compiling files:
|
||||
src/usage.kt
|
||||
End of files
|
||||
Exit code: OK
|
||||
------------------------------------------
|
||||
|
||||
================ Step #2 =================
|
||||
|
||||
Compiling files:
|
||||
src/A.kt
|
||||
// usage.kt should be recompiled
|
||||
End of files
|
||||
Exit code: OK
|
||||
------------------------------------------
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
package b
|
||||
|
||||
fun A(defaultArgMakesCallUnambigousForSomeReason: Boolean = true) = 2
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
package a
|
||||
|
||||
val irrelevant = 2 // just to keep package "a" existing when A.kt is removed
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
package c
|
||||
|
||||
import a.*
|
||||
import b.*
|
||||
fun usage() {
|
||||
A()
|
||||
}
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
|
||||
class A {
|
||||
|
||||
operator fun invoke() = 1
|
||||
}
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
|
||||
class A {
|
||||
|
||||
}
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
|
||||
class A {
|
||||
|
||||
operator fun invoke() = 2
|
||||
}
|
||||
+33
@@ -0,0 +1,33 @@
|
||||
================ Step #1 =================
|
||||
|
||||
Cleaning output files:
|
||||
out/production/module/A.class
|
||||
out/production/module/META-INF/module.kotlin_module
|
||||
End of files
|
||||
Compiling files:
|
||||
src/A.kt
|
||||
End of files
|
||||
Exit code: OK
|
||||
------------------------------------------
|
||||
Cleaning output files:
|
||||
out/production/module/META-INF/module.kotlin_module
|
||||
out/production/module/UsageKt.class
|
||||
End of files
|
||||
Compiling files:
|
||||
src/usage.kt
|
||||
End of files
|
||||
Exit code: OK
|
||||
------------------------------------------
|
||||
|
||||
================ Step #2 =================
|
||||
|
||||
Cleaning output files:
|
||||
out/production/module/A.class
|
||||
out/production/module/META-INF/module.kotlin_module
|
||||
End of files
|
||||
Compiling files:
|
||||
src/A.kt
|
||||
// usage.kt should be recompiled
|
||||
End of files
|
||||
Exit code: OK
|
||||
------------------------------------------
|
||||
+1
@@ -0,0 +1 @@
|
||||
fun foo() = 40
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
|
||||
fun usage() {
|
||||
val foo = A()
|
||||
|
||||
foo()
|
||||
}
|
||||
+35
@@ -2968,6 +2968,41 @@ public class IncrementalK2JvmJpsTestGenerated extends AbstractIncrementalK2JvmJp
|
||||
}
|
||||
}
|
||||
|
||||
@TestMetadata("resolution")
|
||||
@TestDataPath(".")
|
||||
@RunWith(JUnit3RunnerWithInners.class)
|
||||
public static class ResolutionTests extends AbstractIncrementalK2JvmJpsTest {
|
||||
@Override
|
||||
protected void setUp() {
|
||||
super.setUp();
|
||||
setUpTests();
|
||||
}
|
||||
|
||||
private void runTest(String testDataFilePath) throws Exception {
|
||||
KotlinTestUtils.runTest(this::doTest, this, TargetBackend.JVM_IR, testDataFilePath);
|
||||
}
|
||||
|
||||
@TestMetadata("classOverFun")
|
||||
public void testClassShadowsFunction() throws Exception {
|
||||
runTest("resolution/classOverFun");
|
||||
}
|
||||
|
||||
@TestMetadata("addMethodDirectly_implicitThis")
|
||||
public void testAddMethodDirectly() throws Exception {
|
||||
runTest("resolution/addMethodDirectly_implicitThis");
|
||||
}
|
||||
|
||||
@TestMetadata("addMethodToParent_implicitThis")
|
||||
public void testAddMethodToParent() throws Exception {
|
||||
runTest("resolution/addMethodToParent_implicitThis");
|
||||
}
|
||||
|
||||
@TestMetadata("invokeOverFun")
|
||||
public void testInvokeShadowsFunction() throws Exception {
|
||||
runTest("resolution/invokeOverFun");
|
||||
}
|
||||
}
|
||||
|
||||
@TestMetadata("multiModule/withJavaUsedInKotlin")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
@RunWith(JUnit3RunnerWithInners.class)
|
||||
|
||||
Reference in New Issue
Block a user