IC: take into account added and removed classes when calculate affected names

This commit is contained in:
Zalim Bashorov
2016-03-24 20:59:30 +03:00
parent 1b2deb8a8a
commit 51c6abdbed
142 changed files with 1692 additions and 30 deletions
@@ -0,0 +1,53 @@
================ Step #1 =================
Building module1
Exit code: NOTHING_DONE
------------------------------------------
Building module2
Compiling files:
module2/src/A.kt
End of files
Exit code: ADDITIONAL_PASS_REQUIRED
------------------------------------------
Cleaning output files:
out/production/module2/META-INF/module2.kotlin_module
out/production/module2/foo/B.class
out/production/module2/other/OtherKt.class
out/production/module2/use/CreateAKt.class
out/production/module2/use/CreateBKt.class
out/production/module2/use/UseAfooKt.class
out/production/module2/use/UseBbarKt.class
End of files
Compiling files:
module2/src/B.kt
module2/src/createA.kt
module2/src/createB.kt
module2/src/other.kt
module2/src/useAfoo.kt
module2/src/useBbar.kt
End of files
Exit code: ABORT
------------------------------------------
COMPILATION FAILED
Unresolved reference: foo
================ Step #2 =================
Building module1
Exit code: NOTHING_DONE
------------------------------------------
Building module2
Cleaning output files:
out/production/module2/foo/A.class
End of files
Compiling files:
module2/src/A.kt
module2/src/B.kt
module2/src/createA.kt
module2/src/createB.kt
module2/src/other.kt
module2/src/useAfoo.kt
module2/src/useBbar.kt
End of files
Exit code: OK
------------------------------------------
@@ -0,0 +1,2 @@
module1->
module2->module1
@@ -0,0 +1,63 @@
================ Step #1 =================
Building module1
Exit code: NOTHING_DONE
------------------------------------------
Building module2
Compiling files:
module2/src/A.kt
End of files
Marked as dirty by Kotlin:
module1/src/A.kt
module2/src/B.kt
module2/src/createA.kt
module2/src/createB.kt
module2/src/useAfoo.kt
module2/src/useBbar.kt
Exit code: ADDITIONAL_PASS_REQUIRED
------------------------------------------
Cleaning output files:
out/production/module2/META-INF/module2.kotlin_module
out/production/module2/foo/B.class
out/production/module2/use/CreateAKt.class
out/production/module2/use/CreateBKt.class
out/production/module2/use/UseAfooKt.class
out/production/module2/use/UseBbarKt.class
End of files
Compiling files:
module2/src/B.kt
module2/src/createA.kt
module2/src/createB.kt
module2/src/useAfoo.kt
module2/src/useBbar.kt
End of files
Exit code: ABORT
------------------------------------------
COMPILATION FAILED
Unresolved reference: foo
================ Step #2 =================
Building module1
Cleaning output files:
out/production/module1/foo/A.class
End of files
Compiling files:
module1/src/A.kt
End of files
Exit code: OK
------------------------------------------
Building module2
Cleaning output files:
out/production/module2/foo/A.class
End of files
Compiling files:
module2/src/A.kt
module2/src/B.kt
module2/src/createA.kt
module2/src/createB.kt
module2/src/useAfoo.kt
module2/src/useBbar.kt
End of files
Exit code: OK
------------------------------------------
@@ -0,0 +1,5 @@
package foo
open class A {
fun foo() {}
}
@@ -0,0 +1,5 @@
package foo
open class A {
fun boo() {}
}
@@ -0,0 +1,5 @@
package foo
class B : A() {
fun bar() {}
}
@@ -0,0 +1,5 @@
package use
import foo.*
fun createA() = A()
@@ -0,0 +1,5 @@
package use
import foo.*
fun createB() = B()
@@ -0,0 +1,3 @@
package other
fun f() {}
@@ -0,0 +1,7 @@
package use
import foo.*
fun useAfoo() {
createA().foo()
}
@@ -0,0 +1,7 @@
package use
import foo.*
fun useAfoo() {
createA().boo()
}
@@ -0,0 +1,7 @@
package use
import foo.*
fun useBbar() {
createB().bar()
}
@@ -0,0 +1,65 @@
================ Step #1 =================
Building module1
Exit code: NOTHING_DONE
------------------------------------------
Cleaning output files:
out/production/module2/foo/A.class
End of files
Building module2
Compiling files:
End of files
Exit code: ADDITIONAL_PASS_REQUIRED
------------------------------------------
Cleaning output files:
out/production/module2/META-INF/module2.kotlin_module
out/production/module2/foo/B.class
out/production/module2/other/OtherKt.class
out/production/module2/use/CreateAKt.class
out/production/module2/use/CreateBKt.class
out/production/module2/use/UseAfooKt.class
out/production/module2/use/UseBbarKt.class
End of files
Compiling files:
module2/src/B.kt
module2/src/createA.kt
module2/src/createB.kt
module2/src/other.kt
module2/src/useAfoo.kt
module2/src/useBbar.kt
End of files
Exit code: ABORT
------------------------------------------
COMPILATION FAILED
Unresolved reference: boo
================ Step #2 =================
Building module1
Exit code: NOTHING_DONE
------------------------------------------
Building module2
Compiling files:
module2/src/B.kt
module2/src/createA.kt
module2/src/createB.kt
module2/src/other.kt
module2/src/useAfoo.kt
module2/src/useBbar.kt
End of files
Exit code: OK
------------------------------------------
================ Step #3 =================
Building module1
Exit code: NOTHING_DONE
------------------------------------------
Building module2
Compiling files:
module2/src/failCompilation.kt
End of files
Exit code: ABORT
------------------------------------------
COMPILATION FAILED
Expecting a top level declaration
@@ -0,0 +1,2 @@
module1->
module2->module1
@@ -0,0 +1,73 @@
================ Step #1 =================
Building module1
Cleaning output files:
out/production/module1/foo/A.class
End of files
Compiling files:
module1/src/A.kt
End of files
Exit code: OK
------------------------------------------
Cleaning output files:
out/production/module2/foo/A.class
End of files
Building module2
Compiling files:
End of files
Marked as dirty by Kotlin:
module1/src/A.kt
module2/src/B.kt
module2/src/createA.kt
module2/src/useAfoo.kt
Exit code: ADDITIONAL_PASS_REQUIRED
------------------------------------------
Cleaning output files:
out/production/module2/META-INF/module2.kotlin_module
out/production/module2/foo/B.class
out/production/module2/use/CreateAKt.class
out/production/module2/use/UseAfooKt.class
End of files
Compiling files:
module2/src/B.kt
module2/src/createA.kt
module2/src/useAfoo.kt
End of files
Exit code: ABORT
------------------------------------------
COMPILATION FAILED
Unresolved reference: boo
================ Step #2 =================
Building module1
Cleaning output files:
out/production/module1/foo/A.class
End of files
Compiling files:
module1/src/A.kt
End of files
Exit code: OK
------------------------------------------
Building module2
Compiling files:
module2/src/B.kt
module2/src/createA.kt
module2/src/useAfoo.kt
End of files
Exit code: OK
------------------------------------------
================ Step #3 =================
Building module1
Exit code: NOTHING_DONE
------------------------------------------
Building module2
Compiling files:
module2/src/failCompilation.kt
End of files
Exit code: ABORT
------------------------------------------
COMPILATION FAILED
Expecting a top level declaration
@@ -0,0 +1,5 @@
package foo
open class A {
fun foo() {}
}
@@ -0,0 +1,5 @@
package foo
open class A {
fun boo() {}
}
@@ -0,0 +1,5 @@
package foo
class B : A() {
fun bar() {}
}
@@ -0,0 +1,5 @@
package use
import foo.*
fun createA() = A()
@@ -0,0 +1,5 @@
package use
import foo.*
fun createB() = B()
@@ -0,0 +1,3 @@
// TODO remove this file after IDEA-154390 will be fixed
invalid_code
@@ -0,0 +1,3 @@
package other
fun f() {}
@@ -0,0 +1,7 @@
package use
import foo.*
fun useAfoo() {
createA().boo()
}
@@ -0,0 +1,7 @@
package use
import foo.*
fun useAfoo() {
createA().foo()
}
@@ -0,0 +1,7 @@
package use
import foo.*
fun useBbar() {
createB().bar()
}
@@ -0,0 +1,41 @@
================ Step #1 =================
Building module1
Compiling files:
module1/src/b.kt
End of files
Exit code: ADDITIONAL_PASS_REQUIRED
------------------------------------------
Cleaning output files:
out/production/module1/META-INF/module1.kotlin_module
out/production/module1/a/A.class
out/production/module1/a/AKt.class
End of files
Compiling files:
module1/src/a.kt
End of files
Exit code: OK
------------------------------------------
Building module2
Cleaning output files:
out/production/module2/META-INF/module2.kotlin_module
out/production/module2/usage/UseClassBKt.class
out/production/module2/usage/UseFunBKt.class
End of files
Compiling files:
module2/src/useClassB.kt
module2/src/useFunB.kt
End of files
Exit code: OK
------------------------------------------
================ Step #2 =================
Building module1
Compiling files:
module1/src/failCompilation.kt
End of files
Exit code: ABORT
------------------------------------------
COMPILATION FAILED
Expecting a top level declaration
@@ -0,0 +1,2 @@
module1->
module2->module1
@@ -0,0 +1,40 @@
================ Step #1 =================
Building module1
Compiling files:
module1/src/b.kt
End of files
Marked as dirty by Kotlin:
module2/src/b.kt
module2/src/useClassB.kt
module2/src/useFunB.kt
Exit code: ADDITIONAL_PASS_REQUIRED
------------------------------------------
Exit code: NOTHING_DONE
------------------------------------------
Building module2
Cleaning output files:
out/production/module2/META-INF/module2.kotlin_module
out/production/module2/b/B.class
out/production/module2/b/BKt.class
out/production/module2/usage/UseClassBKt.class
out/production/module2/usage/UseFunBKt.class
End of files
Compiling files:
module2/src/b.kt
module2/src/useClassB.kt
module2/src/useFunB.kt
End of files
Exit code: OK
------------------------------------------
================ Step #2 =================
Building module1
Compiling files:
module1/src/failCompilation.kt
End of files
Exit code: ABORT
------------------------------------------
COMPILATION FAILED
Expecting a top level declaration
@@ -0,0 +1,6 @@
package a
class A
fun a() {
}
@@ -0,0 +1,6 @@
package b
class B
fun b() {
}
@@ -0,0 +1,3 @@
// TODO remove this file after IDEA-154394 will be fixed
invalid_code
@@ -0,0 +1,6 @@
package b
class B
fun b() {
}
@@ -0,0 +1,5 @@
package usage
fun useClassA() {
a.A()
}
@@ -0,0 +1,5 @@
package usage
fun useClassB() {
b.B()
}
@@ -0,0 +1,5 @@
package usage
fun useFunA() {
a.a()
}
@@ -0,0 +1,5 @@
package usage
fun useFunB() {
b.b()
}
@@ -4,7 +4,13 @@ Building module1
Compiling files:
module1/src/b.kt
End of files
Exit code: OK
Marked as dirty by Kotlin:
module2/src/b.kt
module2/src/useClassB.kt
module2/src/useFunB.kt
Exit code: ADDITIONAL_PASS_REQUIRED
------------------------------------------
Exit code: NOTHING_DONE
------------------------------------------
Cleaning output files:
out/production/module2/META-INF/module2.kotlin_module