private void print(ArrayLiteral node) throws IOException { writer.append('['); printList(node.getElements()); writer.append(']'); }
/** * 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; }
@Override public CAstNode visitArrayLiteral(ArrayLiteral node, WalkContext arg) { int index = 0; List<CAstNode> eltNodes = new ArrayList<>(2 * node.getElements().size()); eltNodes.add(((isPrologueScript(arg)) ? makeBuiltinNew("Array") : handleNew(arg, "Array", null))); for(AstNode elt : node.getElements()) { if (elt instanceof EmptyExpression) { index++; } else { eltNodes.add(Ast.makeConstant(String.valueOf(index++))); eltNodes.add(visit(elt, arg)); } } CAstNode lit = Ast.makeNode(CAstNode.OBJECT_LITERAL, eltNodes.toArray(new CAstNode[0])); arg.cfg().map(node, lit); return lit; }
/** * Visits this node, then visits its element expressions in order. * Any empty elements are represented by {@link EmptyExpression} * objects, so the callback will never be passed {@code null}. */ @Override public void visit(NodeVisitor v) { if (v.visit(this)) { for (AstNode e : getElements()) { e.visit(v); } } } }
/** * Visits this node, then visits its element expressions in order. * Any empty elements are represented by {@link EmptyExpression} * objects, so the callback will never be passed {@code null}. */ @Override public void visit(NodeVisitor v) { if (v.visit(this)) { for (AstNode e : getElements()) { e.visit(v); } } } }
/** * Visits this node, then visits its element expressions in order. * Any empty elements are represented by {@link EmptyExpression} * objects, so the callback will never be passed {@code null}. */ @Override public void visit(NodeVisitor v) { if (v.visit(this)) { for (AstNode e : getElements()) { e.visit(v); } } } }
/** * Visits this node, then visits its element expressions in order. * Any empty elements are represented by {@link EmptyExpression} * objects, so the callback will never be passed {@code null}. */ @Override public void visit(NodeVisitor v) { if (v.visit(this)) { for (AstNode e : getElements()) { e.visit(v); } } } }
void decompileArrayLiteral(ArrayLiteral node) { decompiler.addToken(Token.LB); List<AstNode> elems = node.getElements(); int size = elems.size(); for (int i = 0; i < size; i++) { AstNode elem = elems.get(i); decompile(elem); if (i < size - 1) { decompiler.addToken(Token.COMMA); } } decompiler.addToken(Token.RB); }
void decompileArrayLiteral(ArrayLiteral node) { decompiler.addToken(Token.LB); List<AstNode> elems = node.getElements(); int size = elems.size(); for (int i = 0; i < size; i++) { AstNode elem = elems.get(i); decompile(elem); if (i < size - 1) { decompiler.addToken(Token.COMMA); } } decompiler.addToken(Token.RB); }
void decompileArrayLiteral(ArrayLiteral node) { decompiler.addToken(Token.LB); List<AstNode> elems = node.getElements(); int size = elems.size(); for (int i = 0; i < size; i++) { AstNode elem = elems.get(i); decompile(elem); if (i < size - 1) { decompiler.addToken(Token.COMMA); } } decompiler.addToken(Token.RB); }
void decompileArrayLiteral(ArrayLiteral node) { decompiler.addToken(Token.LB); List<AstNode> elems = node.getElements(); int size = elems.size(); for (int i = 0; i < size; i++) { AstNode elem = elems.get(i); decompile(elem); if (i < size - 1) { decompiler.addToken(Token.COMMA); } } decompiler.addToken(Token.RB); }
private void print(ArrayLiteral node) throws IOException { writer.append('['); printList(node.getElements()); writer.append(']'); }
List<AstNode> elems = node.getElements(); Node array = new Node(Token.ARRAYLIT); List<Integer> skipIndexes = null;
List<AstNode> elems = node.getElements(); Node array = new Node(Token.ARRAYLIT); List<Integer> skipIndexes = null;
List<AstNode> elems = node.getElements(); Node array = new Node(Token.ARRAYLIT); List<Integer> skipIndexes = null;
List<AstNode> elems = node.getElements(); Node array = new Node(Token.ARRAYLIT); List<Integer> skipIndexes = null;
/** * Find the array type from ArrayLiteral. Iterates through elements and checks all the types are the same * @param arrayLit * @param provider * @return TypeDeclaration if all elements are of the same type else TypeDeclarationFactory.getDefaultTypeDeclaration(); */ private static TypeDeclaration findArrayType(ArrayLiteral arrayLit, SourceCompletionProvider provider) { TypeDeclaration dec = null; boolean first = true; JavaScriptResolver resolver = provider.getJavaScriptEngine().getJavaScriptResolver(provider); for (AstNode element : arrayLit.getElements()) { TypeDeclaration elementType = resolver.resolveNode(element); if(first) { dec = elementType; first = false; } else { if(elementType != null && !elementType.equals(dec)) { dec = provider.getTypesFactory().getDefaultTypeDeclaration(); break; } } } return dec != null ? dec : provider.getTypesFactory().getDefaultTypeDeclaration(); }
? Token.SETCONST : Token.SETNAME; int index = 0; for (AstNode n : array.getElements()) { if (n.getType() == Token.EMPTY) { index++;
? Token.SETCONST : Token.SETNAME; int index = 0; for (AstNode n : array.getElements()) { if (n.getType() == Token.EMPTY) { index++;
? Token.SETCONST : Token.SETNAME; int index = 0; for (AstNode n : array.getElements()) { if (n.getType() == Token.EMPTY) { index++;