add test for check access to internal elements from another module

#KT-9178 Fixed
This commit is contained in:
Michael Nedzelsky
2015-09-21 23:06:22 +03:00
parent e86bf03e76
commit 4d9eaf19c3
7 changed files with 125 additions and 0 deletions
@@ -0,0 +1,9 @@
package test
internal open class InternalClass2
abstract class ClassA2(internal val member: Int)
abstract class ClassB2 {
internal abstract val member: Int
}
@@ -0,0 +1,29 @@
// ERROR: 'internal open val member: kotlin.Int defined in test.ClassBB1' has no access to 'internal abstract val member: kotlin.Int defined in test.ClassB1', so it cannot override it
// ERROR: Cannot access 'InternalClass1': it is 'internal' in 'test'
// ERROR: Cannot access 'member': it is 'invisible_fake' in 'ClassAA1'
package test
// InternalClass1, ClassA1, ClassB1 are in module1
class ClassInheritedFromInternal1: InternalClass1()
class ClassAA1 : ClassA1(10)
class ClassBB1 : ClassB1() {
internal override val member = 10
}
// InternalClass2, ClassA2, ClassB2 are in module2
class ClassInheritedFromInternal2: InternalClass2()
class ClassAA2 : ClassA2(10)
class ClassBB2 : ClassB2() {
internal override val member = 10
}
fun f() {
val x1 = ClassAA1().member
val x2 = ClassAA2().member
}