aboutsummaryrefslogtreecommitdiff
path: root/src/jdk/nashorn/internal/objects/NativeArguments.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/jdk/nashorn/internal/objects/NativeArguments.java')
-rw-r--r--src/jdk/nashorn/internal/objects/NativeArguments.java6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/jdk/nashorn/internal/objects/NativeArguments.java b/src/jdk/nashorn/internal/objects/NativeArguments.java
index 3a853eff..f8535732 100644
--- a/src/jdk/nashorn/internal/objects/NativeArguments.java
+++ b/src/jdk/nashorn/internal/objects/NativeArguments.java
@@ -35,6 +35,7 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.BitSet;
import jdk.nashorn.internal.runtime.AccessorProperty;
+import jdk.nashorn.internal.runtime.JSType;
import jdk.nashorn.internal.runtime.Property;
import jdk.nashorn.internal.runtime.PropertyDescriptor;
import jdk.nashorn.internal.runtime.PropertyMap;
@@ -140,8 +141,9 @@ public final class NativeArguments extends ScriptObject {
@Override
public boolean delete(final Object key, final boolean strict) {
- final int index = ArrayIndex.getArrayIndex(key);
- return isMapped(index) ? deleteMapped(index, strict) : super.delete(key, strict);
+ final Object primitiveKey = JSType.toPrimitive(key, String.class);
+ final int index = ArrayIndex.getArrayIndex(primitiveKey);
+ return isMapped(index) ? deleteMapped(index, strict) : super.delete(primitiveKey, strict);
}
/**