1.1 --- a/src/jdk/nashorn/internal/objects/NativeString.java Thu Jun 06 21:41:20 2013 +0530 1.2 +++ b/src/jdk/nashorn/internal/objects/NativeString.java Fri Jun 07 17:44:25 2013 +0200 1.3 @@ -29,7 +29,6 @@ 1.4 import static jdk.nashorn.internal.runtime.ECMAErrors.typeError; 1.5 import static jdk.nashorn.internal.runtime.JSType.isRepresentableAsInt; 1.6 import static jdk.nashorn.internal.runtime.ScriptRuntime.UNDEFINED; 1.7 -import static jdk.nashorn.internal.runtime.arrays.ArrayIndex.getArrayIndexNoThrow; 1.8 1.9 import java.lang.invoke.MethodHandle; 1.10 import java.lang.invoke.MethodHandles; 1.11 @@ -156,7 +155,7 @@ 1.12 @SuppressWarnings("unused") 1.13 private static Object get(final Object self, final Object key) { 1.14 final CharSequence cs = JSType.toCharSequence(self); 1.15 - final int index = getArrayIndexNoThrow(key); 1.16 + final int index = ArrayIndex.getArrayIndex(key); 1.17 if (index >= 0 && index < cs.length()) { 1.18 return String.valueOf(cs.charAt(index)); 1.19 } 1.20 @@ -191,7 +190,7 @@ 1.21 // String characters can be accessed with array-like indexing.. 1.22 @Override 1.23 public Object get(final Object key) { 1.24 - final int index = getArrayIndexNoThrow(key); 1.25 + final int index = ArrayIndex.getArrayIndex(key); 1.26 if (index >= 0 && index < value.length()) { 1.27 return String.valueOf(value.charAt(index)); 1.28 } 1.29 @@ -284,7 +283,7 @@ 1.30 1.31 @Override 1.32 public boolean has(final Object key) { 1.33 - final int index = getArrayIndexNoThrow(key); 1.34 + final int index = ArrayIndex.getArrayIndex(key); 1.35 return isValid(index) || super.has(key); 1.36 } 1.37 1.38 @@ -295,19 +294,19 @@ 1.39 1.40 @Override 1.41 public boolean has(final long key) { 1.42 - final int index = getArrayIndexNoThrow(key); 1.43 + final int index = ArrayIndex.getArrayIndex(key); 1.44 return isValid(index) || super.has(key); 1.45 } 1.46 1.47 @Override 1.48 public boolean has(final double key) { 1.49 - final int index = getArrayIndexNoThrow(key); 1.50 + final int index = ArrayIndex.getArrayIndex(key); 1.51 return isValid(index) || super.has(key); 1.52 } 1.53 1.54 @Override 1.55 public boolean hasOwnProperty(final Object key) { 1.56 - final int index = getArrayIndexNoThrow(key); 1.57 + final int index = ArrayIndex.getArrayIndex(key); 1.58 return isValid(index) || super.hasOwnProperty(key); 1.59 } 1.60 1.61 @@ -318,13 +317,13 @@ 1.62 1.63 @Override 1.64 public boolean hasOwnProperty(final long key) { 1.65 - final int index = getArrayIndexNoThrow(key); 1.66 + final int index = ArrayIndex.getArrayIndex(key); 1.67 return isValid(index) || super.hasOwnProperty(key); 1.68 } 1.69 1.70 @Override 1.71 public boolean hasOwnProperty(final double key) { 1.72 - final int index = getArrayIndexNoThrow(key); 1.73 + final int index = ArrayIndex.getArrayIndex(key); 1.74 return isValid(index) || super.hasOwnProperty(key); 1.75 } 1.76 1.77 @@ -335,19 +334,19 @@ 1.78 1.79 @Override 1.80 public boolean delete(final long key, final boolean strict) { 1.81 - final int index = getArrayIndexNoThrow(key); 1.82 + final int index = ArrayIndex.getArrayIndex(key); 1.83 return checkDeleteIndex(index, strict)? false : super.delete(key, strict); 1.84 } 1.85 1.86 @Override 1.87 public boolean delete(final double key, final boolean strict) { 1.88 - final int index = getArrayIndexNoThrow(key); 1.89 + final int index = ArrayIndex.getArrayIndex(key); 1.90 return checkDeleteIndex(index, strict)? false : super.delete(key, strict); 1.91 } 1.92 1.93 @Override 1.94 public boolean delete(final Object key, final boolean strict) { 1.95 - final int index = getArrayIndexNoThrow(key); 1.96 + final int index = ArrayIndex.getArrayIndex(key); 1.97 return checkDeleteIndex(index, strict)? false : super.delete(key, strict); 1.98 } 1.99 1.100 @@ -364,7 +363,7 @@ 1.101 1.102 @Override 1.103 public Object getOwnPropertyDescriptor(final String key) { 1.104 - final int index = ArrayIndex.getArrayIndexNoThrow(key); 1.105 + final int index = ArrayIndex.getArrayIndex(key); 1.106 if (index >= 0 && index < value.length()) { 1.107 final Global global = Global.instance(); 1.108 return global.newDataDescriptor(String.valueOf(value.charAt(index)), false, true, false);