aboutsummaryrefslogtreecommitdiff
path: root/src/jdk/nashorn/internal/objects/NativeFunction.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/jdk/nashorn/internal/objects/NativeFunction.java')
-rw-r--r--src/jdk/nashorn/internal/objects/NativeFunction.java14
1 files changed, 2 insertions, 12 deletions
diff --git a/src/jdk/nashorn/internal/objects/NativeFunction.java b/src/jdk/nashorn/internal/objects/NativeFunction.java
index f5c0c290..13c1bc15 100644
--- a/src/jdk/nashorn/internal/objects/NativeFunction.java
+++ b/src/jdk/nashorn/internal/objects/NativeFunction.java
@@ -81,23 +81,13 @@ public final class NativeFunction {
Object[] args = null;
- if (ScriptObject.isArray(array)) {
- args = ((NativeArray)array).asObjectArray();
- } else if (array instanceof ScriptObject) {
+ if (array instanceof ScriptObject) {
// look for array-like object
final ScriptObject sobj = (ScriptObject)array;
final Object len = sobj.getLength();
-
- if (len == UNDEFINED || len == null) {
- throw typeError("function.apply.expects.array");
- }
-
final int n = (int)JSType.toUint32(len);
- if (n != JSType.toNumber(len)) {
- throw typeError("function.apply.expects.array");
- }
- args = new Object[(int)JSType.toUint32(len)];
+ args = new Object[n];
for (int i = 0; i < args.length; i++) {
args[i] = sobj.get(i);
}