< prev index next >

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

Print this page

        

*** 219,229 **** final Class<?> getterType = getter.type().returnType(); final Class<?> setterType = setter == null ? null : setter.type().parameterType(1); assert setterType == null || setterType == getterType; ! if (getterType == int.class || getterType == long.class) { primitiveGetter = MH.asType(getter, Lookup.GET_PRIMITIVE_TYPE); primitiveSetter = setter == null ? null : MH.asType(setter, Lookup.SET_PRIMITIVE_TYPE); } else if (getterType == double.class) { primitiveGetter = MH.asType(MH.filterReturnValue(getter, ObjectClassGenerator.PACK_DOUBLE), Lookup.GET_PRIMITIVE_TYPE); primitiveSetter = setter == null ? null : MH.asType(MH.filterArguments(setter, 1, ObjectClassGenerator.UNPACK_DOUBLE), Lookup.SET_PRIMITIVE_TYPE); --- 219,229 ---- final Class<?> getterType = getter.type().returnType(); final Class<?> setterType = setter == null ? null : setter.type().parameterType(1); assert setterType == null || setterType == getterType; ! if (getterType == int.class) { primitiveGetter = MH.asType(getter, Lookup.GET_PRIMITIVE_TYPE); primitiveSetter = setter == null ? null : MH.asType(setter, Lookup.SET_PRIMITIVE_TYPE); } else if (getterType == double.class) { primitiveGetter = MH.asType(MH.filterReturnValue(getter, ObjectClassGenerator.PACK_DOUBLE), Lookup.GET_PRIMITIVE_TYPE); primitiveSetter = setter == null ? null : MH.asType(MH.filterArguments(setter, 1, ObjectClassGenerator.UNPACK_DOUBLE), Lookup.SET_PRIMITIVE_TYPE);
*** 399,419 **** throw new RuntimeException(e); } } @Override - public long getLongValue(final ScriptObject self, final ScriptObject owner) { - try { - return (long)getGetter(long.class).invokeExact((Object)self); - } catch (final Error | RuntimeException e) { - throw e; - } catch (final Throwable e) { - throw new RuntimeException(e); - } - } - - @Override public double getDoubleValue(final ScriptObject self, final ScriptObject owner) { try { return (double)getGetter(double.class).invokeExact((Object)self); } catch (final Error | RuntimeException e) { throw e; --- 399,408 ----
*** 451,475 **** /** * Invoke setter for this property with a value * @param self owner * @param value value */ - protected final void invokeSetter(final ScriptObject self, final long value) { - try { - getSetter(long.class, self.getMap()).invokeExact((Object)self, value); - } catch (final Error | RuntimeException e) { - throw e; - } catch (final Throwable e) { - throw new RuntimeException(e); - } - } - - /** - * Invoke setter for this property with a value - * @param self owner - * @param value value - */ protected final void invokeSetter(final ScriptObject self, final double value) { try { getSetter(double.class, self.getMap()).invokeExact((Object)self, value); } catch (final Error | RuntimeException e) { throw e; --- 440,449 ----
*** 498,513 **** assert isConfigurable() || isWritable() : getKey() + " is not writable or configurable"; invokeSetter(self, value); } @Override - public void setValue(final ScriptObject self, final ScriptObject owner, final long value, final boolean strict) { - assert isConfigurable() || isWritable() : getKey() + " is not writable or configurable"; - invokeSetter(self, value); - } - - @Override public void setValue(final ScriptObject self, final ScriptObject owner, final double value, final boolean strict) { assert isConfigurable() || isWritable() : getKey() + " is not writable or configurable"; invokeSetter(self, value); } --- 472,481 ----
*** 531,541 **** @Override public MethodHandle getGetter(final Class<?> type) { final int i = getAccessorTypeIndex(type); assert type == int.class || - type == long.class || type == double.class || type == Object.class : "invalid getter type " + type + " for " + getKey(); checkUndeclared(); --- 499,508 ----
< prev index next >