1.1 --- a/json/src/main/java/org/netbeans/html/json/spi/Proto.java Mon Aug 31 22:27:33 2015 +0200
1.2 +++ b/json/src/main/java/org/netbeans/html/json/spi/Proto.java Thu Nov 05 23:38:18 2015 +0100
1.3 @@ -875,15 +875,41 @@
1.4 * @since 1.0
1.5 */
1.6 public final <T> void replaceValue(Collection<? super T> arr, Class<T> type, Object value) {
1.7 - Object[] newArr;
1.8 + List<T> tmp = new ArrayList<T>();
1.9 if (value instanceof Object[]) {
1.10 - newArr = (Object[]) value;
1.11 + for (Object e : (Object[]) value) {
1.12 + tmp.add(extractValue(type, e));
1.13 + }
1.14 + } else if (value instanceof byte[]) {
1.15 + for (Object e : (byte[]) value) {
1.16 + tmp.add(extractValue(type, e));
1.17 + }
1.18 + } else if (value instanceof short[]) {
1.19 + for (Object e : (short[]) value) {
1.20 + tmp.add(extractValue(type, e));
1.21 + }
1.22 + } else if (value instanceof int[]) {
1.23 + for (Object e : (int[]) value) {
1.24 + tmp.add(extractValue(type, e));
1.25 + }
1.26 + } else if (value instanceof char[]) {
1.27 + for (Object e : (char[]) value) {
1.28 + tmp.add(extractValue(type, e));
1.29 + }
1.30 + } else if (value instanceof long[]) {
1.31 + for (Object e : (long[]) value) {
1.32 + tmp.add(extractValue(type, e));
1.33 + }
1.34 + } else if (value instanceof float[]) {
1.35 + for (Object e : (float[]) value) {
1.36 + tmp.add(extractValue(type, e));
1.37 + }
1.38 + } else if (value instanceof double[]) {
1.39 + for (Object e : (double[]) value) {
1.40 + tmp.add(extractValue(type, e));
1.41 + }
1.42 } else {
1.43 - newArr = new Object[] { value };
1.44 - }
1.45 - List<T> tmp = new ArrayList<T>(newArr.length);
1.46 - for (Object e : newArr) {
1.47 - tmp.add(extractValue(type, e));
1.48 + tmp.add(extractValue(type, value));
1.49 }
1.50 if (arr instanceof JSONList) {
1.51 JSONList jsList = (JSONList) arr;