JS: report errors on different external items:

* data classes
* val/var parameters of primary constructors
* enum entry with body
* anonymous `init {}` block in classes
This commit is contained in:
Alexey Andreev
2016-12-20 17:50:44 +03:00
parent 03682ee849
commit 79ba6a57d6
28 changed files with 179 additions and 28 deletions
+3 -1
View File
@@ -2,7 +2,9 @@
package foo
@JsModule("lib")
external class A(val x: Int = noImpl) {
external class A(x: Int = noImpl) {
val x: Int
fun foo(y: Int): Int = noImpl
}
+3 -1
View File
@@ -2,7 +2,9 @@
@file:JsModule("lib")
package foo
external class A(@native val x: Int = noImpl) {
external class A(@native x: Int = noImpl) {
val x: Int
fun foo(y: Int): Int = noImpl
}
@@ -3,7 +3,9 @@
@file:JsModule("lib")
package foo
external class A(@native val x: Int = noImpl) {
external class A(x: Int = noImpl) {
val x: Int
fun foo(y: Int): Int = noImpl
}
@@ -2,7 +2,9 @@
@file:JsNonModule
package foo
external class A(val x: Int = noImpl) {
external class A(x: Int = noImpl) {
val x: Int
fun foo(y: Int): Int = noImpl
}
@@ -4,7 +4,9 @@
@file:JsNonModule
package foo
external class A(val x: Int = noImpl) {
external class A(x: Int = noImpl) {
val x: Int
fun foo(y: Int): Int = noImpl
}
@@ -3,7 +3,9 @@
package foo
@JsName("A")
external open class B(val foo: String)
external open class B(foo: String) {
val foo: String
}
class C(s: String) : B(s)
@@ -4,7 +4,9 @@
package foo
@JsName("A")
external open class B(val foo: String)
external open class B(foo: String) {
val foo: String
}
// MODULE: main(module1)
// FILE: main.kt
@@ -4,7 +4,9 @@
@file:JsModule("native-lib")
package foo
external class A(val x: Int = noImpl) {
external class A(x: Int = noImpl) {
val x: Int
fun foo(y: Int): Int = noImpl
}
+3 -1
View File
@@ -1,6 +1,8 @@
package foo
external class A(val c: Int) {
external class A(c: Int) {
val c: Int
companion object {
val g: Int
val c: String = noImpl
@@ -1,6 +1,8 @@
package foo
internal external open class A(val a: Int) {
internal external open class A(a: Int) {
val a: Int
fun g(): Int = noImpl
fun m(): Int = noImpl
+8 -4
View File
@@ -87,7 +87,8 @@ external object Object {
fun test(): Int = noImpl
@JsName("AnotherClass")
class Class(val a: String) {
class Class(a: String) {
val a: String
var b: String = noImpl
fun test(): Int = noImpl
@@ -99,7 +100,8 @@ external object Object {
}
}
class Class(val a: String) {
class Class(a: String) {
val a: String
var b: String = noImpl
fun test(): Int = noImpl
@@ -135,7 +137,8 @@ external class Class {
fun test(): Int = noImpl
}
class Class(val a: String) {
class Class(a: String) {
val a: String
var b: String = noImpl
fun test(): Int = noImpl
@@ -174,7 +177,8 @@ external interface Trait {
fun test(): Int = noImpl
}
class Class(val a: String) {
class Class(a: String) {
val a: String
var b: String = noImpl
fun test(): Int = noImpl
@@ -1,6 +1,8 @@
package foo
internal external class A(val v: String)
internal external class A(v: String) {
val v: String
}
internal class B {
fun bar(a: A, extLambda: A.(Int, String) -> String): String = a.extLambda(7, "_rr_")
@@ -1,6 +1,8 @@
package foo
external class A(val v: String)
external class A(v: String) {
val v: String
}
external fun bar(a: A, extLambda: A.(Int, String) -> String): String = noImpl
@@ -1,6 +1,8 @@
package foo
external class A(val v: String) {
external class A(v: String) {
val v: String
fun m(i:Int, s:String): String = noImpl
}
+2 -1
View File
@@ -16,7 +16,8 @@ fun anotherCount(vararg a: Int) = anotherParamCount(*a)
external fun test3(bar: Bar, dummy: Int, vararg args: Int): Boolean = noImpl
external class Bar(val size: Int, order: Int = noImpl) {
external class Bar(size: Int, order: Int = noImpl) {
val size: Int
fun test(order: Int, dummy: Int, vararg args: Int): Boolean = noImpl
companion object {
fun startNewTest(): Boolean = noImpl
+3 -1
View File
@@ -7,7 +7,9 @@ external class A(x: Int) {
fun foo(): Int = noImpl
class B(val value: Int) {
class B(value: Int) {
val value: Int
fun bar(): Int = noImpl
}
}