json/src/main/java/org/netbeans/html/json/spi/Proto.java
changeset 1017 10427ce1c0ee
parent 970 b686eead871e
child 1028 453e44c757ff
     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;