Java Code Examples for jdk.nashorn.internal.runtime.ScriptRuntime#EMPTY_ARRAY
The following examples show how to use
jdk.nashorn.internal.runtime.ScriptRuntime#EMPTY_ARRAY .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: NativeFunction.java From openjdk-jdk8u-backup with GNU General Public License v2.0 | 6 votes |
/** * ECMA 15.3.4.4 Function.prototype.call (thisArg [ , arg1 [ , arg2, ... ] ] ) * * @param self self reference * @param args arguments for call * @return result of call */ @Function(attributes = Attribute.NOT_ENUMERABLE, arity = 1) public static Object call(final Object self, final Object... args) { checkCallable(self); final Object thiz = (args.length == 0) ? UNDEFINED : args[0]; Object[] arguments; if (args.length > 1) { arguments = new Object[args.length - 1]; System.arraycopy(args, 1, arguments, 0, arguments.length); } else { arguments = ScriptRuntime.EMPTY_ARRAY; } if (self instanceof ScriptFunction) { return ScriptRuntime.apply((ScriptFunction)self, thiz, arguments); } else if (self instanceof JSObject) { return ((JSObject)self).call(thiz, arguments); } throw new AssertionError("should not reach here"); }
Example 2
Source File: NativeFunction.java From openjdk-8 with GNU General Public License v2.0 | 6 votes |
/** * ECMA 15.3.4.4 Function.prototype.call (thisArg [ , arg1 [ , arg2, ... ] ] ) * * @param self self reference * @param args arguments for call * @return result of call */ @Function(attributes = Attribute.NOT_ENUMERABLE, arity = 1) public static Object call(final Object self, final Object... args) { if (!(self instanceof ScriptFunction) && !(self instanceof JSObject)) { throw typeError("not.a.function", ScriptRuntime.safeToString(self)); } Object thiz = (args.length == 0) ? UNDEFINED : args[0]; Object[] arguments; if (args.length > 1) { arguments = new Object[args.length - 1]; System.arraycopy(args, 1, arguments, 0, arguments.length); } else { arguments = ScriptRuntime.EMPTY_ARRAY; } if (self instanceof ScriptFunction) { return ScriptRuntime.apply((ScriptFunction)self, thiz, arguments); } else if (self instanceof JSObject) { return ((JSObject)self).call(thiz, arguments); } throw new AssertionError("should not reach here"); }
Example 3
Source File: NativeFunction.java From openjdk-jdk8u with GNU General Public License v2.0 | 6 votes |
/** * ECMA 15.3.4.4 Function.prototype.call (thisArg [ , arg1 [ , arg2, ... ] ] ) * * @param self self reference * @param args arguments for call * @return result of call */ @Function(attributes = Attribute.NOT_ENUMERABLE, arity = 1) public static Object call(final Object self, final Object... args) { checkCallable(self); final Object thiz = (args.length == 0) ? UNDEFINED : args[0]; Object[] arguments; if (args.length > 1) { arguments = new Object[args.length - 1]; System.arraycopy(args, 1, arguments, 0, arguments.length); } else { arguments = ScriptRuntime.EMPTY_ARRAY; } if (self instanceof ScriptFunction) { return ScriptRuntime.apply((ScriptFunction)self, thiz, arguments); } else if (self instanceof JSObject) { return ((JSObject)self).call(thiz, arguments); } throw new AssertionError("should not reach here"); }
Example 4
Source File: NativeFunction.java From nashorn with GNU General Public License v2.0 | 6 votes |
/** * ECMA 15.3.4.4 Function.prototype.call (thisArg [ , arg1 [ , arg2, ... ] ] ) * * @param self self reference * @param args arguments for call * @return result of call */ @Function(attributes = Attribute.NOT_ENUMERABLE, arity = 1) public static Object call(final Object self, final Object... args) { if (!(self instanceof ScriptFunction) && !(self instanceof JSObject)) { throw typeError("not.a.function", ScriptRuntime.safeToString(self)); } Object thiz = (args.length == 0) ? UNDEFINED : args[0]; Object[] arguments; if (args.length > 1) { arguments = new Object[args.length - 1]; System.arraycopy(args, 1, arguments, 0, arguments.length); } else { arguments = ScriptRuntime.EMPTY_ARRAY; } if (self instanceof ScriptFunction) { return ScriptRuntime.apply((ScriptFunction)self, thiz, arguments); } else if (self instanceof JSObject) { return ((JSObject)self).call(thiz, arguments); } throw new AssertionError("should not reach here"); }
Example 5
Source File: NativeFunction.java From hottub with GNU General Public License v2.0 | 6 votes |
/** * ECMA 15.3.4.4 Function.prototype.call (thisArg [ , arg1 [ , arg2, ... ] ] ) * * @param self self reference * @param args arguments for call * @return result of call */ @Function(attributes = Attribute.NOT_ENUMERABLE, arity = 1) public static Object call(final Object self, final Object... args) { checkCallable(self); final Object thiz = (args.length == 0) ? UNDEFINED : args[0]; Object[] arguments; if (args.length > 1) { arguments = new Object[args.length - 1]; System.arraycopy(args, 1, arguments, 0, arguments.length); } else { arguments = ScriptRuntime.EMPTY_ARRAY; } if (self instanceof ScriptFunction) { return ScriptRuntime.apply((ScriptFunction)self, thiz, arguments); } else if (self instanceof JSObject) { return ((JSObject)self).call(thiz, arguments); } throw new AssertionError("should not reach here"); }
Example 6
Source File: NativeFunction.java From TencentKona-8 with GNU General Public License v2.0 | 5 votes |
/** * ECMA 15.3.4.5 Function.prototype.bind (thisArg [, arg1 [, arg2, ...]]) * * @param self self reference * @param args arguments for bind * @return function with bound arguments */ @Function(attributes = Attribute.NOT_ENUMERABLE, arity = 1) public static Object bind(final Object self, final Object... args) { final Object thiz = (args.length == 0) ? UNDEFINED : args[0]; Object[] arguments; if (args.length > 1) { arguments = new Object[args.length - 1]; System.arraycopy(args, 1, arguments, 0, arguments.length); } else { arguments = ScriptRuntime.EMPTY_ARRAY; } return Bootstrap.bindCallable(self, thiz, arguments); }
Example 7
Source File: NativeFunction.java From openjdk-jdk8u-backup with GNU General Public License v2.0 | 5 votes |
/** * ECMA 15.3.4.5 Function.prototype.bind (thisArg [, arg1 [, arg2, ...]]) * * @param self self reference * @param args arguments for bind * @return function with bound arguments */ @Function(attributes = Attribute.NOT_ENUMERABLE, arity = 1) public static Object bind(final Object self, final Object... args) { final Object thiz = (args.length == 0) ? UNDEFINED : args[0]; Object[] arguments; if (args.length > 1) { arguments = new Object[args.length - 1]; System.arraycopy(args, 1, arguments, 0, arguments.length); } else { arguments = ScriptRuntime.EMPTY_ARRAY; } return Bootstrap.bindCallable(self, thiz, arguments); }
Example 8
Source File: NativeError.java From openjdk-8-source with GNU General Public License v2.0 | 5 votes |
/** * Nashorn extension: Error.prototype.getStackTrace() * "stack" property is an array typed value containing {@link StackTraceElement} * objects of JavaScript stack frames. * * @param self self reference * * @return stack trace as a script array. */ @Function(attributes = Attribute.NOT_ENUMERABLE) public static Object getStackTrace(final Object self) { Global.checkObject(self); final ScriptObject sobj = (ScriptObject)self; final Object exception = ECMAException.getException(sobj); Object[] res; if (exception instanceof Throwable) { res = NashornException.getScriptFrames((Throwable)exception); } else { res = ScriptRuntime.EMPTY_ARRAY; } return new NativeArray(res); }
Example 9
Source File: NativeFunction.java From hottub with GNU General Public License v2.0 | 5 votes |
/** * ECMA 15.3.4.5 Function.prototype.bind (thisArg [, arg1 [, arg2, ...]]) * * @param self self reference * @param args arguments for bind * @return function with bound arguments */ @Function(attributes = Attribute.NOT_ENUMERABLE, arity = 1) public static Object bind(final Object self, final Object... args) { final Object thiz = (args.length == 0) ? UNDEFINED : args[0]; Object[] arguments; if (args.length > 1) { arguments = new Object[args.length - 1]; System.arraycopy(args, 1, arguments, 0, arguments.length); } else { arguments = ScriptRuntime.EMPTY_ARRAY; } return Bootstrap.bindCallable(self, thiz, arguments); }
Example 10
Source File: NativeError.java From openjdk-jdk8u with GNU General Public License v2.0 | 5 votes |
/** * Nashorn extension: Error.prototype.getStackTrace() * "stack" property is an array typed value containing {@link StackTraceElement} * objects of JavaScript stack frames. * * @param self self reference * * @return stack trace as a script array. */ @Function(attributes = Attribute.NOT_ENUMERABLE) public static Object getStackTrace(final Object self) { final ScriptObject sobj = Global.checkObject(self); final Object exception = ECMAException.getException(sobj); Object[] res; if (exception instanceof Throwable) { res = NashornException.getScriptFrames((Throwable)exception); } else { res = ScriptRuntime.EMPTY_ARRAY; } return new NativeArray(res); }
Example 11
Source File: NativeError.java From jdk8u_nashorn with GNU General Public License v2.0 | 5 votes |
/** * Nashorn extension: Error.prototype.getStackTrace() * "stack" property is an array typed value containing {@link StackTraceElement} * objects of JavaScript stack frames. * * @param self self reference * * @return stack trace as a script array. */ @Function(attributes = Attribute.NOT_ENUMERABLE) public static Object getStackTrace(final Object self) { final ScriptObject sobj = Global.checkObject(self); final Object exception = ECMAException.getException(sobj); Object[] res; if (exception instanceof Throwable) { res = NashornException.getScriptFrames((Throwable)exception); } else { res = ScriptRuntime.EMPTY_ARRAY; } return new NativeArray(res); }
Example 12
Source File: NashornScriptEngine.java From openjdk-8-source with GNU General Public License v2.0 | 5 votes |
private void setContextVariables(final ScriptObject ctxtGlobal, final ScriptContext ctxt) { // set "context" global variable via contextProperty - because this // property is non-writable contextProperty.setObjectValue(ctxtGlobal, ctxtGlobal, ctxt, false); Object args = ScriptObjectMirror.unwrap(ctxt.getAttribute("arguments"), ctxtGlobal); if (args == null || args == UNDEFINED) { args = ScriptRuntime.EMPTY_ARRAY; } // if no arguments passed, expose it if (! (args instanceof ScriptObject)) { args = ((GlobalObject)ctxtGlobal).wrapAsObject(args); ctxtGlobal.set("arguments", args, false); } }
Example 13
Source File: NativeError.java From nashorn with GNU General Public License v2.0 | 5 votes |
/** * Nashorn extension: Error.prototype.getStackTrace() * "stack" property is an array typed value containing {@link StackTraceElement} * objects of JavaScript stack frames. * * @param self self reference * * @return stack trace as a script array. */ @Function(attributes = Attribute.NOT_ENUMERABLE) public static Object getStackTrace(final Object self) { Global.checkObject(self); final ScriptObject sobj = (ScriptObject)self; final Object exception = ECMAException.getException(sobj); Object[] res; if (exception instanceof Throwable) { res = NashornException.getScriptFrames((Throwable)exception); } else { res = ScriptRuntime.EMPTY_ARRAY; } return new NativeArray(res); }
Example 14
Source File: NativeArray.java From jdk8u_nashorn with GNU General Public License v2.0 | 4 votes |
/** * ECMA 15.4.4.12 Array.prototype.splice ( start, deleteCount [ item1 [ , item2 [ , ... ] ] ] ) * * @param self self reference * @param args arguments * @return result of splice */ @Function(attributes = Attribute.NOT_ENUMERABLE, arity = 2) public static Object splice(final Object self, final Object... args) { final Object obj = Global.toObject(self); if (!(obj instanceof ScriptObject)) { return ScriptRuntime.UNDEFINED; } final Object start = args.length > 0 ? args[0] : ScriptRuntime.UNDEFINED; final Object deleteCount = args.length > 1 ? args[1] : ScriptRuntime.UNDEFINED; Object[] items; if (args.length > 2) { items = new Object[args.length - 2]; System.arraycopy(args, 2, items, 0, items.length); } else { items = ScriptRuntime.EMPTY_ARRAY; } final ScriptObject sobj = (ScriptObject)obj; final long len = JSType.toUint32(sobj.getLength()); final long relativeStart = JSType.toLong(start); final long actualStart = relativeStart < 0 ? Math.max(len + relativeStart, 0) : Math.min(relativeStart, len); final long actualDeleteCount = Math.min(Math.max(JSType.toLong(deleteCount), 0), len - actualStart); NativeArray returnValue; if (actualStart <= Integer.MAX_VALUE && actualDeleteCount <= Integer.MAX_VALUE && bulkable(sobj)) { try { returnValue = new NativeArray(sobj.getArray().fastSplice((int)actualStart, (int)actualDeleteCount, items.length)); // Since this is a dense bulkable array we can use faster defineOwnProperty to copy new elements int k = (int) actualStart; for (int i = 0; i < items.length; i++, k++) { sobj.defineOwnProperty(k, items[i]); } } catch (final UnsupportedOperationException uoe) { returnValue = slowSplice(sobj, actualStart, actualDeleteCount, items, len); } } else { returnValue = slowSplice(sobj, actualStart, actualDeleteCount, items, len); } return returnValue; }
Example 15
Source File: NativeArray.java From jdk8u60 with GNU General Public License v2.0 | 4 votes |
/** * ECMA 15.4.4.12 Array.prototype.splice ( start, deleteCount [ item1 [ , item2 [ , ... ] ] ] ) * * @param self self reference * @param args arguments * @return result of splice */ @Function(attributes = Attribute.NOT_ENUMERABLE, arity = 2) public static Object splice(final Object self, final Object... args) { final Object obj = Global.toObject(self); if (!(obj instanceof ScriptObject)) { return ScriptRuntime.UNDEFINED; } final Object start = args.length > 0 ? args[0] : ScriptRuntime.UNDEFINED; final Object deleteCount = args.length > 1 ? args[1] : ScriptRuntime.UNDEFINED; Object[] items; if (args.length > 2) { items = new Object[args.length - 2]; System.arraycopy(args, 2, items, 0, items.length); } else { items = ScriptRuntime.EMPTY_ARRAY; } final ScriptObject sobj = (ScriptObject)obj; final long len = JSType.toUint32(sobj.getLength()); final long relativeStart = JSType.toLong(start); final long actualStart = relativeStart < 0 ? Math.max(len + relativeStart, 0) : Math.min(relativeStart, len); final long actualDeleteCount = Math.min(Math.max(JSType.toLong(deleteCount), 0), len - actualStart); NativeArray returnValue; if (actualStart <= Integer.MAX_VALUE && actualDeleteCount <= Integer.MAX_VALUE && bulkable(sobj)) { try { returnValue = new NativeArray(sobj.getArray().fastSplice((int)actualStart, (int)actualDeleteCount, items.length)); // Since this is a dense bulkable array we can use faster defineOwnProperty to copy new elements int k = (int) actualStart; for (int i = 0; i < items.length; i++, k++) { sobj.defineOwnProperty(k, items[i]); } } catch (final UnsupportedOperationException uoe) { returnValue = slowSplice(sobj, actualStart, actualDeleteCount, items, len); } } else { returnValue = slowSplice(sobj, actualStart, actualDeleteCount, items, len); } return returnValue; }
Example 16
Source File: BoundCallable.java From hottub with GNU General Public License v2.0 | 4 votes |
BoundCallable(final Object callable, final Object boundThis, final Object[] boundArgs) { this.callable = callable; this.boundThis = boundThis; this.boundArgs = isEmptyArray(boundArgs) ? ScriptRuntime.EMPTY_ARRAY : boundArgs.clone(); }
Example 17
Source File: ArrayData.java From jdk8u_nashorn with GNU General Public License v2.0 | 4 votes |
@Override public Object[] asObjectArray() { return ScriptRuntime.EMPTY_ARRAY; }
Example 18
Source File: BoundCallable.java From openjdk-jdk8u-backup with GNU General Public License v2.0 | 4 votes |
BoundCallable(final Object callable, final Object boundThis, final Object[] boundArgs) { this.callable = callable; this.boundThis = boundThis; this.boundArgs = isEmptyArray(boundArgs) ? ScriptRuntime.EMPTY_ARRAY : boundArgs.clone(); }
Example 19
Source File: ArrayData.java From openjdk-jdk8u with GNU General Public License v2.0 | 4 votes |
@Override public Object[] asObjectArray() { return ScriptRuntime.EMPTY_ARRAY; }
Example 20
Source File: ArrayData.java From openjdk-jdk8u-backup with GNU General Public License v2.0 | 4 votes |
@Override public Object[] asObjectArray() { return ScriptRuntime.EMPTY_ARRAY; }