diff --git a/js/js.libraries/src/core/json.kt b/js/js.libraries/src/core/json.kt index 1b03de1fe68..05b96cfadc6 100644 --- a/js/js.libraries/src/core/json.kt +++ b/js/js.libraries/src/core/json.kt @@ -2,12 +2,9 @@ package js import js.library -native -public class Json() { - library("jsonGet") - fun get(parameterName: String): Any? - library("jsonSet") - fun set(parameterName: String, value: Any?): Unit +native public class Json() { + fun get(propertyName: String): Any? = js.noImpl + fun set(propertyName: String, value: Any?): Unit = js.noImpl } library("jsonFromTuples") diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/functions/factories/TopLevelFIF.java b/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/functions/factories/TopLevelFIF.java index 0557dcfc710..267fe816782 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/functions/factories/TopLevelFIF.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/functions/factories/TopLevelFIF.java @@ -165,6 +165,9 @@ public final class TopLevelFIF extends CompositeFIF { String[] javaUtil = {"java", "util"}; add(pattern(javaUtil, "HashMap", ""), new MapSelectImplementationIntrinsic(false)); add(pattern(javaUtil, "HashSet", ""), new MapSelectImplementationIntrinsic(true)); + + add(pattern("js", "Json", "get"), ArrayFIF.GET_INTRINSIC); + add(pattern("js", "Json", "set"), ArrayFIF.SET_INTRINSIC); } private abstract static class NativeMapGetSet extends CallParametersAwareFunctionIntrinsic { diff --git a/js/js.translator/testFiles/kotlin_lib.js b/js/js.translator/testFiles/kotlin_lib.js index 35c51abdef7..c10abe19d55 100644 --- a/js/js.translator/testFiles/kotlin_lib.js +++ b/js/js.translator/testFiles/kotlin_lib.js @@ -555,16 +555,6 @@ String.prototype.contains = function (s) { return res; }; - //TODO: use intrinsic - Kotlin.jsonSet = function (obj, attrName, value) { - obj[attrName] = value; - }; - - Kotlin.jsonGet = function (obj, attrName) { - return obj[attrName]; - }; - - Kotlin.jsonAddProperties = function (obj1, obj2) { for (var p in obj2) { if (obj2.hasOwnProperty(p)) {