Create actual: add type accessibility checker

#KT-28740 Fixed
This commit is contained in:
Dmitry Gridin
2019-09-06 20:49:23 +07:00
parent fcaa897b9f
commit 57d25fc5f5
16 changed files with 130 additions and 34 deletions
@@ -0,0 +1,7 @@
// "Create actual class for module testModule_JVM (JVM)" "true"
// SHOULD_FAIL_WITH: Cannot generate class: Type <Unknown> is not accessible from target module
// DISABLE-ERRORS
expect class Foo<caret> {
var bar
}
@@ -0,0 +1,8 @@
expect class F<T> {
val a: List<T>
val b: T
fun <F> c(t: T): F
class M<V> {
val v: K
}
}
@@ -0,0 +1,5 @@
// "Add missing actual members" "true"
// SHOULD_FAIL_WITH: Some types are not accessible:,class M {...} -&gt; Type &lt;Unknown&gt; is not accessible from target module
// DISABLE-ERRORS
actual class <caret>F<T>
@@ -0,0 +1,14 @@
// "Add missing actual members" "true"
// SHOULD_FAIL_WITH: Some types are not accessible:,class M {...} -&gt; Type &lt;Unknown&gt; is not accessible from target module
// DISABLE-ERRORS
actual class <caret>F<T> {
actual val a: List<T>
get() = TODO("not implemented") //To change initializer of created properties use File | Settings | File Templates.
actual val b: T
get() = TODO("not implemented") //To change initializer of created properties use File | Settings | File Templates.
actual fun <F> c(t: T): F {
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
}
}
@@ -0,0 +1,5 @@
expect class F {
val a
val b: Int
val c: Gdssmem
}
@@ -0,0 +1,5 @@
// "Add missing actual members" "true"
// SHOULD_FAIL_WITH: Some types are not accessible:,val a -&gt; Type &lt;Unknown&gt; is not accessible from target module,val c: Gdssmem -&gt; Type &lt;Unknown&gt; is not accessible from target module
// DISABLE-ERRORS
actual class <caret>F
@@ -0,0 +1,8 @@
// "Add missing actual members" "true"
// SHOULD_FAIL_WITH: Some types are not accessible:,val a -&gt; Type &lt;Unknown&gt; is not accessible from target module,val c: Gdssmem -&gt; Type &lt;Unknown&gt; is not accessible from target module
// DISABLE-ERRORS
actual class <caret>F {
actual val b: Int
get() = TODO("not implemented") //To change initializer of created properties use File | Settings | File Templates.
}