fix: remove unnecessary warnings for export declarations.
This commit is contained in:
+1
-1
@@ -23,7 +23,7 @@ var x2: C<!>
|
||||
|
||||
@JsExport
|
||||
class A(
|
||||
<!NON_EXPORTABLE_TYPE("property; C"), NON_EXPORTABLE_TYPE("parameter; C")!>val x: C<!>,
|
||||
<!NON_EXPORTABLE_TYPE("parameter; C")!>val x: C<!>,
|
||||
<!NON_EXPORTABLE_TYPE("parameter; C")!>y: C<!>
|
||||
) {
|
||||
<!NON_EXPORTABLE_TYPE("return; C")!>fun foo(<!NON_EXPORTABLE_TYPE("parameter; C")!>x: C<!>)<!> = x
|
||||
|
||||
Vendored
+8
@@ -15,3 +15,11 @@ class A<<!NON_EXPORTABLE_TYPE("upper bound; C")!>T : C<!>, <!NON_EXPORTABLE_TYPE
|
||||
|
||||
@JsExport
|
||||
interface I2<<!NON_EXPORTABLE_TYPE("upper bound; C"), NON_EXPORTABLE_TYPE("upper bound; I")!>T<!>> where T : C, T : I
|
||||
|
||||
@JsExport
|
||||
class B<T>(val a: T, <!NON_EXPORTABLE_TYPE!>val b: Comparable<T><!>) {
|
||||
<!NON_EXPORTABLE_TYPE!>val c: Comparable<T><!> = b
|
||||
}
|
||||
|
||||
@JsExport
|
||||
class D<T>(val a: T, val b: Array<T>)
|
||||
|
||||
Vendored
+19
@@ -10,6 +10,16 @@ package foo {
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
@kotlin.js.JsExport public final class B</*0*/ T> {
|
||||
public constructor B</*0*/ T>(/*0*/ a: T, /*1*/ b: kotlin.Comparable<T>)
|
||||
public final val a: T
|
||||
public final val b: kotlin.Comparable<T>
|
||||
public final val c: kotlin.Comparable<T>
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public abstract class C {
|
||||
public constructor C()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
@@ -17,6 +27,15 @@ package foo {
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
@kotlin.js.JsExport public final class D</*0*/ T> {
|
||||
public constructor D</*0*/ T>(/*0*/ a: T, /*1*/ b: kotlin.Array<T>)
|
||||
public final val a: T
|
||||
public final val b: kotlin.Array<T>
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public interface I {
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
|
||||
+3
@@ -16,6 +16,7 @@ import org.jetbrains.kotlin.js.translate.utils.AnnotationsUtils
|
||||
import org.jetbrains.kotlin.psi.KtAnnotationEntry
|
||||
import org.jetbrains.kotlin.psi.KtDeclaration
|
||||
import org.jetbrains.kotlin.psi.KtNamedDeclaration
|
||||
import org.jetbrains.kotlin.psi.KtParameter
|
||||
import org.jetbrains.kotlin.resolve.BindingContext
|
||||
import org.jetbrains.kotlin.resolve.BindingTrace
|
||||
import org.jetbrains.kotlin.resolve.DescriptorToSourceUtils
|
||||
@@ -104,6 +105,7 @@ object JsExportDeclarationChecker : DeclarationChecker {
|
||||
}
|
||||
|
||||
is PropertyDescriptor -> {
|
||||
if (declaration is KtParameter) return
|
||||
if (descriptor.isExtensionProperty) {
|
||||
reportWrongExportedDeclaration("extension property")
|
||||
return
|
||||
@@ -189,6 +191,7 @@ object JsExportDeclarationChecker : DeclarationChecker {
|
||||
val nonNullable = makeNotNullable()
|
||||
|
||||
val isPrimitiveExportableType = nonNullable.isAnyOrNullableAny() ||
|
||||
nonNullable.isTypeParameter() ||
|
||||
nonNullable.isDynamic() ||
|
||||
nonNullable.isBoolean() ||
|
||||
KotlinBuiltIns.isThrowableOrNullableThrowable(nonNullable) ||
|
||||
|
||||
Reference in New Issue
Block a user