fix KT-9299 In a project with circular dependencies between modules, IDE reports error on use of internal class from another module, but the corresponding code still compiles and runs.

#KT-9299 Fixed
This commit is contained in:
Michael Nedzelsky
2015-10-06 16:23:37 +03:00
parent 17b275af23
commit 6ebe0c30ec
23 changed files with 270 additions and 21 deletions
@@ -1,4 +1,6 @@
'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 at line 11, column 14
Cannot access 'InternalClass1': it is 'internal' in 'test' at line 3, column 13
Cannot access 'InternalClass1': it is 'internal' in 'test' at line 6, column 36
Cannot access 'member': it is 'invisible_fake' in 'ClassAA1' at line 24, column 25
'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 at line 14, column 14
Cannot access 'InternalClass1': it is 'internal' in 'test' at line 5, column 13
Cannot access 'InternalClass1': it is 'internal' in 'test' at line 8, column 36
Cannot access 'InternalClassAnnotation': it is 'internal' in 'test' at line 10, column 2
Cannot access 'InternalTestAnnotation': it is 'internal' in 'test' at line 1, column 7
Cannot access 'member': it is 'invisible_fake' in 'ClassAA1' at line 27, column 25
@@ -1,4 +1,13 @@
package test
@Target(AnnotationTarget.FILE)
@Retention(AnnotationRetention.SOURCE)
internal annotation class InternalTestAnnotation()
@Target(AnnotationTarget.CLASS)
@Retention(AnnotationRetention.SOURCE)
internal annotation class InternalClassAnnotation()
private class PrivateClass1
internal open class InternalClass1
@@ -1,3 +1,5 @@
@file:InternalTestAnnotation
package test
import test.InternalClass1
@@ -5,6 +7,7 @@ import test.InternalClass1
// InternalClass1, ClassA1, ClassB1 are in module1
class ClassInheritedFromInternal1: InternalClass1()
@InternalClassAnnotation
class ClassAA1 : ClassA1(10)
class ClassBB1 : ClassB1() {