< prev index next >
src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/AccessorProperty.java
Print this page
@@ -219,11 +219,11 @@
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) {
+ 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,21 +399,10 @@
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;
@@ -451,25 +440,10 @@
/**
* 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;
@@ -498,16 +472,10 @@
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);
}
@@ -531,11 +499,10 @@
@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();
< prev index next >