[K/JS] Exclude componentN methods from JsExport

This commit is contained in:
Artem Kobzar
2023-01-17 21:18:50 +00:00
committed by Space Team
parent 3197a118ab
commit c4eca5f2df
18 changed files with 169 additions and 85 deletions
@@ -20,8 +20,6 @@ external interface JsResult {
val copy01: String
val copy10: String
val copy11: String
val component1: Int
val component2: Int
}
@JsModule("./dataClass.mjs")
@@ -41,12 +39,6 @@ fun box(): String {
if (res.copy11 != "[13::11]") {
return "Fail4: ${res.copy11}"
}
if (res.component1 != 3) {
return "Fail5: ${res.component1}"
}
if (res.component2 != 7) {
return "Fail6: ${res.component2}"
}
return "OK"
}
@@ -8,7 +8,5 @@ export default function() {
"copy01": p.copy(undefined, 11).toString(),
"copy10": p.copy(15).toString(),
"copy11": p.copy(13, 11).toString(),
"component1": p.component1(),
"component2": p.component2()
};
};
-2
View File
@@ -9,8 +9,6 @@ module.exports = function() {
"copy01": p.copy(undefined, 11).toString(),
"copy10": p.copy(15).toString(),
"copy11": p.copy(13, 11).toString(),
"component1": p.component1(),
"component2": p.component2()
};
};
-11
View File
@@ -19,8 +19,6 @@ external interface JsResult {
val copy01: String
val copy10: String
val copy11: String
val component1: Int
val component2: Int
}
@JsModule("lib")
@@ -40,15 +38,6 @@ fun box(): String {
if (res.copy11 != "[13::11]") {
return "Fail4: ${res.copy11}"
}
if (res.component1 != 3) {
return "Fail5: ${res.component1}"
}
if (res.component2 != 7) {
return "Fail6: ${res.component2}"
}
return "OK"
}
@@ -4,7 +4,6 @@ declare namespace JS_TESTS {
class TestDataClass {
constructor(name: string);
get name(): string;
component1(): string;
copy(name?: string): foo.TestDataClass;
toString(): string;
hashCode(): number;
@@ -20,12 +19,24 @@ declare namespace JS_TESTS {
constructor(a: string, b?: Nullable<number>);
get a(): string;
get b(): Nullable<number>;
component1(): string;
component2(): Nullable<number>;
copy(a?: string, b?: Nullable<number>): foo.KT39423;
toString(): string;
hashCode(): number;
equals(other: Nullable<any>): boolean;
}
abstract class WithComponent1 {
constructor();
abstract component1(): string;
}
class Test2 extends foo.WithComponent1 {
constructor(value1: string, value2: string);
get value1(): string;
get value2(): string;
component1(): string;
copy(value1?: string, value2?: string): foo.Test2;
toString(): string;
hashCode(): number;
equals(other: Nullable<any>): boolean;
}
}
}
@@ -24,4 +24,12 @@ data class TestDataClass(val name: String) {
data class KT39423(
val a: String,
val b: Int? = null
)
)
abstract class WithComponent1 {
abstract fun component1(): String
}
data class Test2(val value1: String, val value2: String): WithComponent1()
@@ -1,6 +1,7 @@
"use strict";
var TestDataClass = JS_TESTS.foo.TestDataClass;
var KT39423 = JS_TESTS.foo.KT39423;
var Test2 = JS_TESTS.foo.Test2;
function assert(condition) {
if (!condition) {
throw "Assertion failed";
@@ -8,7 +9,6 @@ function assert(condition) {
}
function box() {
assert(new TestDataClass("Test").name === "Test");
assert(new TestDataClass("Test").component1() === "Test");
assert(new TestDataClass("Test").copy("NewTest").name === "NewTest");
assert(new TestDataClass("Test").toString() === "TestDataClass(name=Test)");
assert(new TestDataClass("Test").hashCode() === new TestDataClass("Test").hashCode());
@@ -22,8 +22,6 @@ function box() {
assert(new KT39423("Test", null).b === null);
assert(new KT39423("Test", 42).a === "Test");
assert(new KT39423("Test", 42).b === 42);
assert(new KT39423("Test", 42).component1() === "Test");
assert(new KT39423("Test", 42).component2() === 42);
assert(new KT39423("Test", 42).copy("NewTest").a === "NewTest");
assert(new KT39423("Test", 42).copy("NewTest").b === 42);
assert(new KT39423("Test", 42).copy("Test", null).a === "Test");
@@ -31,5 +29,12 @@ function box() {
assert(new KT39423("Test").toString() === "KT39423(a=Test, b=null)");
assert(new KT39423("Test", null).toString() === "KT39423(a=Test, b=null)");
assert(new KT39423("Test", 42).toString() === "KT39423(a=Test, b=42)");
assert(new Test2("1", "2").value1 === "1");
assert(new Test2("1", "2").value2 === "2");
assert(new Test2("1", "2").copy("3").value1 === "3");
assert(new Test2("1", "2").copy("3").value2 === "2");
assert(new Test2("1", "2").copy(undefined, "3").value1 === "1");
assert(new Test2("1", "2").copy(undefined, "3").value2 === "3");
assert(new Test2("1", "2").component1() === "1");
return "OK";
}
@@ -1,5 +1,6 @@
import TestDataClass = JS_TESTS.foo.TestDataClass;
import KT39423 = JS_TESTS.foo.KT39423;
import Test2 = JS_TESTS.foo.Test2;
function assert(condition: boolean) {
if (!condition) {
@@ -9,7 +10,6 @@ function assert(condition: boolean) {
function box(): string {
assert(new TestDataClass("Test").name === "Test");
assert(new TestDataClass("Test").component1() === "Test");
assert(new TestDataClass("Test").copy("NewTest").name === "NewTest");
assert(new TestDataClass("Test").toString() === "TestDataClass(name=Test)");
@@ -29,9 +29,6 @@ function box(): string {
assert(new KT39423("Test", 42).a === "Test")
assert(new KT39423("Test", 42).b === 42)
assert(new KT39423("Test", 42).component1() === "Test")
assert(new KT39423("Test", 42).component2() === 42)
assert(new KT39423("Test", 42).copy("NewTest").a === "NewTest")
assert(new KT39423("Test", 42).copy("NewTest").b === 42)
assert(new KT39423("Test", 42).copy("Test", null).a === "Test")
@@ -41,5 +38,15 @@ function box(): string {
assert(new KT39423("Test", null).toString() === "KT39423(a=Test, b=null)")
assert(new KT39423("Test", 42).toString() === "KT39423(a=Test, b=42)")
assert(new Test2("1", "2").value1 === "1")
assert(new Test2("1", "2").value2 === "2")
assert(new Test2("1", "2").copy("3").value1 === "3")
assert(new Test2("1", "2").copy("3").value2 === "2")
assert(new Test2("1", "2").copy(undefined, "3").value1 === "1")
assert(new Test2("1", "2").copy(undefined, "3").value2 === "3")
assert(new Test2("1", "2").component1() === "1")
return "OK";
}
@@ -4,7 +4,6 @@ declare namespace JS_TESTS {
class TestDataClass {
constructor(name: string);
get name(): string;
component1(): string;
copy(name?: string): foo.TestDataClass;
toString(): string;
hashCode(): number;
@@ -20,12 +19,24 @@ declare namespace JS_TESTS {
constructor(a: string, b?: Nullable<number>);
get a(): string;
get b(): Nullable<number>;
component1(): string;
component2(): Nullable<number>;
copy(a?: string, b?: Nullable<number>): foo.KT39423;
toString(): string;
hashCode(): number;
equals(other: Nullable<any>): boolean;
}
abstract class WithComponent1 {
constructor();
abstract component1(): string;
}
class Test2 extends foo.WithComponent1 {
constructor(value1: string, value2: string);
get value1(): string;
get value2(): string;
component1(): string;
copy(value1?: string, value2?: string): foo.Test2;
toString(): string;
hashCode(): number;
equals(other: Nullable<any>): boolean;
}
}
}
@@ -20,4 +20,12 @@ data class TestDataClass(val name: String) {
data class KT39423(
val a: String,
val b: Int? = null
)
)
@JsExport
abstract class WithComponent1 {
abstract fun component1(): String
}
@JsExport
data class Test2(val value1: String, val value2: String): WithComponent1()
@@ -1,6 +1,7 @@
"use strict";
var TestDataClass = JS_TESTS.foo.TestDataClass;
var KT39423 = JS_TESTS.foo.KT39423;
var Test2 = JS_TESTS.foo.Test2;
function assert(condition) {
if (!condition) {
throw "Assertion failed";
@@ -8,7 +9,6 @@ function assert(condition) {
}
function box() {
assert(new TestDataClass("Test").name === "Test");
assert(new TestDataClass("Test").component1() === "Test");
assert(new TestDataClass("Test").copy("NewTest").name === "NewTest");
assert(new TestDataClass("Test").toString() === "TestDataClass(name=Test)");
assert(new TestDataClass("Test").hashCode() === new TestDataClass("Test").hashCode());
@@ -22,8 +22,6 @@ function box() {
assert(new KT39423("Test", null).b === null);
assert(new KT39423("Test", 42).a === "Test");
assert(new KT39423("Test", 42).b === 42);
assert(new KT39423("Test", 42).component1() === "Test");
assert(new KT39423("Test", 42).component2() === 42);
assert(new KT39423("Test", 42).copy("NewTest").a === "NewTest");
assert(new KT39423("Test", 42).copy("NewTest").b === 42);
assert(new KT39423("Test", 42).copy("Test", null).a === "Test");
@@ -31,5 +29,12 @@ function box() {
assert(new KT39423("Test").toString() === "KT39423(a=Test, b=null)");
assert(new KT39423("Test", null).toString() === "KT39423(a=Test, b=null)");
assert(new KT39423("Test", 42).toString() === "KT39423(a=Test, b=42)");
assert(new Test2("1", "2").value1 === "1");
assert(new Test2("1", "2").value2 === "2");
assert(new Test2("1", "2").copy("3").value1 === "3");
assert(new Test2("1", "2").copy("3").value2 === "2");
assert(new Test2("1", "2").copy(undefined, "3").value1 === "1");
assert(new Test2("1", "2").copy(undefined, "3").value2 === "3");
assert(new Test2("1", "2").component1() === "1");
return "OK";
}
@@ -1,5 +1,6 @@
import TestDataClass = JS_TESTS.foo.TestDataClass;
import KT39423 = JS_TESTS.foo.KT39423;
import Test2 = JS_TESTS.foo.Test2;
function assert(condition: boolean) {
if (!condition) {
@@ -9,7 +10,6 @@ function assert(condition: boolean) {
function box(): string {
assert(new TestDataClass("Test").name === "Test");
assert(new TestDataClass("Test").component1() === "Test");
assert(new TestDataClass("Test").copy("NewTest").name === "NewTest");
assert(new TestDataClass("Test").toString() === "TestDataClass(name=Test)");
@@ -29,9 +29,6 @@ function box(): string {
assert(new KT39423("Test", 42).a === "Test")
assert(new KT39423("Test", 42).b === 42)
assert(new KT39423("Test", 42).component1() === "Test")
assert(new KT39423("Test", 42).component2() === 42)
assert(new KT39423("Test", 42).copy("NewTest").a === "NewTest")
assert(new KT39423("Test", 42).copy("NewTest").b === 42)
assert(new KT39423("Test", 42).copy("Test", null).a === "Test")
@@ -41,5 +38,15 @@ function box(): string {
assert(new KT39423("Test", null).toString() === "KT39423(a=Test, b=null)")
assert(new KT39423("Test", 42).toString() === "KT39423(a=Test, b=42)")
assert(new Test2("1", "2").value1 === "1")
assert(new Test2("1", "2").value2 === "2")
assert(new Test2("1", "2").copy("3").value1 === "3")
assert(new Test2("1", "2").copy("3").value2 === "2")
assert(new Test2("1", "2").copy(undefined, "3").value1 === "1")
assert(new Test2("1", "2").copy(undefined, "3").value2 === "3")
assert(new Test2("1", "2").component1() === "1")
return "OK";
}
@@ -4,7 +4,6 @@ declare namespace JS_TESTS {
class C1 {
constructor(value: string);
get value(): string;
component1(): string;
copy(value?: string): foo.bar.baz.C1;
toString(): string;
hashCode(): number;
@@ -16,7 +15,6 @@ declare namespace JS_TESTS {
class C2 {
constructor(value: string);
get value(): string;
component1(): string;
copy(value?: string): a.b.C2;
toString(): string;
hashCode(): number;
@@ -27,7 +25,6 @@ declare namespace JS_TESTS {
class C3 {
constructor(value: string);
get value(): string;
component1(): string;
copy(value?: string): C3;
toString(): string;
hashCode(): number;
@@ -4,7 +4,6 @@ declare namespace JS_TESTS {
class C1 {
constructor(value: string);
get value(): string;
component1(): string;
copy(value?: string): foo.bar.baz.C1;
toString(): string;
hashCode(): number;
@@ -16,7 +15,6 @@ declare namespace JS_TESTS {
class C2 {
constructor(value: string);
get value(): string;
component1(): string;
copy(value?: string): a.b.C2;
toString(): string;
hashCode(): number;
@@ -27,7 +25,6 @@ declare namespace JS_TESTS {
class C3 {
constructor(value: string);
get value(): string;
component1(): string;
copy(value?: string): C3;
toString(): string;
hashCode(): number;