CreateExpect: shouldn't generate expect declaration from actual function with private, lateinit or const

#KT-33930 Fixed
This commit is contained in:
Dmitry Gridin
2019-10-02 12:11:27 +07:00
parent 9da6dcf840
commit eaa07dac17
19 changed files with 82 additions and 20 deletions
@@ -0,0 +1 @@
// DISABLE-ERRORS
@@ -0,0 +1,5 @@
// "Create expected function in common module testModule_Common" "true"
// SHOULD_FAIL_WITH: "The declaration has `private` modifier"
// DISABLE-ERRORS
private actual fun <caret>s() = "s"
@@ -0,0 +1 @@
// DISABLE-ERRORS
@@ -0,0 +1,5 @@
// "Create expected property in common module testModule_Common" "true"
// SHOULD_FAIL_WITH: "The declaration has `const` modifier"
// DISABLE-ERRORS
actual const val <caret>s: String = "Hello"
@@ -0,0 +1 @@
// DISABLE-ERRORS
@@ -0,0 +1,5 @@
// "Create expected property in common module testModule_Common" "true"
// SHOULD_FAIL_WITH: "The declaration has `lateinit` modifier"
// DISABLE-ERRORS
actual lateinit var <caret>s: String
@@ -0,0 +1 @@
// DISABLE-ERRORS
@@ -0,0 +1,5 @@
// "Create expected property in common module testModule_Common" "true"
// SHOULD_FAIL_WITH: "The declaration has `private` modifier"
// DISABLE-ERRORS
private actual val <caret>s: String = "s"
@@ -4,7 +4,6 @@
annotation class CommonAnnotation
expect class My {
tailrec fun foo(arg: Int): Int
var some: Boolean
@CommonAnnotation
fun initialize()
@@ -11,7 +11,7 @@ actual class <caret>My {
}
// Here we will have an error (lateinit is not supported on both sides)
actual lateinit var some: Boolean
lateinit var some: Boolean
@CommonAnnotation
actual fun initialize() {
@@ -0,0 +1,2 @@
These declarations cannot be transformed:
actual lateinit var some: Boolean