Java Code Examples for jdk.nashorn.internal.runtime.linker.InvokeByName
The following examples show how to use
jdk.nashorn.internal.runtime.linker.InvokeByName.
These examples are extracted from open source projects.
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 Project: TencentKona-8 Author: Tencent File: NativeArray.java License: GNU General Public License v2.0 | 6 votes |
/** * ECMA 15.4.4.2 Array.prototype.toString ( ) * * @param self self reference * @return string representation of array */ @Function(attributes = Attribute.NOT_ENUMERABLE) public static Object toString(final Object self) { final Object obj = Global.toObject(self); if (obj instanceof ScriptObject) { final InvokeByName joinInvoker = getJOIN(); final ScriptObject sobj = (ScriptObject)obj; try { final Object join = joinInvoker.getGetter().invokeExact(sobj); if (Bootstrap.isCallable(join)) { return joinInvoker.getInvoker().invokeExact(join, sobj); } } catch (final RuntimeException | Error e) { throw e; } catch (final Throwable t) { throw new RuntimeException(t); } } // FIXME: should lookup Object.prototype.toString and call that? return ScriptRuntime.builtinObjectToString(self); }
Example #2
Source Project: TencentKona-8 Author: Tencent File: NativeObject.java License: GNU General Public License v2.0 | 6 votes |
/** * ECMA 15.2.4.3 Object.prototype.toLocaleString ( ) * * @param self self reference * @return localized ToString */ @Function(attributes = Attribute.NOT_ENUMERABLE) public static Object toLocaleString(final Object self) { final Object obj = JSType.toScriptObject(self); if (obj instanceof ScriptObject) { final InvokeByName toStringInvoker = getTO_STRING(); final ScriptObject sobj = (ScriptObject)obj; try { final Object toString = toStringInvoker.getGetter().invokeExact(sobj); if (Bootstrap.isCallable(toString)) { return toStringInvoker.getInvoker().invokeExact(toString, sobj); } } catch (final RuntimeException | Error e) { throw e; } catch (final Throwable t) { throw new RuntimeException(t); } throw typeError("not.a.function", "toString"); } return ScriptRuntime.builtinObjectToString(self); }
Example #3
Source Project: jdk8u60 Author: chenghanpeng File: NativeArray.java License: GNU General Public License v2.0 | 6 votes |
/** * ECMA 15.4.4.2 Array.prototype.toString ( ) * * @param self self reference * @return string representation of array */ @Function(attributes = Attribute.NOT_ENUMERABLE) public static Object toString(final Object self) { final Object obj = Global.toObject(self); if (obj instanceof ScriptObject) { final InvokeByName joinInvoker = getJOIN(); final ScriptObject sobj = (ScriptObject)obj; try { final Object join = joinInvoker.getGetter().invokeExact(sobj); if (Bootstrap.isCallable(join)) { return joinInvoker.getInvoker().invokeExact(join, sobj); } } catch (final RuntimeException | Error e) { throw e; } catch (final Throwable t) { throw new RuntimeException(t); } } // FIXME: should lookup Object.prototype.toString and call that? return ScriptRuntime.builtinObjectToString(self); }
Example #4
Source Project: jdk8u60 Author: chenghanpeng File: NativeObject.java License: GNU General Public License v2.0 | 6 votes |
/** * ECMA 15.2.4.3 Object.prototype.toLocaleString ( ) * * @param self self reference * @return localized ToString */ @Function(attributes = Attribute.NOT_ENUMERABLE) public static Object toLocaleString(final Object self) { final Object obj = JSType.toScriptObject(self); if (obj instanceof ScriptObject) { final InvokeByName toStringInvoker = getTO_STRING(); final ScriptObject sobj = (ScriptObject)obj; try { final Object toString = toStringInvoker.getGetter().invokeExact(sobj); if (Bootstrap.isCallable(toString)) { return toStringInvoker.getInvoker().invokeExact(toString, sobj); } } catch (final RuntimeException | Error e) { throw e; } catch (final Throwable t) { throw new RuntimeException(t); } throw typeError("not.a.function", "toString"); } return ScriptRuntime.builtinObjectToString(self); }
Example #5
Source Project: openjdk-jdk8u Author: AdoptOpenJDK File: NativeObject.java License: GNU General Public License v2.0 | 6 votes |
/** * ECMA 15.2.4.3 Object.prototype.toLocaleString ( ) * * @param self self reference * @return localized ToString */ @Function(attributes = Attribute.NOT_ENUMERABLE) public static Object toLocaleString(final Object self) { final Object obj = JSType.toScriptObject(self); if (obj instanceof ScriptObject) { final InvokeByName toStringInvoker = getTO_STRING(); final ScriptObject sobj = (ScriptObject)obj; try { final Object toString = toStringInvoker.getGetter().invokeExact(sobj); if (Bootstrap.isCallable(toString)) { return toStringInvoker.getInvoker().invokeExact(toString, sobj); } } catch (final RuntimeException | Error e) { throw e; } catch (final Throwable t) { throw new RuntimeException(t); } throw typeError("not.a.function", "toString"); } return ScriptRuntime.builtinObjectToString(self); }
Example #6
Source Project: openjdk-jdk8u-backup Author: AdoptOpenJDK File: NativeArray.java License: GNU General Public License v2.0 | 6 votes |
/** * ECMA 15.4.4.2 Array.prototype.toString ( ) * * @param self self reference * @return string representation of array */ @Function(attributes = Attribute.NOT_ENUMERABLE) public static Object toString(final Object self) { final Object obj = Global.toObject(self); if (obj instanceof ScriptObject) { final InvokeByName joinInvoker = getJOIN(); final ScriptObject sobj = (ScriptObject)obj; try { final Object join = joinInvoker.getGetter().invokeExact(sobj); if (Bootstrap.isCallable(join)) { return joinInvoker.getInvoker().invokeExact(join, sobj); } } catch (final RuntimeException | Error e) { throw e; } catch (final Throwable t) { throw new RuntimeException(t); } } // FIXME: should lookup Object.prototype.toString and call that? return ScriptRuntime.builtinObjectToString(self); }
Example #7
Source Project: openjdk-jdk8u-backup Author: AdoptOpenJDK File: NativeObject.java License: GNU General Public License v2.0 | 6 votes |
/** * ECMA 15.2.4.3 Object.prototype.toLocaleString ( ) * * @param self self reference * @return localized ToString */ @Function(attributes = Attribute.NOT_ENUMERABLE) public static Object toLocaleString(final Object self) { final Object obj = JSType.toScriptObject(self); if (obj instanceof ScriptObject) { final InvokeByName toStringInvoker = getTO_STRING(); final ScriptObject sobj = (ScriptObject)obj; try { final Object toString = toStringInvoker.getGetter().invokeExact(sobj); if (Bootstrap.isCallable(toString)) { return toStringInvoker.getInvoker().invokeExact(toString, sobj); } } catch (final RuntimeException | Error e) { throw e; } catch (final Throwable t) { throw new RuntimeException(t); } throw typeError("not.a.function", "toString"); } return ScriptRuntime.builtinObjectToString(self); }
Example #8
Source Project: openjdk-jdk9 Author: AdoptOpenJDK File: Global.java License: GNU General Public License v2.0 | 6 votes |
/** * Initialize standard builtin objects like "Object", "Array", "Function" etc. * as well as our extension builtin objects like "Java", "JSAdapter" as properties * of the global scope object. * * @param eng ScriptEngine to initialize */ public void initBuiltinObjects(final ScriptEngine eng) { if (this.builtinObject != null) { // already initialized, just return return; } TO_STRING = new InvokeByName("toString", ScriptObject.class); VALUE_OF = new InvokeByName("valueOf", ScriptObject.class); this.engine = eng; if (this.engine != null) { this.scontext = new ThreadLocal<>(); } init(eng); }
Example #9
Source Project: openjdk-jdk9 Author: AdoptOpenJDK File: NativeArray.java License: GNU General Public License v2.0 | 6 votes |
/** * ECMA 15.4.4.2 Array.prototype.toString ( ) * * @param self self reference * @return string representation of array */ @Function(attributes = Attribute.NOT_ENUMERABLE) public static Object toString(final Object self) { final Object obj = Global.toObject(self); if (obj instanceof ScriptObject) { final InvokeByName joinInvoker = getJOIN(); final ScriptObject sobj = (ScriptObject)obj; try { final Object join = joinInvoker.getGetter().invokeExact(sobj); if (Bootstrap.isCallable(join)) { return joinInvoker.getInvoker().invokeExact(join, sobj); } } catch (final RuntimeException | Error e) { throw e; } catch (final Throwable t) { throw new RuntimeException(t); } } // FIXME: should lookup Object.prototype.toString and call that? return ScriptRuntime.builtinObjectToString(self); }
Example #10
Source Project: jdk8u_nashorn Author: JetBrains File: NativeArray.java License: GNU General Public License v2.0 | 6 votes |
/** * ECMA 15.4.4.2 Array.prototype.toString ( ) * * @param self self reference * @return string representation of array */ @Function(attributes = Attribute.NOT_ENUMERABLE) public static Object toString(final Object self) { final Object obj = Global.toObject(self); if (obj instanceof ScriptObject) { final InvokeByName joinInvoker = getJOIN(); final ScriptObject sobj = (ScriptObject)obj; try { final Object join = joinInvoker.getGetter().invokeExact(sobj); if (Bootstrap.isCallable(join)) { return joinInvoker.getInvoker().invokeExact(join, sobj); } } catch (final RuntimeException | Error e) { throw e; } catch (final Throwable t) { throw new RuntimeException(t); } } // FIXME: should lookup Object.prototype.toString and call that? return ScriptRuntime.builtinObjectToString(self); }
Example #11
Source Project: openjdk-jdk9 Author: AdoptOpenJDK File: NativeObject.java License: GNU General Public License v2.0 | 6 votes |
/** * ECMA 15.2.4.3 Object.prototype.toLocaleString ( ) * * @param self self reference * @return localized ToString */ @Function(attributes = Attribute.NOT_ENUMERABLE) public static Object toLocaleString(final Object self) { final Object obj = JSType.toScriptObject(self); if (obj instanceof ScriptObject) { final InvokeByName toStringInvoker = getTO_STRING(); final ScriptObject sobj = (ScriptObject)obj; try { final Object toString = toStringInvoker.getGetter().invokeExact(sobj); if (Bootstrap.isCallable(toString)) { return toStringInvoker.getInvoker().invokeExact(toString, sobj); } } catch (final RuntimeException | Error e) { throw e; } catch (final Throwable t) { throw new RuntimeException(t); } throw typeError("not.a.function", "toString"); } return ScriptRuntime.builtinObjectToString(self); }
Example #12
Source Project: hottub Author: dsrg-uoft File: NativeArray.java License: GNU General Public License v2.0 | 6 votes |
/** * ECMA 15.4.4.2 Array.prototype.toString ( ) * * @param self self reference * @return string representation of array */ @Function(attributes = Attribute.NOT_ENUMERABLE) public static Object toString(final Object self) { final Object obj = Global.toObject(self); if (obj instanceof ScriptObject) { final InvokeByName joinInvoker = getJOIN(); final ScriptObject sobj = (ScriptObject)obj; try { final Object join = joinInvoker.getGetter().invokeExact(sobj); if (Bootstrap.isCallable(join)) { return joinInvoker.getInvoker().invokeExact(join, sobj); } } catch (final RuntimeException | Error e) { throw e; } catch (final Throwable t) { throw new RuntimeException(t); } } // FIXME: should lookup Object.prototype.toString and call that? return ScriptRuntime.builtinObjectToString(self); }
Example #13
Source Project: hottub Author: dsrg-uoft File: NativeObject.java License: GNU General Public License v2.0 | 6 votes |
/** * ECMA 15.2.4.3 Object.prototype.toLocaleString ( ) * * @param self self reference * @return localized ToString */ @Function(attributes = Attribute.NOT_ENUMERABLE) public static Object toLocaleString(final Object self) { final Object obj = JSType.toScriptObject(self); if (obj instanceof ScriptObject) { final InvokeByName toStringInvoker = getTO_STRING(); final ScriptObject sobj = (ScriptObject)obj; try { final Object toString = toStringInvoker.getGetter().invokeExact(sobj); if (Bootstrap.isCallable(toString)) { return toStringInvoker.getInvoker().invokeExact(toString, sobj); } } catch (final RuntimeException | Error e) { throw e; } catch (final Throwable t) { throw new RuntimeException(t); } throw typeError("not.a.function", "toString"); } return ScriptRuntime.builtinObjectToString(self); }
Example #14
Source Project: openjdk-8-source Author: keerath File: NativeArray.java License: GNU General Public License v2.0 | 6 votes |
/** * ECMA 15.4.4.2 Array.prototype.toString ( ) * * @param self self reference * @return string representation of array */ @Function(attributes = Attribute.NOT_ENUMERABLE) public static Object toString(final Object self) { final Object obj = Global.toObject(self); if (obj instanceof ScriptObject) { final InvokeByName joinInvoker = getJOIN(); final ScriptObject sobj = (ScriptObject)obj; try { final Object join = joinInvoker.getGetter().invokeExact(sobj); if (Bootstrap.isCallable(join)) { return joinInvoker.getInvoker().invokeExact(join, sobj); } } catch (final RuntimeException | Error e) { throw e; } catch (final Throwable t) { throw new RuntimeException(t); } } // FIXME: should lookup Object.prototype.toString and call that? return ScriptRuntime.builtinObjectToString(self); }
Example #15
Source Project: jdk8u_nashorn Author: JetBrains File: NativeObject.java License: GNU General Public License v2.0 | 6 votes |
/** * ECMA 15.2.4.3 Object.prototype.toLocaleString ( ) * * @param self self reference * @return localized ToString */ @Function(attributes = Attribute.NOT_ENUMERABLE) public static Object toLocaleString(final Object self) { final Object obj = JSType.toScriptObject(self); if (obj instanceof ScriptObject) { final InvokeByName toStringInvoker = getTO_STRING(); final ScriptObject sobj = (ScriptObject)obj; try { final Object toString = toStringInvoker.getGetter().invokeExact(sobj); if (Bootstrap.isCallable(toString)) { return toStringInvoker.getInvoker().invokeExact(toString, sobj); } } catch (final RuntimeException | Error e) { throw e; } catch (final Throwable t) { throw new RuntimeException(t); } throw typeError("not.a.function", "toString"); } return ScriptRuntime.builtinObjectToString(self); }
Example #16
Source Project: openjdk-8 Author: bpupadhyaya File: NativeArray.java License: GNU General Public License v2.0 | 6 votes |
/** * ECMA 15.4.4.2 Array.prototype.toString ( ) * * @param self self reference * @return string representation of array */ @Function(attributes = Attribute.NOT_ENUMERABLE) public static Object toString(final Object self) { final Object obj = Global.toObject(self); if (obj instanceof ScriptObject) { final InvokeByName joinInvoker = getJOIN(); final ScriptObject sobj = (ScriptObject)obj; try { final Object join = joinInvoker.getGetter().invokeExact(sobj); if (Bootstrap.isCallable(join)) { return joinInvoker.getInvoker().invokeExact(join, sobj); } } catch (final RuntimeException | Error e) { throw e; } catch (final Throwable t) { throw new RuntimeException(t); } } // FIXME: should lookup Object.prototype.toString and call that? return ScriptRuntime.builtinObjectToString(self); }
Example #17
Source Project: TencentKona-8 Author: Tencent File: NativeJSON.java License: GNU General Public License v2.0 | 5 votes |
private static InvokeByName getTO_JSON() { return Global.instance().getInvokeByName(TO_JSON, new Callable<InvokeByName>() { @Override public InvokeByName call() { return new InvokeByName("toJSON", ScriptObject.class, Object.class, Object.class); } }); }
Example #18
Source Project: TencentKona-8 Author: Tencent File: NativeArray.java License: GNU General Public License v2.0 | 5 votes |
private static InvokeByName getJOIN() { return Global.instance().getInvokeByName(JOIN, new Callable<InvokeByName>() { @Override public InvokeByName call() { return new InvokeByName("join", ScriptObject.class); } }); }
Example #19
Source Project: TencentKona-8 Author: Tencent File: NativeArray.java License: GNU General Public License v2.0 | 5 votes |
private static InvokeByName getTO_LOCALE_STRING() { return Global.instance().getInvokeByName(TO_LOCALE_STRING, new Callable<InvokeByName>() { @Override public InvokeByName call() { return new InvokeByName("toLocaleString", ScriptObject.class, String.class); } }); }
Example #20
Source Project: TencentKona-8 Author: Tencent File: NativeDate.java License: GNU General Public License v2.0 | 5 votes |
/** * ECMA 15.9.5.44 Date.prototype.toJSON ( key ) * * Provides a string representation of this Date for use by {@link NativeJSON#stringify(Object, Object, Object, Object)} * * @param self self reference * @param key ignored * @return JSON representation of this date */ @Function(attributes = Attribute.NOT_ENUMERABLE) public static Object toJSON(final Object self, final Object key) { // NOTE: Date.prototype.toJSON is generic. Accepts other objects as well. final Object selfObj = Global.toObject(self); if (!(selfObj instanceof ScriptObject)) { return null; } final ScriptObject sobj = (ScriptObject)selfObj; final Object value = sobj.getDefaultValue(Number.class); if (value instanceof Number) { final double num = ((Number)value).doubleValue(); if (isInfinite(num) || isNaN(num)) { return null; } } try { final InvokeByName toIsoString = getTO_ISO_STRING(); final Object func = toIsoString.getGetter().invokeExact(sobj); if (Bootstrap.isCallable(func)) { return toIsoString.getInvoker().invokeExact(func, sobj, key); } throw typeError("not.a.function", ScriptRuntime.safeToString(func)); } catch (final RuntimeException | Error e) { throw e; } catch (final Throwable t) { throw new RuntimeException(t); } }
Example #21
Source Project: TencentKona-8 Author: Tencent File: NativeObject.java License: GNU General Public License v2.0 | 5 votes |
private static InvokeByName getTO_STRING() { return Global.instance().getInvokeByName(TO_STRING, new Callable<InvokeByName>() { @Override public InvokeByName call() { return new InvokeByName("toString", ScriptObject.class); } }); }
Example #22
Source Project: openjdk-8 Author: bpupadhyaya File: ListAdapter.java License: GNU General Public License v2.0 | 5 votes |
private static InvokeByName getSPLICE_ADD() { return ((GlobalObject)Context.getGlobal()).getInvokeByName(SPLICE_ADD, new Callable<InvokeByName>() { @Override public InvokeByName call() { return new InvokeByName("splice", Object.class, void.class, int.class, int.class, Object.class); } }); }
Example #23
Source Project: jdk8u60 Author: chenghanpeng File: NativeArray.java License: GNU General Public License v2.0 | 5 votes |
private static InvokeByName getJOIN() { return Global.instance().getInvokeByName(JOIN, new Callable<InvokeByName>() { @Override public InvokeByName call() { return new InvokeByName("join", ScriptObject.class); } }); }
Example #24
Source Project: jdk8u60 Author: chenghanpeng File: NativeDate.java License: GNU General Public License v2.0 | 5 votes |
private static InvokeByName getTO_ISO_STRING() { return Global.instance().getInvokeByName(TO_ISO_STRING, new Callable<InvokeByName>() { @Override public InvokeByName call() { return new InvokeByName("toISOString", ScriptObject.class, Object.class, Object.class); } }); }
Example #25
Source Project: jdk8u60 Author: chenghanpeng File: NativeDate.java License: GNU General Public License v2.0 | 5 votes |
/** * ECMA 15.9.5.44 Date.prototype.toJSON ( key ) * * Provides a string representation of this Date for use by {@link NativeJSON#stringify(Object, Object, Object, Object)} * * @param self self reference * @param key ignored * @return JSON representation of this date */ @Function(attributes = Attribute.NOT_ENUMERABLE) public static Object toJSON(final Object self, final Object key) { // NOTE: Date.prototype.toJSON is generic. Accepts other objects as well. final Object selfObj = Global.toObject(self); if (!(selfObj instanceof ScriptObject)) { return null; } final ScriptObject sobj = (ScriptObject)selfObj; final Object value = sobj.getDefaultValue(Number.class); if (value instanceof Number) { final double num = ((Number)value).doubleValue(); if (isInfinite(num) || isNaN(num)) { return null; } } try { final InvokeByName toIsoString = getTO_ISO_STRING(); final Object func = toIsoString.getGetter().invokeExact(sobj); if (Bootstrap.isCallable(func)) { return toIsoString.getInvoker().invokeExact(func, sobj, key); } throw typeError("not.a.function", ScriptRuntime.safeToString(func)); } catch (final RuntimeException | Error e) { throw e; } catch (final Throwable t) { throw new RuntimeException(t); } }
Example #26
Source Project: jdk8u60 Author: chenghanpeng File: NativeObject.java License: GNU General Public License v2.0 | 5 votes |
private static InvokeByName getTO_STRING() { return Global.instance().getInvokeByName(TO_STRING, new Callable<InvokeByName>() { @Override public InvokeByName call() { return new InvokeByName("toString", ScriptObject.class); } }); }
Example #27
Source Project: openjdk-jdk8u Author: AdoptOpenJDK File: NativeJSON.java License: GNU General Public License v2.0 | 5 votes |
private static InvokeByName getTO_JSON() { return Global.instance().getInvokeByName(TO_JSON, new Callable<InvokeByName>() { @Override public InvokeByName call() { return new InvokeByName("toJSON", ScriptObject.class, Object.class, Object.class); } }); }
Example #28
Source Project: openjdk-jdk8u Author: AdoptOpenJDK File: NativeArray.java License: GNU General Public License v2.0 | 5 votes |
private static InvokeByName getJOIN() { return Global.instance().getInvokeByName(JOIN, new Callable<InvokeByName>() { @Override public InvokeByName call() { return new InvokeByName("join", ScriptObject.class); } }); }
Example #29
Source Project: jdk8u_nashorn Author: JetBrains File: NativeArray.java License: GNU General Public License v2.0 | 5 votes |
private static InvokeByName getTO_LOCALE_STRING() { return Global.instance().getInvokeByName(TO_LOCALE_STRING, new Callable<InvokeByName>() { @Override public InvokeByName call() { return new InvokeByName("toLocaleString", ScriptObject.class, String.class); } }); }
Example #30
Source Project: openjdk-8 Author: bpupadhyaya File: NativeDate.java License: GNU General Public License v2.0 | 5 votes |
/** * ECMA 15.9.5.44 Date.prototype.toJSON ( key ) * * Provides a string representation of this Date for use by {@link NativeJSON#stringify(Object, Object, Object, Object)} * * @param self self reference * @param key ignored * @return JSON representation of this date */ @Function(attributes = Attribute.NOT_ENUMERABLE) public static Object toJSON(final Object self, final Object key) { // NOTE: Date.prototype.toJSON is generic. Accepts other objects as well. final Object selfObj = Global.toObject(self); if (!(selfObj instanceof ScriptObject)) { return null; } final ScriptObject sobj = (ScriptObject)selfObj; final Object value = sobj.getDefaultValue(Number.class); if (value instanceof Number) { final double num = ((Number)value).doubleValue(); if (isInfinite(num) || isNaN(num)) { return null; } } try { final InvokeByName toIsoString = getTO_ISO_STRING(); final Object func = toIsoString.getGetter().invokeExact(sobj); if (Bootstrap.isCallable(func)) { return toIsoString.getInvoker().invokeExact(func, sobj, key); } throw typeError("not.a.function", ScriptRuntime.safeToString(func)); } catch (final RuntimeException | Error e) { throw e; } catch (final Throwable t) { throw new RuntimeException(t); } }