private void print(ArrayLiteral node) throws IOException { writer.append('['); printList(node.getElements()); writer.append(']'); }
@Override public boolean isDestructuring() { return node.isDestructuring(); }
int pos = ts.tokenBeg, end = ts.tokenEnd; List<AstNode> elements = new ArrayList<AstNode>(); ArrayLiteral pn = new ArrayLiteral(pos); boolean after_lb_or_comma = true; int afterComma = -1; pn.setDestructuringLength(elements.size() + (after_lb_or_comma ? 1 : 0)); pn.setSkipCount(skipCount); if (afterComma != -1) warnTrailingComma(pos, elements, afterComma); pn.addElement(e); pn.setLength(end - pos); return pn;
private Node transformArrayLiteral(ArrayLiteral node) { if (node.isDestructuring()) { return node; List<AstNode> elems = node.getElements(); Node array = new Node(Token.ARRAYLIT); List<Integer> skipIndexes = null; node.getDestructuringLength()); if (skipIndexes != null) { int[] skips = new int[skipIndexes.size()];
@Override public String toSource(int depth) { StringBuilder sb = new StringBuilder(); sb.append(makeIndent(depth)); sb.append("["); if (elements != null) { printList(elements, sb); } sb.append("]"); return sb.toString(); }
/** * Adds an element to the list, and sets its parent to this node. * @param element the element to add * @throws IllegalArgumentException if element is {@code null}. To indicate * an empty element, use an {@link EmptyExpression} node. */ public void addElement(AstNode element) { assertNotNull(element); if (elements == null) elements = new ArrayList<AstNode>(); elements.add(element); element.setParent(this); }
/** * Sets the element list, and sets each element's parent to this node. * @param elements the element list. Can be {@code null}. */ public void setElements(List<AstNode> elements) { if (elements == null) { this.elements = null; } else { if (this.elements != null) this.elements.clear(); for (AstNode e : elements) addElement(e); } }
destructuringLen = 0; if (kid instanceof ArrayLiteral) destructuringLen = ((ArrayLiteral) kid).getDestructuringLength(); } else if (kidType == Token.NAME) { lvalue = Node.newString(Token.NAME, kid.getString()); destructuringLen = 0; if (lhs instanceof ArrayLiteral) destructuringLen = ((ArrayLiteral) lhs).getDestructuringLength(); } else { lvalue = makeReference(lhs);
int pos = ts.tokenBeg, end = ts.tokenEnd; List<AstNode> elements = new ArrayList<AstNode>(); ArrayLiteral pn = new ArrayLiteral(pos); boolean after_lb_or_comma = true; int afterComma = -1; pn.setDestructuringLength(elements.size() + (after_lb_or_comma ? 1 : 0)); pn.setSkipCount(skipCount); if (afterComma != -1) warnTrailingComma(pos, elements, afterComma); pn.addElement(e); pn.setLength(end - pos); return pn;
private Node transformArrayLiteral(ArrayLiteral node) { if (node.isDestructuring()) { return node; List<AstNode> elems = node.getElements(); Node array = new Node(Token.ARRAYLIT); List<Integer> skipIndexes = null; node.getDestructuringLength()); if (skipIndexes != null) { int[] skips = new int[skipIndexes.size()];
@Override public String toSource(int depth) { StringBuilder sb = new StringBuilder(); sb.append(makeIndent(depth)); sb.append("["); if (elements != null) { printList(elements, sb); } sb.append("]"); return sb.toString(); }
/** * Adds an element to the list, and sets its parent to this node. * @param element the element to add * @throws IllegalArgumentException if element is {@code null}. To indicate * an empty element, use an {@link EmptyExpression} node. */ public void addElement(AstNode element) { assertNotNull(element); if (elements == null) elements = new ArrayList<AstNode>(); elements.add(element); element.setParent(this); }
/** * Sets the element list, and sets each element's parent to this node. * @param elements the element list. Can be {@code null}. */ public void setElements(List<AstNode> elements) { if (elements == null) { this.elements = null; } else { if (this.elements != null) this.elements.clear(); for (AstNode e : elements) addElement(e); } }
destructuringLen = 0; if (kid instanceof ArrayLiteral) destructuringLen = ((ArrayLiteral) kid).getDestructuringLength(); } else if (kidType == Token.NAME) { lvalue = Node.newString(Token.NAME, kid.getString()); destructuringLen = 0; if (lhs instanceof ArrayLiteral) destructuringLen = ((ArrayLiteral) lhs).getDestructuringLength(); } else { lvalue = makeReference(lhs);
int pos = ts.tokenBeg, end = ts.tokenEnd; List<AstNode> elements = new ArrayList<AstNode>(); ArrayLiteral pn = new ArrayLiteral(pos); boolean after_lb_or_comma = true; int afterComma = -1; pn.setDestructuringLength(elements.size() + (after_lb_or_comma ? 1 : 0)); pn.setSkipCount(skipCount); if (afterComma != -1) warnTrailingComma(pos, elements, afterComma); pn.addElement(e); pn.setLength(end - pos); return pn;
/** * Returns string array literal values. */ private List<String> arrayStringLiteral(final AstNode node) { checkState(node instanceof ArrayLiteral, node, "Expected array literal only"); List<String> result = new ArrayList<>(); //noinspection ConstantConditions ArrayLiteral array = (ArrayLiteral) node; for (AstNode element : array.getElements()) { result.add(stringLiteral(element)); } return result; }
private Node transformArrayLiteral(ArrayLiteral node) { if (node.isDestructuring()) { return node; List<AstNode> elems = node.getElements(); Node array = new Node(Token.ARRAYLIT); List<Integer> skipIndexes = null; node.getDestructuringLength()); if (skipIndexes != null) { int[] skips = new int[skipIndexes.size()];
@Override public String toSource(int depth) { StringBuilder sb = new StringBuilder(); sb.append(makeIndent(depth)); sb.append("["); if (elements != null) { printList(elements, sb); } sb.append("]"); return sb.toString(); }
/** * Adds an element to the list, and sets its parent to this node. * @param element the element to add * @throws IllegalArgumentException if element is {@code null}. To indicate * an empty element, use an {@link EmptyExpression} node. */ public void addElement(AstNode element) { assertNotNull(element); if (elements == null) elements = new ArrayList<AstNode>(); elements.add(element); element.setParent(this); }
/** * Sets the element list, and sets each element's parent to this node. * @param elements the element list. Can be {@code null}. */ public void setElements(List<AstNode> elements) { if (elements == null) { this.elements = null; } else { if (this.elements != null) this.elements.clear(); for (AstNode e : elements) addElement(e); } }