Add tests for class hierarchy incremental recompilation
Original commit: 9190029fcc
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
package foo
|
||||
|
||||
open class A {
|
||||
open fun f() {}
|
||||
}
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
package foo
|
||||
|
||||
annotation class Ann
|
||||
|
||||
@Ann
|
||||
open class A {
|
||||
open fun f() {}
|
||||
}
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
package foo
|
||||
|
||||
annotation class Ann
|
||||
|
||||
open class A {
|
||||
open fun f() {}
|
||||
}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
package foo
|
||||
|
||||
open class AChild : A()
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
package foo
|
||||
|
||||
open class AGrandChild : AChild()
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
package foo
|
||||
|
||||
class ATypeParameter<T : A>
|
||||
+65
@@ -0,0 +1,65 @@
|
||||
Cleaning output files:
|
||||
out/production/module/foo/A.class
|
||||
End of files
|
||||
Compiling files:
|
||||
src/A.kt
|
||||
End of files
|
||||
Cleaning output files:
|
||||
out/production/module/META-INF/module.kotlin_module
|
||||
out/production/module/bar/ImportStarKt.class
|
||||
out/production/module/bar/ReferencedByFqNameKt.class
|
||||
out/production/module/foo/AChild.class
|
||||
out/production/module/foo/AGrandChild.class
|
||||
out/production/module/foo/ATypeParameter.class
|
||||
out/production/module/foo/ClassLiteralKt.class
|
||||
out/production/module/foo/FunctionParameterKt.class
|
||||
out/production/module/foo/GetAKt.class
|
||||
out/production/module/foo/ReturnTypeKt.class
|
||||
End of files
|
||||
Compiling files:
|
||||
src/AChild.kt
|
||||
src/AGrandChild.kt
|
||||
src/ATypeParameter.kt
|
||||
src/classLiteral.kt
|
||||
src/functionParameter.kt
|
||||
src/getA.kt
|
||||
src/importA.kt
|
||||
src/importAGrandChild.kt
|
||||
src/importStar.kt
|
||||
src/referencedByFqName.kt
|
||||
src/returnType.kt
|
||||
End of files
|
||||
|
||||
|
||||
Cleaning output files:
|
||||
out/production/module/foo/A.class
|
||||
out/production/module/foo/Ann.class
|
||||
End of files
|
||||
Compiling files:
|
||||
src/A.kt
|
||||
End of files
|
||||
Cleaning output files:
|
||||
out/production/module/META-INF/module.kotlin_module
|
||||
out/production/module/bar/ImportStarKt.class
|
||||
out/production/module/bar/ReferencedByFqNameKt.class
|
||||
out/production/module/foo/AChild.class
|
||||
out/production/module/foo/AGrandChild.class
|
||||
out/production/module/foo/ATypeParameter.class
|
||||
out/production/module/foo/ClassLiteralKt.class
|
||||
out/production/module/foo/FunctionParameterKt.class
|
||||
out/production/module/foo/GetAKt.class
|
||||
out/production/module/foo/ReturnTypeKt.class
|
||||
End of files
|
||||
Compiling files:
|
||||
src/AChild.kt
|
||||
src/AGrandChild.kt
|
||||
src/ATypeParameter.kt
|
||||
src/classLiteral.kt
|
||||
src/functionParameter.kt
|
||||
src/getA.kt
|
||||
src/importA.kt
|
||||
src/importAGrandChild.kt
|
||||
src/importStar.kt
|
||||
src/referencedByFqName.kt
|
||||
src/returnType.kt
|
||||
End of files
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
package foo
|
||||
|
||||
fun classLiteral() {
|
||||
A::class
|
||||
}
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
package foo
|
||||
|
||||
fun useA(a: A) {
|
||||
a.f()
|
||||
}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
package foo
|
||||
|
||||
fun getA() = A()
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
package bar
|
||||
|
||||
import foo.A
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
package bar
|
||||
|
||||
import foo.AGrandChild
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
package bar
|
||||
|
||||
import foo.*
|
||||
|
||||
fun importStarUse() {
|
||||
A()
|
||||
}
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
package bar
|
||||
|
||||
fun createAByFqName() {
|
||||
foo.A()
|
||||
}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
package foo
|
||||
|
||||
fun getAExplicit(): A = A()
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
package foo
|
||||
|
||||
fun getAImplicit() = getA()
|
||||
@@ -0,0 +1,5 @@
|
||||
package foo
|
||||
|
||||
open class A<T> {
|
||||
open fun f(x: T) {}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
package foo
|
||||
|
||||
class AChild : A<Int>()
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
package foo
|
||||
|
||||
class AChild : A<Int>() {
|
||||
override fun f(x: Int) {}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
Cleaning output files:
|
||||
out/production/module/foo/AChild.class
|
||||
End of files
|
||||
Compiling files:
|
||||
src/AChild.kt
|
||||
End of files
|
||||
Cleaning output files:
|
||||
out/production/module/META-INF/module.kotlin_module
|
||||
out/production/module/foo/UseAChildKt.class
|
||||
End of files
|
||||
Compiling files:
|
||||
src/useAChild.kt
|
||||
End of files
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
package foo
|
||||
|
||||
fun useAChild(a: AChild) {
|
||||
a.f(0)
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
package foo
|
||||
|
||||
open class A {
|
||||
open fun f() {}
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
package foo
|
||||
|
||||
class A {
|
||||
open fun f() {}
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
package foo
|
||||
|
||||
open class A {
|
||||
open fun f() {}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
package foo
|
||||
|
||||
open class AChild : A()
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
package foo
|
||||
|
||||
open class AGrandChild : AChild()
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
package foo
|
||||
|
||||
class ATypeParameter<T : A>
|
||||
@@ -0,0 +1,55 @@
|
||||
Cleaning output files:
|
||||
out/production/module/foo/A.class
|
||||
End of files
|
||||
Compiling files:
|
||||
src/A.kt
|
||||
End of files
|
||||
Cleaning output files:
|
||||
out/production/module/META-INF/module.kotlin_module
|
||||
out/production/module/bar/ImportStarKt.class
|
||||
out/production/module/bar/ReferencedByFqNameKt.class
|
||||
out/production/module/foo/AChild.class
|
||||
out/production/module/foo/AGrandChild.class
|
||||
out/production/module/foo/ATypeParameter.class
|
||||
out/production/module/foo/ClassLiteralKt.class
|
||||
out/production/module/foo/FunctionParameterKt.class
|
||||
out/production/module/foo/GetAKt.class
|
||||
out/production/module/foo/ReturnTypeImplicitKt.class
|
||||
out/production/module/foo/ReturnTypeKt.class
|
||||
End of files
|
||||
Compiling files:
|
||||
src/AChild.kt
|
||||
src/AGrandChild.kt
|
||||
src/ATypeParameter.kt
|
||||
src/classLiteral.kt
|
||||
src/functionParameter.kt
|
||||
src/getA.kt
|
||||
src/importA.kt
|
||||
src/importAGrandChild.kt
|
||||
src/importStar.kt
|
||||
src/referencedByFqName.kt
|
||||
src/returnType.kt
|
||||
src/returnTypeImplicit.kt
|
||||
End of files
|
||||
COMPILATION FAILED
|
||||
This type is final, so it cannot be inherited from
|
||||
|
||||
|
||||
Cleaning output files:
|
||||
out/production/module/foo/A.class
|
||||
End of files
|
||||
Compiling files:
|
||||
src/A.kt
|
||||
src/AChild.kt
|
||||
src/AGrandChild.kt
|
||||
src/ATypeParameter.kt
|
||||
src/classLiteral.kt
|
||||
src/functionParameter.kt
|
||||
src/getA.kt
|
||||
src/importA.kt
|
||||
src/importAGrandChild.kt
|
||||
src/importStar.kt
|
||||
src/referencedByFqName.kt
|
||||
src/returnType.kt
|
||||
src/returnTypeImplicit.kt
|
||||
End of files
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
package foo
|
||||
|
||||
fun classLiteral() {
|
||||
A::class
|
||||
}
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
package foo
|
||||
|
||||
fun useA(a: A) {
|
||||
a.f()
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
package foo
|
||||
|
||||
fun getA() = A()
|
||||
@@ -0,0 +1,3 @@
|
||||
package bar
|
||||
|
||||
import foo.A
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
package bar
|
||||
|
||||
import foo.AGrandChild
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
package bar
|
||||
|
||||
import foo.*
|
||||
|
||||
fun importStarUse() {
|
||||
A()
|
||||
}
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
package bar
|
||||
|
||||
fun createAByFqName() {
|
||||
foo.A()
|
||||
}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
package foo
|
||||
|
||||
fun getAExplicit(): A = A()
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
package foo
|
||||
|
||||
fun getAImplicit() = getA()
|
||||
@@ -0,0 +1,5 @@
|
||||
package foo
|
||||
|
||||
open class A {
|
||||
open fun f() {}
|
||||
}
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
package foo
|
||||
|
||||
interface A {
|
||||
open fun f() {}
|
||||
}
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
package foo
|
||||
|
||||
open class A {
|
||||
open fun f() {}
|
||||
}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
package foo
|
||||
|
||||
open class AChild : A()
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
package foo
|
||||
|
||||
open class AGrandChild : AChild()
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
package foo
|
||||
|
||||
class ATypeParameter<T : A>
|
||||
+60
@@ -0,0 +1,60 @@
|
||||
Cleaning output files:
|
||||
out/production/module/foo/A.class
|
||||
End of files
|
||||
Compiling files:
|
||||
src/A.kt
|
||||
End of files
|
||||
Cleaning output files:
|
||||
out/production/module/META-INF/module.kotlin_module
|
||||
out/production/module/bar/ImportStarKt.class
|
||||
out/production/module/bar/ReferencedByFqNameKt.class
|
||||
out/production/module/foo/AChild.class
|
||||
out/production/module/foo/AGrandChild.class
|
||||
out/production/module/foo/ATypeParameter.class
|
||||
out/production/module/foo/ClassLiteralKt.class
|
||||
out/production/module/foo/FunctionParameterKt.class
|
||||
out/production/module/foo/GetAKt.class
|
||||
out/production/module/foo/ReturnTypeImplicitKt.class
|
||||
out/production/module/foo/ReturnTypeKt.class
|
||||
End of files
|
||||
Compiling files:
|
||||
src/AChild.kt
|
||||
src/AGrandChild.kt
|
||||
src/ATypeParameter.kt
|
||||
src/classLiteral.kt
|
||||
src/functionParameter.kt
|
||||
src/getA.kt
|
||||
src/importA.kt
|
||||
src/importAGrandChild.kt
|
||||
src/importStar.kt
|
||||
src/referencedByFqName.kt
|
||||
src/returnType.kt
|
||||
src/returnTypeImplicit.kt
|
||||
End of files
|
||||
COMPILATION FAILED
|
||||
This class does not have a constructor
|
||||
Unresolved reference: A
|
||||
Unresolved reference: A
|
||||
Unresolved reference: A
|
||||
Unresolved reference: A
|
||||
|
||||
|
||||
Cleaning output files:
|
||||
out/production/module/foo/A$DefaultImpls.class
|
||||
out/production/module/foo/A.class
|
||||
End of files
|
||||
Compiling files:
|
||||
src/A.kt
|
||||
src/AChild.kt
|
||||
src/AGrandChild.kt
|
||||
src/ATypeParameter.kt
|
||||
src/classLiteral.kt
|
||||
src/functionParameter.kt
|
||||
src/getA.kt
|
||||
src/importA.kt
|
||||
src/importAGrandChild.kt
|
||||
src/importStar.kt
|
||||
src/referencedByFqName.kt
|
||||
src/returnType.kt
|
||||
src/returnTypeImplicit.kt
|
||||
End of files
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
package foo
|
||||
|
||||
fun classLiteral() {
|
||||
A::class
|
||||
}
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
package foo
|
||||
|
||||
fun useA(a: A) {
|
||||
a.f()
|
||||
}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
package foo
|
||||
|
||||
fun getA() = A()
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
package bar
|
||||
|
||||
import foo.A
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
package bar
|
||||
|
||||
import foo.AGrandChild
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
package bar
|
||||
|
||||
import foo.*
|
||||
|
||||
fun importStarUse() {
|
||||
A()
|
||||
}
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
package bar
|
||||
|
||||
fun createAByFqName() {
|
||||
foo.A()
|
||||
}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
package foo
|
||||
|
||||
fun getAExplicit(): A = A()
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
package foo
|
||||
|
||||
fun getAImplicit() = getA()
|
||||
@@ -0,0 +1,5 @@
|
||||
package foo
|
||||
|
||||
open class A {
|
||||
open fun f() {}
|
||||
}
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
package foo
|
||||
|
||||
private open class A {
|
||||
open fun f() {}
|
||||
}
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
package foo
|
||||
|
||||
open class A {
|
||||
open fun f() {}
|
||||
}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
package foo
|
||||
|
||||
open class AChild : A()
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
package foo
|
||||
|
||||
open class AGrandChild : AChild()
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
package foo
|
||||
|
||||
class ATypeParameter<T : A>
|
||||
+67
@@ -0,0 +1,67 @@
|
||||
Cleaning output files:
|
||||
out/production/module/foo/A.class
|
||||
End of files
|
||||
Compiling files:
|
||||
src/A.kt
|
||||
End of files
|
||||
Cleaning output files:
|
||||
out/production/module/META-INF/module.kotlin_module
|
||||
out/production/module/bar/ImportStarKt.class
|
||||
out/production/module/bar/ReferencedByFqNameKt.class
|
||||
out/production/module/foo/AChild.class
|
||||
out/production/module/foo/AGrandChild.class
|
||||
out/production/module/foo/ATypeParameter.class
|
||||
out/production/module/foo/ClassLiteralKt.class
|
||||
out/production/module/foo/FunctionParameterKt.class
|
||||
out/production/module/foo/GetAKt.class
|
||||
out/production/module/foo/ReturnTypeKt.class
|
||||
End of files
|
||||
Compiling files:
|
||||
src/AChild.kt
|
||||
src/AGrandChild.kt
|
||||
src/ATypeParameter.kt
|
||||
src/classLiteral.kt
|
||||
src/functionParameter.kt
|
||||
src/getA.kt
|
||||
src/importA.kt
|
||||
src/importAGrandChild.kt
|
||||
src/importStar.kt
|
||||
src/referencedByFqName.kt
|
||||
src/returnType.kt
|
||||
End of files
|
||||
COMPILATION FAILED
|
||||
Cannot access 'A': it is 'private' in file
|
||||
Subclass effective visibility 'public' should be the same or less permissive than its superclass effective visibility 'private'
|
||||
Generic effective visibility 'public' should be the same or less permissive than its type parameter bound effective visibility 'private'
|
||||
Cannot access 'A': it is 'private' in file
|
||||
Cannot access 'A': it is 'private' in file
|
||||
Function effective visibility 'public' should be the same or less permissive than its parameter type effective visibility 'private'
|
||||
Cannot access 'A': it is 'private' in file
|
||||
Cannot access 'A': it is 'private' in file
|
||||
Function effective visibility 'public' should be the same or less permissive than its return type effective visibility 'private'
|
||||
Cannot access 'A': it is 'private' in file
|
||||
Cannot access 'A': it is 'private' in file
|
||||
Cannot access 'A': it is 'private' in file
|
||||
Cannot access 'A': it is 'private' in file
|
||||
Function effective visibility 'public' should be the same or less permissive than its return type effective visibility 'private'
|
||||
Cannot access 'A': it is 'private' in file
|
||||
Cannot access 'A': it is 'private' in file
|
||||
|
||||
|
||||
Cleaning output files:
|
||||
out/production/module/foo/A.class
|
||||
End of files
|
||||
Compiling files:
|
||||
src/A.kt
|
||||
src/AChild.kt
|
||||
src/AGrandChild.kt
|
||||
src/ATypeParameter.kt
|
||||
src/classLiteral.kt
|
||||
src/functionParameter.kt
|
||||
src/getA.kt
|
||||
src/importA.kt
|
||||
src/importAGrandChild.kt
|
||||
src/importStar.kt
|
||||
src/referencedByFqName.kt
|
||||
src/returnType.kt
|
||||
End of files
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
package foo
|
||||
|
||||
fun classLiteral() {
|
||||
A::class
|
||||
}
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
package foo
|
||||
|
||||
fun useA(a: A) {
|
||||
a.f()
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
package foo
|
||||
|
||||
fun getA() = A()
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
package bar
|
||||
|
||||
import foo.A
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
package bar
|
||||
|
||||
import foo.AGrandChild
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
package bar
|
||||
|
||||
import foo.*
|
||||
|
||||
fun importStarUse() {
|
||||
A()
|
||||
}
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
package bar
|
||||
|
||||
fun createAByFqName() {
|
||||
foo.A()
|
||||
}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
package foo
|
||||
|
||||
fun getAExplicit(): A = A()
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
package foo
|
||||
|
||||
fun getAImplicit() = getA()
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
package foo
|
||||
|
||||
open class A
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
package foo
|
||||
|
||||
open class A private constructor ()
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
package foo
|
||||
|
||||
open class A
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
package foo
|
||||
|
||||
class AChild : A()
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
Cleaning output files:
|
||||
out/production/module/foo/A.class
|
||||
End of files
|
||||
Compiling files:
|
||||
src/A.kt
|
||||
End of files
|
||||
Cleaning output files:
|
||||
out/production/module/META-INF/module.kotlin_module
|
||||
out/production/module/foo/AChild.class
|
||||
out/production/module/foo/CreateAKt.class
|
||||
End of files
|
||||
Compiling files:
|
||||
src/AChild.kt
|
||||
src/createA.kt
|
||||
End of files
|
||||
COMPILATION FAILED
|
||||
Cannot access '<init>': it is 'private' in 'A'
|
||||
Cannot access '<init>': it is 'private' in 'A'
|
||||
|
||||
|
||||
Cleaning output files:
|
||||
out/production/module/foo/A.class
|
||||
End of files
|
||||
Compiling files:
|
||||
src/A.kt
|
||||
src/AChild.kt
|
||||
src/createA.kt
|
||||
End of files
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
package foo
|
||||
|
||||
fun createA() {
|
||||
A()
|
||||
}
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
package foo
|
||||
|
||||
fun createAChild() {
|
||||
AChild()
|
||||
}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
package foo
|
||||
|
||||
open class A
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
package foo
|
||||
|
||||
open class A : AParent()
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
package foo
|
||||
|
||||
open class AChild : A()
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
package foo
|
||||
|
||||
open class AParent
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
package foo
|
||||
|
||||
class B {
|
||||
fun f() {}
|
||||
}
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
package foo
|
||||
|
||||
class B {
|
||||
open fun f() {}
|
||||
}
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
Cleaning output files:
|
||||
out/production/module/foo/A.class
|
||||
out/production/module/foo/B.class
|
||||
End of files
|
||||
Compiling files:
|
||||
src/A.kt
|
||||
src/AParent.kt
|
||||
src/B.kt
|
||||
End of files
|
||||
Cleaning output files:
|
||||
out/production/module/META-INF/module.kotlin_module
|
||||
out/production/module/bar/UseBKt.class
|
||||
out/production/module/foo/AChild.class
|
||||
End of files
|
||||
Compiling files:
|
||||
src/AChild.kt
|
||||
src/importA.kt
|
||||
src/importAChild.kt
|
||||
src/useB.kt
|
||||
End of files
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
package bar
|
||||
|
||||
import foo.A
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
package bar
|
||||
|
||||
import foo.AChild
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
package bar
|
||||
|
||||
import foo.B
|
||||
|
||||
fun useB() {
|
||||
B().f()
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
package foo
|
||||
|
||||
open class A {
|
||||
@JvmName("g")
|
||||
fun f() {}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
package foo
|
||||
|
||||
open class A {
|
||||
@JvmName("h")
|
||||
fun f() {}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
package foo
|
||||
|
||||
class AChild : A()
|
||||
@@ -0,0 +1,15 @@
|
||||
Cleaning output files:
|
||||
out/production/module/foo/A.class
|
||||
End of files
|
||||
Compiling files:
|
||||
src/A.kt
|
||||
End of files
|
||||
Cleaning output files:
|
||||
out/production/module/META-INF/module.kotlin_module
|
||||
out/production/module/foo/AChild.class
|
||||
out/production/module/foo/UseAChildKt.class
|
||||
End of files
|
||||
Compiling files:
|
||||
src/AChild.kt
|
||||
src/useAChild.kt
|
||||
End of files
|
||||
@@ -0,0 +1,5 @@
|
||||
package foo
|
||||
|
||||
fun useAChild(a: AChild) {
|
||||
a.f()
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
package foo
|
||||
|
||||
open class A
|
||||
@@ -0,0 +1,5 @@
|
||||
package foo
|
||||
|
||||
open class A {
|
||||
fun f() {}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
package foo
|
||||
|
||||
class AChild : A()
|
||||
@@ -0,0 +1,13 @@
|
||||
Cleaning output files:
|
||||
out/production/module/foo/A.class
|
||||
End of files
|
||||
Compiling files:
|
||||
src/A.kt
|
||||
End of files
|
||||
Cleaning output files:
|
||||
out/production/module/META-INF/module.kotlin_module
|
||||
out/production/module/foo/UseAChildKt.class
|
||||
End of files
|
||||
Compiling files:
|
||||
src/useAChild.kt
|
||||
End of files
|
||||
@@ -0,0 +1,5 @@
|
||||
package foo
|
||||
|
||||
fun useAChild(a: AChild) {
|
||||
a.f()
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
package foo
|
||||
|
||||
fun AChild.f() {}
|
||||
@@ -0,0 +1,5 @@
|
||||
package foo
|
||||
|
||||
open class A {
|
||||
fun f() {}
|
||||
}
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
package foo
|
||||
|
||||
annotation class Ann
|
||||
|
||||
open class A {
|
||||
@Ann
|
||||
fun f() {}
|
||||
}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
package foo
|
||||
|
||||
class AChild : A()
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user