< prev index next >

src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/UserAccessorProperty.java

Print this page

        

*** 69,85 **** private static final MethodHandles.Lookup LOOKUP = MethodHandles.lookup(); /** Getter method handle */ private final static MethodHandle INVOKE_OBJECT_GETTER = findOwnMH_S("invokeObjectGetter", Object.class, Accessors.class, MethodHandle.class, Object.class); private final static MethodHandle INVOKE_INT_GETTER = findOwnMH_S("invokeIntGetter", int.class, Accessors.class, MethodHandle.class, int.class, Object.class); - private final static MethodHandle INVOKE_LONG_GETTER = findOwnMH_S("invokeLongGetter", long.class, Accessors.class, MethodHandle.class, int.class, Object.class); private final static MethodHandle INVOKE_NUMBER_GETTER = findOwnMH_S("invokeNumberGetter", double.class, Accessors.class, MethodHandle.class, int.class, Object.class); /** Setter method handle */ private final static MethodHandle INVOKE_OBJECT_SETTER = findOwnMH_S("invokeObjectSetter", void.class, Accessors.class, MethodHandle.class, String.class, Object.class, Object.class); private final static MethodHandle INVOKE_INT_SETTER = findOwnMH_S("invokeIntSetter", void.class, Accessors.class, MethodHandle.class, String.class, Object.class, int.class); - private final static MethodHandle INVOKE_LONG_SETTER = findOwnMH_S("invokeLongSetter", void.class, Accessors.class, MethodHandle.class, String.class, Object.class, long.class); private final static MethodHandle INVOKE_NUMBER_SETTER = findOwnMH_S("invokeNumberSetter", void.class, Accessors.class, MethodHandle.class, String.class, Object.class, double.class); private static final Object OBJECT_GETTER_INVOKER_KEY = new Object(); private static MethodHandle getObjectGetterInvoker() { return Context.getGlobal().getDynamicInvoker(OBJECT_GETTER_INVOKER_KEY, new Callable<MethodHandle>() { --- 69,83 ----
*** 186,200 **** public int getIntValue(final ScriptObject self, final ScriptObject owner) { return (int)getObjectValue(self, owner); } @Override - public long getLongValue(final ScriptObject self, final ScriptObject owner) { - return (long)getObjectValue(self, owner); - } - - @Override public double getDoubleValue(final ScriptObject self, final ScriptObject owner) { return (double)getObjectValue(self, owner); } @Override --- 184,193 ----
*** 212,226 **** public void setValue(final ScriptObject self, final ScriptObject owner, final int value, final boolean strict) { setValue(self, owner, (Object) value, strict); } @Override - public void setValue(final ScriptObject self, final ScriptObject owner, final long value, final boolean strict) { - setValue(self, owner, (Object) value, strict); - } - - @Override public void setValue(final ScriptObject self, final ScriptObject owner, final double value, final boolean strict) { setValue(self, owner, (Object) value, strict); } @Override --- 205,214 ----
*** 242,253 **** @Override public MethodHandle getOptimisticGetter(final Class<?> type, final int programPoint) { if (type == int.class) { return INVOKE_INT_GETTER; - } else if (type == long.class) { - return INVOKE_LONG_GETTER; } else if (type == double.class) { return INVOKE_NUMBER_GETTER; } else { assert type == Object.class; return INVOKE_OBJECT_GETTER; --- 230,239 ----
*** 267,278 **** @Override public MethodHandle getSetter(final Class<?> type, final PropertyMap currentMap) { if (type == int.class) { return INVOKE_INT_SETTER; - } else if (type == long.class) { - return INVOKE_LONG_SETTER; } else if (type == double.class) { return INVOKE_NUMBER_SETTER; } else { assert type == Object.class; return INVOKE_OBJECT_SETTER; --- 253,262 ----
*** 318,337 **** throw new UnwarrantedOptimismException(UNDEFINED, programPoint); } @SuppressWarnings("unused") - private static long invokeLongGetter(final Accessors gs, final MethodHandle invoker, final int programPoint, final Object self) throws Throwable { - final Object func = gs.getter; - if (func instanceof ScriptFunction) { - return (long) invoker.invokeExact(func, self); - } - - throw new UnwarrantedOptimismException(UNDEFINED, programPoint); - } - - @SuppressWarnings("unused") private static double invokeNumberGetter(final Accessors gs, final MethodHandle invoker, final int programPoint, final Object self) throws Throwable { final Object func = gs.getter; if (func instanceof ScriptFunction) { return (double) invoker.invokeExact(func, self); } --- 302,311 ----
*** 354,373 **** final Object func = gs.setter; if (func instanceof ScriptFunction) { invoker.invokeExact(func, self, value); } else if (name != null) { throw typeError("property.has.no.setter", name, ScriptRuntime.safeToString(self)); - } - } - - @SuppressWarnings("unused") - private static void invokeLongSetter(final Accessors gs, final MethodHandle invoker, final String name, final Object self, final long value) throws Throwable { - final Object func = gs.setter; - if (func instanceof ScriptFunction) { - invoker.invokeExact(func, self, value); - } else if (name != null) { - throw typeError("property.has.no.setter", name, ScriptRuntime.safeToString(self)); } } @SuppressWarnings("unused") private static void invokeNumberSetter(final Accessors gs, final MethodHandle invoker, final String name, final Object self, final double value) throws Throwable { --- 328,337 ----
< prev index next >