Introduce MultiModuleHighlightingTest
Checks that analysis produces expected diagnostics when configured by real IDEA module
This commit is contained in:
@@ -0,0 +1,8 @@
|
||||
package foo
|
||||
|
||||
public fun accessM1() {
|
||||
accessM1()
|
||||
accessM2()
|
||||
<error>accessM3</error>()
|
||||
<error>accessM4</error>()
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
package foo
|
||||
|
||||
public fun accessM2() {
|
||||
accessM1()
|
||||
accessM2()
|
||||
<error>accessM3</error>()
|
||||
<error>accessM4</error>()
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
package foo
|
||||
|
||||
public fun accessM3() {
|
||||
<error>accessM1</error>()
|
||||
accessM2()
|
||||
accessM3()
|
||||
<error>accessM4</error>()
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
package foo
|
||||
|
||||
public fun accessM4() {
|
||||
accessM1()
|
||||
accessM2()
|
||||
accessM3()
|
||||
accessM4()
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
package m1
|
||||
|
||||
public class PublicClassInM1
|
||||
class InternalClassInM1
|
||||
private class PrivateClassInM1
|
||||
|
||||
public fun publicFunInM1() {
|
||||
}
|
||||
fun internalFunInM1() {
|
||||
}
|
||||
private fun privateFunInM1() {
|
||||
}
|
||||
|
||||
fun testVisibility() {
|
||||
<error descr="[UNRESOLVED_REFERENCE] Unresolved reference: ClassInM2">ClassInM2</error>()
|
||||
}
|
||||
|
||||
public open class A internal () {
|
||||
private fun pri() {
|
||||
}
|
||||
fun int() {
|
||||
}
|
||||
protected fun pro() {
|
||||
}
|
||||
public fun pub() {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
package m2
|
||||
|
||||
import m1.*
|
||||
|
||||
fun testVisibility() {
|
||||
PublicClassInM1()
|
||||
|
||||
<error descr="[INVISIBLE_MEMBER] Cannot access 'InternalClassInM1': it is 'internal' in 'm1'">InternalClassInM1</error>()
|
||||
|
||||
<error descr="[INVISIBLE_MEMBER] Cannot access 'PrivateClassInM1': it is 'private' in 'm1'">PrivateClassInM1</error>()
|
||||
|
||||
publicFunInM1()
|
||||
|
||||
<error descr="[INVISIBLE_MEMBER] Cannot access 'internalFunInM1': it is 'internal' in 'm1'">internalFunInM1</error>()
|
||||
|
||||
<error descr="[INVISIBLE_MEMBER] Cannot access 'privateFunInM1': it is 'private' in 'm1'">privateFunInM1</error>()
|
||||
}
|
||||
|
||||
public class ClassInM2
|
||||
|
||||
public class B: <error descr="[INVISIBLE_MEMBER] Cannot access '<init>': it is 'internal' in 'A'">A</error>() {
|
||||
|
||||
fun accessA(<warning>a</warning>: A) {}
|
||||
|
||||
fun f() {
|
||||
<error descr="[INVISIBLE_MEMBER] Cannot access 'pri': it is 'invisible_fake' in 'B'">pri</error>()
|
||||
|
||||
pro()
|
||||
|
||||
pub()
|
||||
|
||||
<error descr="[INVISIBLE_MEMBER] Cannot access 'int': it is 'invisible_fake' in 'B'">int</error>()
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user