Migrate MultiModuleLineMarkerTest to the new CodeMetaInfo test infrastructure
This commit is contained in:
@@ -107,7 +107,7 @@ class TextDiagnostic(
|
||||
extractDataBefore(matcher.group(2), ":")
|
||||
|
||||
val name = matcher.group(3)
|
||||
val parameters = matcher.group(4) ?: return TextDiagnostic(
|
||||
val parameters = matcher.group(5) ?: return TextDiagnostic(
|
||||
name,
|
||||
platform,
|
||||
null,
|
||||
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
MODULE common { platform=[JVM, JS, Native] }
|
||||
MODULE jvm { platform=[JVM] }
|
||||
|
||||
jvm -> common { kind=DEPENDS_ON }
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
actual class <lineMarker descr="Has declaration in common module">WithConstructor</lineMarker> actual constructor(actual val x: Int, actual val s: String)
|
||||
actual class <!LINE_MARKER("descr='Has declaration in common module'")!>WithConstructor<!> actual constructor(actual val x: Int, actual val s: String)
|
||||
|
||||
/*
|
||||
LINEMARKER: Has declaration in common module
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
open class <lineMarker descr="<html><body>Is subclassed by<br> <a href="#kotlinClass/testModule_Common:ExpectedChild">ExpectedChild [testModule_Common]</a><br> <a href="#kotlinClass/testModule_JVM:ExpectedChild">ExpectedChild [testModule_JVM]</a><br> <a href="#kotlinClass/testModule_Common:SimpleChild">SimpleChild</a><br><div style='margin-top: 5px'><font size='2'>Click or press Ctrl+Alt+B to navigate</font></div></body</html>">SimpleParent</lineMarker>
|
||||
open class <!LINE_MARKER("descr='Is subclassed by ExpectedChild [common] ExpectedChild [jvm] SimpleChild'")!>SimpleParent<!>
|
||||
|
||||
expect class <lineMarker descr="Has actuals in JVM">ExpectedChild</lineMarker> : SimpleParent
|
||||
expect class <!LINE_MARKER("descr='Has actuals in JVM'")!>ExpectedChild<!> : SimpleParent
|
||||
|
||||
class SimpleChild : SimpleParent()
|
||||
@@ -0,0 +1,4 @@
|
||||
MODULE common { platform=[JVM, JS, Native] }
|
||||
MODULE jvm { platform=[JVM] }
|
||||
|
||||
jvm -> common { kind=DEPENDS_ON }
|
||||
@@ -0,0 +1,4 @@
|
||||
MODULE common { platform=[JVM, JS, Native] }
|
||||
MODULE jvm { platform=[JVM] }
|
||||
|
||||
jvm -> common { kind=DEPENDS_ON }
|
||||
@@ -1,8 +1,8 @@
|
||||
package test
|
||||
|
||||
actual enum class <lineMarker>Enum</lineMarker> {
|
||||
<lineMarker>A</lineMarker>,
|
||||
<lineMarker>B</lineMarker>,
|
||||
<lineMarker>C</lineMarker>,
|
||||
actual enum class <!LINE_MARKER("descr='Has declaration in common module'")!>Enum<!> {
|
||||
<!LINE_MARKER("descr='Has declaration in common module'")!>A<!>,
|
||||
<!LINE_MARKER("descr='Has declaration in common module'")!>B<!>,
|
||||
<!LINE_MARKER("descr='Has declaration in common module'")!>C<!>,
|
||||
D
|
||||
}
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
MODULE common { platform=[JVM, JS, Native] }
|
||||
MODULE jvm { platform=[JVM] }
|
||||
|
||||
jvm -> common { kind=DEPENDS_ON }
|
||||
@@ -1,6 +1,6 @@
|
||||
package test
|
||||
|
||||
actual enum class <lineMarker descr="Has declaration in common module">Enum</lineMarker> { A, B, C }
|
||||
actual enum class <!LINE_MARKER("descr='Has declaration in common module'")!>Enum<!> { A, B, C }
|
||||
|
||||
/*
|
||||
LINEMARKER: Has declaration in common module
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
MODULE common { platform=[JVM, JS, Native] }
|
||||
MODULE jvm { platform=[JVM] }
|
||||
|
||||
jvm -> common { kind=DEPENDS_ON }
|
||||
+3
-3
@@ -1,5 +1,5 @@
|
||||
expect class <lineMarker>WithConstructor</lineMarker>(x: Int, s: String) {
|
||||
val <lineMarker>x</lineMarker>: Int
|
||||
expect class <!LINE_MARKER("descr='Has actuals in JVM'")!>WithConstructor<!>(x: Int, s: String) {
|
||||
val <!LINE_MARKER("descr='Has actuals in JVM'")!>x<!>: Int
|
||||
|
||||
val <lineMarker>s</lineMarker>: String
|
||||
val <!LINE_MARKER("descr='Has actuals in JVM'")!>s<!>: String
|
||||
}
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
MODULE common { platform=[JVM, JS, Native] }
|
||||
MODULE jvm { platform=[JVM] }
|
||||
|
||||
jvm -> common { kind=DEPENDS_ON }
|
||||
@@ -1,7 +1,7 @@
|
||||
package test
|
||||
|
||||
expect enum class <lineMarker>Enum</lineMarker> {
|
||||
<lineMarker>A</lineMarker>,
|
||||
<lineMarker>B</lineMarker>,
|
||||
<lineMarker>C</lineMarker>
|
||||
expect enum class <!LINE_MARKER("descr='Has actuals in JVM'")!>Enum<!> {
|
||||
<!LINE_MARKER("descr='Has actuals in JVM'")!>A<!>,
|
||||
<!LINE_MARKER("descr='Has actuals in JVM'")!>B<!>,
|
||||
<!LINE_MARKER("descr='Has actuals in JVM'")!>C<!>
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
MODULE common { platform=[JVM, JS, Native] }
|
||||
MODULE jvm { platform=[JVM] }
|
||||
|
||||
jvm -> common { kind=DEPENDS_ON }
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
package test
|
||||
|
||||
expect enum class <lineMarker descr="Has actuals in JVM">Enum</lineMarker> { A, B, C, D }
|
||||
expect enum class <!LINE_MARKER("descr='Has actuals in JVM'")!>Enum<!> { A, B, C, D }
|
||||
|
||||
/*
|
||||
LINEMARKER: Has actuals in JVM
|
||||
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
MODULE common { platform=[JVM, JS, Native] }
|
||||
MODULE jvm { platform=[JVM] }
|
||||
|
||||
jvm -> common { kind=DEPENDS_ON }
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
package test
|
||||
|
||||
expect enum class <lineMarker descr="Has actuals in JVM">Enum</lineMarker> {
|
||||
<lineMarker descr="Has actuals in JVM">A</lineMarker>, B, C, D
|
||||
expect enum class <!LINE_MARKER("descr='Has actuals in JVM'")!>Enum<!> {
|
||||
<!LINE_MARKER("descr='Has actuals in JVM'")!>A<!>, B, C, D
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
MODULE common { platform=[JVM, JS, Native] }
|
||||
MODULE jvm { platform=[JVM] }
|
||||
|
||||
jvm -> common { kind=DEPENDS_ON }
|
||||
+3
-3
@@ -1,9 +1,9 @@
|
||||
package sample
|
||||
|
||||
expect fun <lineMarker descr="Has actuals in common">sameFile</lineMarker>()
|
||||
expect fun <!LINE_MARKER("descr='Has actuals in common'")!>sameFile<!>()
|
||||
|
||||
actual fun <lineMarker>sameFile</lineMarker>() = Unit
|
||||
actual fun <!LINE_MARKER("descr='null'")!>sameFile<!>() = Unit
|
||||
|
||||
expect fun <lineMarker descr="Has actuals in common">sameModule</lineMarker>()
|
||||
expect fun <!LINE_MARKER("descr='Has actuals in common'")!>sameModule<!>()
|
||||
|
||||
fun noExpectActualDeclaration() = Unit
|
||||
+1
@@ -0,0 +1 @@
|
||||
MODULE common { platform=[JVM, JS, Native] }
|
||||
@@ -0,0 +1,4 @@
|
||||
MODULE common { platform=[JVM, JS, Native] }
|
||||
MODULE jvm { platform=[JVM] }
|
||||
|
||||
jvm -> common { kind=DEPENDS_ON }
|
||||
@@ -0,0 +1,4 @@
|
||||
MODULE common { platform=[JVM, JS, Native] }
|
||||
MODULE jvm { platform=[JVM] }
|
||||
|
||||
jvm -> common { kind=DEPENDS_ON }
|
||||
@@ -1,4 +1,4 @@
|
||||
actual annotation class <lineMarker>Ann</lineMarker> actual constructor(
|
||||
actual val <lineMarker>x</lineMarker>: Int,
|
||||
actual val <lineMarker>y</lineMarker>: String
|
||||
actual annotation class <!LINE_MARKER("descr='Has declaration in common module'")!>Ann<!> actual constructor(
|
||||
actual val <!LINE_MARKER("descr='Has declaration in common module'")!>x<!>: Int,
|
||||
actual val <!LINE_MARKER("descr='Has declaration in common module'")!>y<!>: String
|
||||
)
|
||||
|
||||
Vendored
+4
@@ -0,0 +1,4 @@
|
||||
MODULE common { platform=[JVM, JS, Native] }
|
||||
MODULE jvm { platform=[JVM] }
|
||||
|
||||
jvm -> common { kind=DEPENDS_ON }
|
||||
+3
-3
@@ -1,6 +1,6 @@
|
||||
actual annotation class <lineMarker descr="Has declaration in common module">Ann</lineMarker>(
|
||||
actual val <lineMarker descr="Has declaration in common module">x</lineMarker>: Int, actual val y: String,
|
||||
actual val <lineMarker descr="Has declaration in common module">z</lineMarker>: Double, actual val b: Boolean
|
||||
actual annotation class <!LINE_MARKER("descr='Has declaration in common module'")!>Ann<!>(
|
||||
actual val <!LINE_MARKER("descr='Has declaration in common module'")!>x<!>: Int, actual val y: String,
|
||||
actual val <!LINE_MARKER("descr='Has declaration in common module'")!>z<!>: Double, actual val b: Boolean
|
||||
)
|
||||
|
||||
/*
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
MODULE common { platform=[JVM, JS, Native] }
|
||||
MODULE jvm { platform=[JVM] }
|
||||
|
||||
jvm -> common { kind=DEPENDS_ON }
|
||||
@@ -1,5 +1,5 @@
|
||||
actual class <lineMarker>WithCompanion</lineMarker> {
|
||||
actual companion <lineMarker>object</lineMarker> {
|
||||
actual class <!LINE_MARKER("descr='Has declaration in common module'")!>WithCompanion<!> {
|
||||
actual companion <!LINE_MARKER("descr='Has declaration in common module'")!>object<!> {
|
||||
|
||||
}
|
||||
}
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
MODULE common { platform=[JVM, JS, Native] }
|
||||
MODULE jvm { platform=[JVM] }
|
||||
|
||||
jvm -> common { kind=DEPENDS_ON }
|
||||
+2
-2
@@ -1,5 +1,5 @@
|
||||
actual class <lineMarker>NoConstructor2</lineMarker>(name: String) {
|
||||
actual class <!LINE_MARKER("descr='Has declaration in common module'")!>NoConstructor2<!>(name: String) {
|
||||
val myName = name
|
||||
actual fun <lineMarker>extraFun</lineMarker>() {}
|
||||
actual fun <!LINE_MARKER("descr='Has declaration in common module'")!>extraFun<!>() {}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
MODULE common { platform=[JVM, JS, Native] }
|
||||
MODULE jvm { platform=[JVM] }
|
||||
|
||||
jvm -> common { kind=DEPENDS_ON }
|
||||
@@ -1,10 +1,10 @@
|
||||
actual sealed class <lineMarker>Sealed</lineMarker> {
|
||||
actual sealed class <!LINE_MARKER("descr='Is subclassed by Sealed1 in Sealed [jvm] Sealed2 in Sealed [jvm]'"), LINE_MARKER("descr='Has declaration in common module'")!>Sealed<!> {
|
||||
|
||||
actual object <lineMarker>Sealed1</lineMarker> : Sealed()
|
||||
actual object <!LINE_MARKER("descr='Has declaration in common module'")!>Sealed1<!> : Sealed()
|
||||
|
||||
actual class <lineMarker>Sealed2</lineMarker> : Sealed() {
|
||||
actual val <lineMarker>x</lineMarker> = 42
|
||||
actual fun <lineMarker>foo</lineMarker>() = ""
|
||||
actual class <!LINE_MARKER("descr='Has declaration in common module'")!>Sealed2<!> : Sealed() {
|
||||
actual val <!LINE_MARKER("descr='Has declaration in common module'")!>x<!> = 42
|
||||
actual fun <!LINE_MARKER("descr='Has declaration in common module'")!>foo<!>() = ""
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
MODULE common { platform=[JVM, JS, Native] }
|
||||
MODULE jvm { platform=[JVM] }
|
||||
|
||||
jvm -> common { kind=DEPENDS_ON }
|
||||
+2
-2
@@ -1,5 +1,5 @@
|
||||
actual class <lineMarker>SecondaryConstructor</lineMarker> {
|
||||
actual <lineMarker>constructor</lineMarker>(name: String, surname: String) {}
|
||||
actual class <!LINE_MARKER("descr='Has declaration in common module'")!>SecondaryConstructor<!> {
|
||||
actual <!LINE_MARKER("descr='Has declaration in common module'")!>constructor<!>(name: String, surname: String) {}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
MODULE common { platform=[JVM, JS, Native] }
|
||||
MODULE jvm { platform=[JVM] }
|
||||
|
||||
jvm -> common { kind=DEPENDS_ON }
|
||||
@@ -2,5 +2,5 @@ class Some {
|
||||
val x: String = "Some"
|
||||
}
|
||||
|
||||
actual typealias <lineMarker>TypeAlias</lineMarker> = Some
|
||||
actual typealias <!LINE_MARKER("descr='Has declaration in common module'")!>TypeAlias<!> = Some
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
expect class <lineMarker>Header</lineMarker> {
|
||||
expect class <!LINE_MARKER("descr='Has actuals in JVM'")!>Header<!> {
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
MODULE common { platform=[JVM, JS, Native] }
|
||||
MODULE jvm { platform=[JVM] }
|
||||
|
||||
jvm -> common { kind=DEPENDS_ON }
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
MODULE common { platform=[JVM, JS, Native] }
|
||||
MODULE jvm { platform=[JVM] }
|
||||
|
||||
jvm -> common { kind=DEPENDS_ON }
|
||||
+1
-1
@@ -1 +1 @@
|
||||
actual typealias <lineMarker>Expected</lineMarker> = ExpectedImpl
|
||||
actual typealias <!LINE_MARKER("descr='Has declaration in common module'")!>Expected<!> = ExpectedImpl
|
||||
@@ -1,11 +1,11 @@
|
||||
expect class <lineMarker>Header</lineMarker> {
|
||||
fun <lineMarker>foo</lineMarker>(): Int
|
||||
expect class <!LINE_MARKER("descr='Has actuals in JVM'")!>Header<!> {
|
||||
fun <!LINE_MARKER("descr='Has actuals in JVM'")!>foo<!>(): Int
|
||||
}
|
||||
|
||||
expect class <lineMarker>Incomplete</lineMarker> {
|
||||
expect class <!LINE_MARKER("descr='Has actuals in JVM'")!>Incomplete<!> {
|
||||
fun foo(): Int
|
||||
}
|
||||
|
||||
expect fun <lineMarker>foo</lineMarker>(arg: Int): String
|
||||
expect fun <!LINE_MARKER("descr='Has actuals in JVM'")!>foo<!>(arg: Int): String
|
||||
|
||||
expect val <lineMarker>flag</lineMarker>: Boolean
|
||||
expect val <!LINE_MARKER("descr='Has actuals in JVM'")!>flag<!>: Boolean
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
MODULE common { platform=[JVM, JS, Native] }
|
||||
MODULE jvm { platform=[JVM] }
|
||||
|
||||
jvm -> common { kind=DEPENDS_ON }
|
||||
@@ -0,0 +1,4 @@
|
||||
MODULE common { platform=[JVM, JS, Native] }
|
||||
MODULE jvm { platform=[JVM] }
|
||||
|
||||
jvm -> common { kind=DEPENDS_ON }
|
||||
@@ -1,11 +1,11 @@
|
||||
actual class <lineMarker>Header</lineMarker> {
|
||||
actual fun <lineMarker>foo</lineMarker>() = 42
|
||||
actual class <!LINE_MARKER("descr='Has declaration in common module'")!>Header<!> {
|
||||
actual fun <!LINE_MARKER("descr='Has declaration in common module'")!>foo<!>() = 42
|
||||
}
|
||||
|
||||
actual class <lineMarker>Incomplete</lineMarker>
|
||||
actual class <!LINE_MARKER("descr='Has declaration in common module'")!>Incomplete<!>
|
||||
|
||||
actual fun <lineMarker>foo</lineMarker>(arg: Int) = arg.toString()
|
||||
actual fun <!LINE_MARKER("descr='Has declaration in common module'")!>foo<!>(arg: Int) = arg.toString()
|
||||
|
||||
actual val <lineMarker>flag</lineMarker> = true
|
||||
actual val <!LINE_MARKER("descr='Has declaration in common module'")!>flag<!> = true
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
expect class <lineMarker>WithCompanion</lineMarker> {
|
||||
companion <lineMarker>object</lineMarker> {
|
||||
expect class <!LINE_MARKER("descr='Has actuals in JVM'")!>WithCompanion<!> {
|
||||
companion <!LINE_MARKER("descr='Has actuals in JVM'")!>object<!> {
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
MODULE common { platform=[JVM, JS, Native] }
|
||||
MODULE jvm { platform=[JVM] }
|
||||
|
||||
jvm -> common { kind=DEPENDS_ON }
|
||||
+3
-3
@@ -1,4 +1,4 @@
|
||||
expect annotation class <lineMarker>Ann</lineMarker>(
|
||||
val <lineMarker>x</lineMarker>: Int,
|
||||
val <lineMarker>y</lineMarker>: String
|
||||
expect annotation class <!LINE_MARKER("descr='Has actuals in JVM'")!>Ann<!>(
|
||||
val <!LINE_MARKER("descr='Has actuals in JVM'")!>x<!>: Int,
|
||||
val <!LINE_MARKER("descr='Has actuals in JVM'")!>y<!>: String
|
||||
)
|
||||
@@ -0,0 +1,4 @@
|
||||
MODULE common { platform=[JVM, JS, Native] }
|
||||
MODULE jvm { platform=[JVM] }
|
||||
|
||||
jvm -> common { kind=DEPENDS_ON }
|
||||
+2
-2
@@ -1,3 +1,3 @@
|
||||
expect class <lineMarker>NoConstructor2</lineMarker> {
|
||||
fun <lineMarker>extraFun</lineMarker>()
|
||||
expect class <!LINE_MARKER("descr='Has actuals in JVM'")!>NoConstructor2<!> {
|
||||
fun <!LINE_MARKER("descr='Has actuals in JVM'")!>extraFun<!>()
|
||||
}
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
MODULE common { platform=[JVM, JS, Native] }
|
||||
MODULE jvm { platform=[JVM] }
|
||||
|
||||
jvm -> common { kind=DEPENDS_ON }
|
||||
+5
-5
@@ -1,9 +1,9 @@
|
||||
expect sealed class <lineMarker>Sealed</lineMarker> {
|
||||
expect sealed class <!LINE_MARKER("descr='Is subclassed by Sealed1 [common] Sealed1 in Sealed [jvm] Sealed2 [common] Sealed2 in Sealed [jvm]'"), LINE_MARKER("descr='Has actuals in JVM'")!>Sealed<!> {
|
||||
|
||||
object <lineMarker>Sealed1</lineMarker> : Sealed
|
||||
object <!LINE_MARKER("descr='Has actuals in JVM'")!>Sealed1<!> : Sealed
|
||||
|
||||
class <lineMarker>Sealed2</lineMarker> : Sealed {
|
||||
val <lineMarker>x</lineMarker>: Int
|
||||
fun <lineMarker>foo</lineMarker>(): String
|
||||
class <!LINE_MARKER("descr='Has actuals in JVM'")!>Sealed2<!> : Sealed {
|
||||
val <!LINE_MARKER("descr='Has actuals in JVM'")!>x<!>: Int
|
||||
fun <!LINE_MARKER("descr='Has actuals in JVM'")!>foo<!>(): String
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
MODULE common { platform=[JVM, JS, Native] }
|
||||
MODULE jvm { platform=[JVM] }
|
||||
|
||||
jvm -> common { kind=DEPENDS_ON }
|
||||
+2
-2
@@ -1,3 +1,3 @@
|
||||
expect class <lineMarker>SecondaryConstructor</lineMarker>{
|
||||
<lineMarker>constructor</lineMarker>(name: String, surname: String)
|
||||
expect class <!LINE_MARKER("descr='Has actuals in JVM'")!>SecondaryConstructor<!>{
|
||||
<!LINE_MARKER("descr='Has actuals in JVM'")!>constructor<!>(name: String, surname: String)
|
||||
}
|
||||
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
MODULE common { platform=[JVM, JS, Native] }
|
||||
MODULE jvm { platform=[JVM] }
|
||||
|
||||
jvm -> common { kind=DEPENDS_ON }
|
||||
@@ -1,3 +1,3 @@
|
||||
expect class <lineMarker>TypeAlias</lineMarker> {
|
||||
expect class <!LINE_MARKER("descr='Has actuals in JVM'")!>TypeAlias<!> {
|
||||
val x: String
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
MODULE common { platform=[JVM, JS, Native] }
|
||||
MODULE jvm { platform=[JVM] }
|
||||
|
||||
jvm -> common { kind=DEPENDS_ON }
|
||||
+10
-10
@@ -1,21 +1,21 @@
|
||||
package test
|
||||
|
||||
open class <lineMarker>SimpleParent</lineMarker> {
|
||||
open fun <lineMarker>foo</lineMarker>(n: Int) {}
|
||||
open val <lineMarker>bar</lineMarker>: Int get() = 1
|
||||
open class <!LINE_MARKER("descr='Is subclassed by ExpectedChild [common] ExpectedChild [jvm] ExpectedChildChild ExpectedChildChildJvm SimpleChild'")!>SimpleParent<!> {
|
||||
open fun <!LINE_MARKER("descr='Is overridden in test.ExpectedChild test.ExpectedChildChild test.ExpectedChildChildJvm test.SimpleChild'")!>foo<!>(n: Int) {}
|
||||
open val <!LINE_MARKER("descr='Is overridden in test.ExpectedChild test.ExpectedChildChild test.ExpectedChildChildJvm test.SimpleChild'")!>bar<!>: Int get() = 1
|
||||
}
|
||||
|
||||
expect open class <lineMarker><lineMarker>ExpectedChild</lineMarker></lineMarker> : SimpleParent {
|
||||
override fun <lineMarker><lineMarker>foo</lineMarker></lineMarker>(n: Int)
|
||||
override val <lineMarker><lineMarker>bar</lineMarker></lineMarker>: Int
|
||||
expect open class <!LINE_MARKER("descr='Is subclassed by ExpectedChildChild ExpectedChildChildJvm'"), LINE_MARKER("descr='Has actuals in JVM'")!>ExpectedChild<!> : SimpleParent {
|
||||
override fun <!LINE_MARKER("descr='Overrides function in 'SimpleParent''"), LINE_MARKER("descr='Has actuals in JVM'"), LINE_MARKER("descr='Is overridden in test.ExpectedChildChild test.ExpectedChildChildJvm'")!>foo<!>(n: Int)
|
||||
override val <!LINE_MARKER("descr='Overrides property in 'SimpleParent''"), LINE_MARKER("descr='Has actuals in JVM'"), LINE_MARKER("descr='Is overridden in test.ExpectedChildChild test.ExpectedChildChildJvm'")!>bar<!>: Int
|
||||
}
|
||||
|
||||
class ExpectedChildChild : ExpectedChild() {
|
||||
override fun <lineMarker>foo</lineMarker>(n: Int) {}
|
||||
override val <lineMarker>bar</lineMarker>: Int get() = 1
|
||||
override fun <!LINE_MARKER("descr='Overrides function in 'ExpectedChild''")!>foo<!>(n: Int) {}
|
||||
override val <!LINE_MARKER("descr='Overrides property in 'ExpectedChild''")!>bar<!>: Int get() = 1
|
||||
}
|
||||
|
||||
class SimpleChild : SimpleParent() {
|
||||
override fun <lineMarker>foo</lineMarker>(n: Int) {}
|
||||
override val <lineMarker>bar</lineMarker>: Int get() = 1
|
||||
override fun <!LINE_MARKER("descr='Overrides function in 'SimpleParent''")!>foo<!>(n: Int) {}
|
||||
override val <!LINE_MARKER("descr='Overrides property in 'SimpleParent''")!>bar<!>: Int get() = 1
|
||||
}
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
MODULE common { platform=[JVM, JS, Native] }
|
||||
MODULE jvm { platform=[JVM] }
|
||||
|
||||
jvm -> common { kind=DEPENDS_ON }
|
||||
Vendored
+10
-10
@@ -1,21 +1,21 @@
|
||||
package test
|
||||
|
||||
open class <lineMarker>SimpleParent</lineMarker> {
|
||||
open fun <lineMarker>`foo fun`</lineMarker>(n: Int) {}
|
||||
open val <lineMarker>`bar fun`</lineMarker>: Int get() = 1
|
||||
open class <!LINE_MARKER("descr='Is subclassed by ExpectedChild [common] ExpectedChild [jvm] ExpectedChildChild ExpectedChildChildJvm SimpleChild'")!>SimpleParent<!> {
|
||||
open fun <!LINE_MARKER("descr='Is overridden in test.ExpectedChild test.ExpectedChildChild test.ExpectedChildChildJvm test.SimpleChild'")!>`foo fun`<!>(n: Int) {}
|
||||
open val <!LINE_MARKER("descr='Is overridden in test.ExpectedChild test.ExpectedChildChild test.ExpectedChildChildJvm test.SimpleChild'")!>`bar fun`<!>: Int get() = 1
|
||||
}
|
||||
|
||||
expect open class <lineMarker><lineMarker>ExpectedChild</lineMarker></lineMarker> : SimpleParent {
|
||||
override fun <lineMarker><lineMarker>`foo fun`</lineMarker></lineMarker>(n: Int)
|
||||
override val <lineMarker><lineMarker>`bar fun`</lineMarker></lineMarker>: Int
|
||||
expect open class <!LINE_MARKER("descr='Is subclassed by ExpectedChildChild ExpectedChildChildJvm'"), LINE_MARKER("descr='Has actuals in JVM'")!>ExpectedChild<!> : SimpleParent {
|
||||
override fun <!LINE_MARKER("descr='Overrides function in 'SimpleParent''"), LINE_MARKER("descr='Has actuals in JVM'"), LINE_MARKER("descr='Is overridden in test.ExpectedChildChild test.ExpectedChildChildJvm'")!>`foo fun`<!>(n: Int)
|
||||
override val <!LINE_MARKER("descr='Overrides property in 'SimpleParent''"), LINE_MARKER("descr='Has actuals in JVM'"), LINE_MARKER("descr='Is overridden in test.ExpectedChildChild test.ExpectedChildChildJvm'")!>`bar fun`<!>: Int
|
||||
}
|
||||
|
||||
class ExpectedChildChild : ExpectedChild() {
|
||||
override fun <lineMarker>`foo fun`</lineMarker>(n: Int) {}
|
||||
override val <lineMarker>`bar fun`</lineMarker>: Int get() = 1
|
||||
override fun <!LINE_MARKER("descr='Overrides function in 'ExpectedChild''")!>`foo fun`<!>(n: Int) {}
|
||||
override val <!LINE_MARKER("descr='Overrides property in 'ExpectedChild''")!>`bar fun`<!>: Int get() = 1
|
||||
}
|
||||
|
||||
class SimpleChild : SimpleParent() {
|
||||
override fun <lineMarker>`foo fun`</lineMarker>(n: Int) {}
|
||||
override val <lineMarker>`bar fun`</lineMarker>: Int get() = 1
|
||||
override fun <!LINE_MARKER("descr='Overrides function in 'SimpleParent''")!>`foo fun`<!>(n: Int) {}
|
||||
override val <!LINE_MARKER("descr='Overrides property in 'SimpleParent''")!>`bar fun`<!>: Int get() = 1
|
||||
}
|
||||
Vendored
+4
@@ -0,0 +1,4 @@
|
||||
MODULE common { platform=[JVM, JS, Native] }
|
||||
MODULE jvm { platform=[JVM] }
|
||||
|
||||
jvm -> common { kind=DEPENDS_ON }
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
MODULE common { platform=[JVM, JS, Native] }
|
||||
MODULE jvm { platform=[JVM] }
|
||||
|
||||
jvm -> common { kind=DEPENDS_ON }
|
||||
+5
-5
@@ -1,11 +1,11 @@
|
||||
package test
|
||||
|
||||
actual open class <lineMarker><lineMarker>ExpectedChild</lineMarker></lineMarker> : SimpleParent() {
|
||||
actual override fun <lineMarker><lineMarker><lineMarker>foo</lineMarker></lineMarker></lineMarker>(n: Int) {}
|
||||
actual override val <lineMarker><lineMarker><lineMarker>bar</lineMarker></lineMarker></lineMarker>: Int get() = 1
|
||||
actual open class <!LINE_MARKER("descr='Is subclassed by ExpectedChildChildJvm'"), LINE_MARKER("descr='Has declaration in common module'")!>ExpectedChild<!> : SimpleParent() {
|
||||
actual override fun <!LINE_MARKER("descr='Overrides function in 'SimpleParent''"), LINE_MARKER("descr='Has declaration in common module'"), LINE_MARKER("descr='Is overridden in test.ExpectedChildChildJvm'")!>foo<!>(n: Int) {}
|
||||
actual override val <!LINE_MARKER("descr='Overrides property in 'SimpleParent''"), LINE_MARKER("descr='Has declaration in common module'"), LINE_MARKER("descr='Is overridden in test.ExpectedChildChildJvm'")!>bar<!>: Int get() = 1
|
||||
}
|
||||
|
||||
class ExpectedChildChildJvm : ExpectedChild() {
|
||||
override fun <lineMarker>foo</lineMarker>(n: Int) {}
|
||||
override val <lineMarker>bar</lineMarker>: Int get() = 1
|
||||
override fun <!LINE_MARKER("descr='Overrides function in 'ExpectedChild''")!>foo<!>(n: Int) {}
|
||||
override val <!LINE_MARKER("descr='Overrides property in 'ExpectedChild''")!>bar<!>: Int get() = 1
|
||||
}
|
||||
+2
-2
@@ -1,5 +1,5 @@
|
||||
interface <lineMarker>I</lineMarker> {
|
||||
suspend fun <lineMarker descr="<html><body>Is implemented in <br> KJs<br> KJvm</body></html>">foo</lineMarker>(s: String)
|
||||
interface <!LINE_MARKER("descr='Is implemented by KJs KJvm'")!>I<!> {
|
||||
suspend fun <!LINE_MARKER("descr='Is implemented in KJs KJvm'")!>foo<!>(s: String)
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
MODULE common { platform=[JVM, JS, Native] }
|
||||
MODULE jvm { platform=[JVM] }
|
||||
MODULE js { platform=[JS] }
|
||||
|
||||
jvm -> common { kind=DEPENDS_ON }
|
||||
js -> common { kind=DEPENDS_ON }
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
MODULE common { platform=[JVM, JS, Native] }
|
||||
MODULE jvm { platform=[JVM] }
|
||||
|
||||
jvm -> common { kind=DEPENDS_ON }
|
||||
@@ -1 +1 @@
|
||||
expect fun <lineMarker descr="Has actuals in JVM">foo</lineMarker>(): Int
|
||||
expect fun <!LINE_MARKER("descr='Has actuals in JVM'")!>foo<!>(): Int
|
||||
@@ -0,0 +1,6 @@
|
||||
MODULE base_common { platform=[JVM, JS, Native] }
|
||||
MODULE base_jvm { platform=[JVM] }
|
||||
MODULE user_jvm { platform=[JVM] }
|
||||
|
||||
base_jvm -> base_common { kind=DEPENDS_ON }
|
||||
user_jvm -> base_common { kind=DEPENDS_ON }
|
||||
@@ -0,0 +1,6 @@
|
||||
MODULE base_common { platform=[JVM, JS, Native] }
|
||||
MODULE user_common { platform=[JVM, JS, Native] }
|
||||
MODULE user_jvm { platform=[JVM] }
|
||||
|
||||
user_common -> base_common { kind=DEPENDS_ON }
|
||||
user_jvm -> user_common { kind=DEPENDS_ON }
|
||||
@@ -0,0 +1,3 @@
|
||||
actual class <!LINE_MARKER("descr='Has declaration in common module'")!>Expected<!> {
|
||||
actual val <!LINE_MARKER("descr='Has declaration in common module'")!>some<!> = Some()
|
||||
}
|
||||
-3
@@ -1,3 +0,0 @@
|
||||
actual class <lineMarker>Expected</lineMarker> {
|
||||
actual val <lineMarker>some</lineMarker> = Some()
|
||||
}
|
||||
@@ -1,3 +1,3 @@
|
||||
expect fun <lineMarker descr="Has actuals in JVM">foo</lineMarker>(): Int
|
||||
expect fun <!LINE_MARKER("descr='Has actuals in JVM'")!>foo<!>(): Int
|
||||
|
||||
expect fun <lineMarker descr="Has actuals in JVM">foo</lineMarker>(arg: Int): Int
|
||||
expect fun <!LINE_MARKER("descr='Has actuals in JVM'")!>foo<!>(arg: Int): Int
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
MODULE common { platform=[JVM, JS, Native] }
|
||||
MODULE jvm { platform=[JVM] }
|
||||
|
||||
jvm -> common { kind=DEPENDS_ON }
|
||||
+2
-14
@@ -5,22 +5,10 @@
|
||||
|
||||
package org.jetbrains.kotlin.idea.caches.resolve
|
||||
|
||||
import org.jetbrains.kotlin.idea.multiplatform.setupMppProjectFromDirStructure
|
||||
import org.jetbrains.kotlin.idea.codeMetaInfo.AbstractLineMarkerCodeMetaInfoTest
|
||||
import org.jetbrains.kotlin.idea.test.PluginTestCaseBase
|
||||
import java.io.File
|
||||
|
||||
abstract class AbstractMultiModuleLineMarkerTest : AbstractMultiModuleHighlightingTest() {
|
||||
abstract class AbstractMultiModuleLineMarkerTest : AbstractLineMarkerCodeMetaInfoTest() {
|
||||
|
||||
override fun getTestDataPath() = PluginTestCaseBase.getTestDataPathBase() + "/multiModuleLineMarker/"
|
||||
|
||||
override val shouldCheckLineMarkers = true
|
||||
|
||||
override val shouldCheckResult = false
|
||||
|
||||
override fun doTestLineMarkers() = true
|
||||
|
||||
protected fun doTest(path: String) {
|
||||
setupMppProjectFromDirStructure(File(path))
|
||||
checkLineMarkersInProject()
|
||||
}
|
||||
}
|
||||
@@ -29,7 +29,9 @@ import com.intellij.testFramework.runInEdtAndWait
|
||||
import com.intellij.util.io.exists
|
||||
import gnu.trove.TIntArrayList
|
||||
import org.jetbrains.kotlin.checkers.BaseDiagnosticsTest
|
||||
import org.jetbrains.kotlin.checkers.diagnostics.DebugInfoDiagnostic
|
||||
import org.jetbrains.kotlin.checkers.diagnostics.SyntaxErrorDiagnostic
|
||||
import org.jetbrains.kotlin.checkers.diagnostics.factories.DebugInfoDiagnosticFactory0
|
||||
import org.jetbrains.kotlin.checkers.utils.CheckerTestUtil
|
||||
import org.jetbrains.kotlin.checkers.utils.DiagnosticsRenderingConfiguration
|
||||
import org.jetbrains.kotlin.daemon.common.OSKind
|
||||
@@ -49,9 +51,11 @@ import org.jetbrains.kotlin.idea.stubs.AbstractMultiModuleTest
|
||||
import org.jetbrains.kotlin.idea.util.sourceRoots
|
||||
import org.jetbrains.kotlin.psi.KtFile
|
||||
import org.jetbrains.kotlin.test.KotlinTestUtils
|
||||
import org.junit.Ignore
|
||||
import java.io.File
|
||||
import java.nio.file.Paths
|
||||
|
||||
@Ignore
|
||||
class CodeMetaInfoTestCase(
|
||||
val codeMetaInfoTypes: Collection<AbstractCodeMetaInfoRenderConfiguration>,
|
||||
val checkNoDiagnosticError: Boolean = false
|
||||
@@ -158,12 +162,11 @@ class CodeMetaInfoTestCase(
|
||||
codeMetaInfo.platforms.add(OSKind.current.toString())
|
||||
}
|
||||
}
|
||||
if (parsedMetaInfo.isNotEmpty())
|
||||
parsedMetaInfo.forEach {
|
||||
if (it.platforms.isNotEmpty() && OSKind.current.toString() !in it.platforms) codeMetaInfoForCheck.add(
|
||||
it
|
||||
)
|
||||
}
|
||||
parsedMetaInfo.forEach {
|
||||
if (it.platforms.isNotEmpty() && OSKind.current.toString() !in it.platforms) codeMetaInfoForCheck.add(
|
||||
it
|
||||
)
|
||||
}
|
||||
val textWithCodeMetaInfo = CodeMetaInfoRenderer.renderTagsToText(codeMetaInfoForCheck, myEditor.document.text)
|
||||
KotlinTestUtils.assertEqualsToFile(
|
||||
expectedFile,
|
||||
@@ -199,6 +202,11 @@ class CodeMetaInfoTestCase(
|
||||
val diagnostic: AbstractDiagnostic<*> = diagnosticCodeMetaInfo.diagnostic
|
||||
diagnostic.factory.toString() in (highlightingCodeMetaInfo as HighlightingCodeMetaInfo).highlightingInfo.description
|
||||
}
|
||||
is DebugInfoDiagnostic -> {
|
||||
val diagnostic: DebugInfoDiagnostic = diagnosticCodeMetaInfo.diagnostic
|
||||
diagnostic.factory == DebugInfoDiagnosticFactory0.MISSING_UNRESOLVED &&
|
||||
"[DEBUG] Reference is not resolved to anything, but is not marked unresolved" in (highlightingCodeMetaInfo as HighlightingCodeMetaInfo).highlightingInfo.description
|
||||
}
|
||||
else -> throw java.lang.IllegalArgumentException("Unknown diagnostic type: ${diagnosticCodeMetaInfo.diagnostic}")
|
||||
}
|
||||
},
|
||||
|
||||
+15
-8
@@ -17,14 +17,17 @@ import org.jetbrains.kotlin.idea.codeMetaInfo.models.LineMarkerCodeMetaInfo
|
||||
|
||||
|
||||
abstract class AbstractCodeMetaInfoRenderConfiguration(var renderParams: Boolean = true) {
|
||||
|
||||
private val clickOrPressRegex = "Click or press (.*)to navigate".toRegex() //We have different hotkeys on different platforms
|
||||
open fun asString(codeMetaInfo: CodeMetaInfo) = codeMetaInfo.getTag() + getPlatformsString(codeMetaInfo)
|
||||
|
||||
open fun getAdditionalParams(codeMetaInfo: CodeMetaInfo) = ""
|
||||
|
||||
protected fun sanitizeLineMarkerTooltip(originalText: String?): String {
|
||||
if (originalText == null) return "null"
|
||||
val noHtmlTags = StringUtil.removeHtmlTags(originalText).replace(" ", "")
|
||||
val noHtmlTags = StringUtil.removeHtmlTags(originalText)
|
||||
.replace(" ", "")
|
||||
.replace(clickOrPressRegex, "")
|
||||
.trim()
|
||||
return sanitizeLineBreaks(noHtmlTags)
|
||||
}
|
||||
|
||||
@@ -79,15 +82,16 @@ open class DiagnosticCodeMetaInfoRenderConfiguration(
|
||||
}
|
||||
}
|
||||
|
||||
open class LineMarkerRenderConfiguration(val renderDescription: Boolean = true) : AbstractCodeMetaInfoRenderConfiguration() {
|
||||
open class LineMarkerRenderConfiguration(var renderDescription: Boolean = true) : AbstractCodeMetaInfoRenderConfiguration() {
|
||||
override fun asString(codeMetaInfo: CodeMetaInfo): String {
|
||||
if (codeMetaInfo !is LineMarkerCodeMetaInfo) return ""
|
||||
return getTag() + if (renderParams) "(\"${getParamsString(codeMetaInfo)}\")" else ""
|
||||
return getTag() + getParamsString(codeMetaInfo)
|
||||
}
|
||||
|
||||
fun getTag() = "LINE_MARKER"
|
||||
|
||||
private fun getParamsString(lineMarkerCodeMetaInfo: LineMarkerCodeMetaInfo): String {
|
||||
if (!renderParams) return ""
|
||||
val params = mutableListOf<String>()
|
||||
|
||||
if (renderDescription)
|
||||
@@ -95,7 +99,8 @@ open class LineMarkerRenderConfiguration(val renderDescription: Boolean = true)
|
||||
|
||||
params.add(getAdditionalParams(lineMarkerCodeMetaInfo))
|
||||
|
||||
return params.filter { it.isNotEmpty() }.joinToString("; ")
|
||||
val paramsString = params.filter { it.isNotEmpty() }.joinToString("; ")
|
||||
return if (paramsString.isEmpty()) "" else "(\"$paramsString\")"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -107,14 +112,15 @@ open class HighlightingRenderConfiguration(
|
||||
|
||||
override fun asString(codeMetaInfo: CodeMetaInfo): String {
|
||||
if (codeMetaInfo !is HighlightingCodeMetaInfo) return ""
|
||||
return getTag() + if (renderParams) "(${getParamsString(codeMetaInfo)})" else ""
|
||||
return getTag() + getParamsString(codeMetaInfo)
|
||||
}
|
||||
|
||||
fun getTag() = "HIGHLIGHTING"
|
||||
|
||||
private fun getParamsString(highlightingCodeMetaInfo: HighlightingCodeMetaInfo): String {
|
||||
val params = mutableListOf<String>()
|
||||
if (!renderParams) return ""
|
||||
|
||||
val params = mutableListOf<String>()
|
||||
if (renderSeverity)
|
||||
params.add("severity='${highlightingCodeMetaInfo.highlightingInfo.severity}'")
|
||||
if (renderDescription)
|
||||
@@ -123,7 +129,8 @@ open class HighlightingRenderConfiguration(
|
||||
params.add("textAttributesKey='${highlightingCodeMetaInfo.highlightingInfo.forcedTextAttributesKey}'")
|
||||
|
||||
params.add(getAdditionalParams(highlightingCodeMetaInfo))
|
||||
val paramsString = params.filter { it.isNotEmpty() }.joinToString("; ")
|
||||
|
||||
return params.filter { it.isNotEmpty() }.joinToString("; ")
|
||||
return if (paramsString.isEmpty()) "" else "(\"$paramsString\")"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user