src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/ir/LiteralNode.java

Print this page

        

*** 179,188 **** --- 179,210 ---- public Object getObject() { return value; } /** + * Test if the value is an array + * + * @return True if value is an array + */ + public boolean isArray() { + return false; + } + + public List<Expression> getElementExpressions() { + return null; + } + + /** + * Test if the value is a boolean. + * + * @return True if value is a boolean. + */ + public boolean isBoolean() { + return value instanceof Boolean; + } + + /** * Test if the value is a string. * * @return True if value is a string. */ public boolean isString() {
*** 605,614 **** --- 627,642 ---- private final int[] postsets; /** Sub units with indexes ranges, in which to split up code generation, for large literals */ private final List<ArrayUnit> units; + @Override + public boolean isArray() { + return true; + } + + /** * An ArrayUnit is a range in an ArrayLiteral. ArrayLiterals can * be split if they are too large, for bytecode generation reasons */ public static final class ArrayUnit implements CompileUnitHolder, Serializable {
*** 832,841 **** --- 860,870 ---- /** * Returns a list of array element expressions. Note that empty array elements manifest themselves as * null. * @return a list of array element expressions. */ + @Override public List<Expression> getElementExpressions() { return Collections.unmodifiableList(Arrays.asList(value)); } /**