nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/ConsString.java
changeset 29282 a8523237b66c
parent 26068 5488f52c2788
equal deleted inserted replaced
29281:8cc2618a07aa 29282:a8523237b66c
    22  * or visit www.oracle.com if you need additional information or have any
    22  * or visit www.oracle.com if you need additional information or have any
    23  * questions.
    23  * questions.
    24  */
    24  */
    25 
    25 
    26 package jdk.nashorn.internal.runtime;
    26 package jdk.nashorn.internal.runtime;
       
    27 
       
    28 import static jdk.nashorn.internal.runtime.JSType.isString;
    27 
    29 
    28 import java.util.ArrayDeque;
    30 import java.util.ArrayDeque;
    29 import java.util.Deque;
    31 import java.util.Deque;
    30 
    32 
    31 /**
    33 /**
    50      *
    52      *
    51      * @param left  left char sequence
    53      * @param left  left char sequence
    52      * @param right right char sequence
    54      * @param right right char sequence
    53      */
    55      */
    54     public ConsString(final CharSequence left, final CharSequence right) {
    56     public ConsString(final CharSequence left, final CharSequence right) {
    55         assert left instanceof String || left instanceof ConsString;
    57         assert isString(left);
    56         assert right instanceof String || right instanceof ConsString;
    58         assert isString(right);
    57         this.left = left;
    59         this.left = left;
    58         this.right = right;
    60         this.right = right;
    59         length = left.length() + right.length();
    61         length = left.length() + right.length();
    60         if (length < 0) {
    62         if (length < 0) {
    61             throw new IllegalArgumentException("too big concatenated String");
    63             throw new IllegalArgumentException("too big concatenated String");