< prev index next >

test/script/nosecurity/JDK-8067215.js

Print this page

        

*** 30,40 **** * @fork */ var intType = Java.type("int"); var doubleType = Java.type("double"); - var longType = Java.type("long"); var objectType = Java.type("java.lang.Object"); var Context = Java.type("jdk.nashorn.internal.runtime.Context"); var JSType = Java.type("jdk.nashorn.internal.runtime.JSType"); --- 30,39 ----
*** 56,82 **** if (prop.hasDualFields() !== dualFields) { throw new Error("Wrong property flags: " + prop); } if (prop.getType() != getExpectedType(obj[key])) { throw new Error("Wrong property type: " + prop.getType() + " // " + getExpectedType(obj[key])); - } } } function getExpectedType(value) { if (!dualFields) { return objectType.class; } ! if (JSType.isRepresentableAsInt(value)) { ! return intType.class; ! } ! if (JSType.isRepresentableAsLong(value)) { ! return longType.class; ! } ! if (JSType.isNumber(value)) { ! return doubleType.class; } return objectType.class; } var o = { --- 55,74 ---- if (prop.hasDualFields() !== dualFields) { throw new Error("Wrong property flags: " + prop); } if (prop.getType() != getExpectedType(obj[key])) { throw new Error("Wrong property type: " + prop.getType() + " // " + getExpectedType(obj[key])); } } } function getExpectedType(value) { if (!dualFields) { return objectType.class; } ! if (typeof value === "number") { ! return JSType.isRepresentableAsInt(value) ? intType.class : doubleType.class; } return objectType.class; } var o = {
< prev index next >