private void print(LetNode node) throws IOException { writer.append("let").ws().append('('); printList(node.getVariables().getVariables()); writer.append(')'); writer.append(node.getBody()); }
private void print(VariableDeclaration node) throws IOException { switch (node.getType()) { case Token.VAR: writer.append("var "); break; case Token.LET: writer.append("let "); break; case Token.CONST: writer.append("const "); break; default: break; } print(node.getVariables().get(0)); for (int i = 1; i < node.getVariables().size(); ++i) { writer.append(',').ws(); print(node.getVariables().get(i)); } if (node.isStatement()) { writer.append(';'); } }
VariableDeclaration pn = new VariableDeclaration(pos); pn.setType(declType); pn.setLineno(ts.lineno); Comment varjsdocNode = getAndResetJsDoc(); if (varjsdocNode != null) { pn.setJsDocNode(varjsdocNode); vi.setJsDocNode(jsdocNode); vi.setLineno(lineno); pn.addVariable(vi); pn.setLength(end - pos); pn.setIsStatement(isStatement); return pn;
private Node transformVariableInitializers(VariableDeclaration node) { List<VariableInitializer> vars = node.getVariables(); int size = vars.size(), i = 0; for (VariableInitializer var : vars) { node.addChildToBack(left); } else { Node d = createDestructuringAssignment(node.getType(), left, right); node.addChildToBack(d); left.addChildToBack(right); node.addChildToBack(left);
@Override public String toSource(int depth) { StringBuilder sb = new StringBuilder(); sb.append(makeIndent(depth)); sb.append(declTypeName()); sb.append(" "); printList(variables, sb); if (isStatement()) { sb.append(";\n"); } return sb.toString(); }
private Node transformVariables(VariableDeclaration node) { decompiler.addToken(node.getType()); transformVariableInitializers(node); // Might be most robust to have parser record whether it was // a variable declaration statement, possibly as a node property. AstNode parent = node.getParent(); if (!(parent instanceof Loop) && !(parent instanceof LetNode)) { decompiler.addEOL(Token.SEMI); } return node; }
/** * Sets variable list * @throws IllegalArgumentException if variables list is {@code null} */ public void setVariables(List<VariableInitializer> variables) { assertNotNull(variables); this.variables.clear(); for (VariableInitializer vi : variables) { addVariable(vi); } }
public ASTVariableDeclaration(VariableDeclaration variableDeclaration) { super(variableDeclaration); super.setImage(Token.typeToName(variableDeclaration.getType()).toLowerCase(Locale.ROOT)); }
/** * Adds a variable initializer node to the child list. * Sets initializer node's parent to this node. * @throws IllegalArgumentException if v is {@code null} */ public void addVariable(VariableInitializer v) { assertNotNull(v); variables.add(v); v.setParent(this); }
VariableDeclaration pn = new VariableDeclaration(pos); pn.setType(declType); pn.setLineno(ts.lineno); Comment varjsdocNode = getAndResetJsDoc(); if (varjsdocNode != null) { pn.setJsDocNode(varjsdocNode); vi.setJsDocNode(jsdocNode); vi.setLineno(lineno); pn.addVariable(vi); pn.setLength(end - pos); pn.setIsStatement(isStatement); return pn;
private Node transformVariableInitializers(VariableDeclaration node) { List<VariableInitializer> vars = node.getVariables(); int size = vars.size(), i = 0; for (VariableInitializer var : vars) { node.addChildToBack(left); } else { Node d = createDestructuringAssignment(node.getType(), left, right); node.addChildToBack(d); left.addChildToBack(right); node.addChildToBack(left);
@Override public String toSource(int depth) { StringBuilder sb = new StringBuilder(); sb.append(makeIndent(depth)); sb.append(declTypeName()); sb.append(" "); printList(variables, sb); if (isStatement()) { sb.append(";\n"); } return sb.toString(); }
private Node transformVariables(VariableDeclaration node) { decompiler.addToken(node.getType()); transformVariableInitializers(node); // Might be most robust to have parser record whether it was // a variable declaration statement, possibly as a node property. AstNode parent = node.getParent(); if (!(parent instanceof Loop) && !(parent instanceof LetNode)) { decompiler.addEOL(Token.SEMI); } return node; }
/** * Sets variable list * @throws IllegalArgumentException if variables list is {@code null} */ public void setVariables(List<VariableInitializer> variables) { assertNotNull(variables); this.variables.clear(); for (VariableInitializer vi : variables) { addVariable(vi); } }
private Node transformForInLoop(ForInLoop loop) { decompiler.addToken(Token.FOR); if (loop.isForEach()) decompiler.addName("each "); decompiler.addToken(Token.LP); loop.setType(Token.LOOP); pushScope(loop); try { int declType = -1; AstNode iter = loop.getIterator(); if (iter instanceof VariableDeclaration) { declType = ((VariableDeclaration)iter).getType(); } Node lhs = transform(iter); decompiler.addToken(Token.IN); Node obj = transform(loop.getIteratedObject()); decompiler.addToken(Token.RP); decompiler.addEOL(Token.LC); Node body = transform(loop.getBody()); decompiler.addEOL(Token.RC); return createForIn(declType, loop, lhs, obj, body, loop.isForEach()); } finally { popScope(); } }
/** * Adds a variable initializer node to the child list. * Sets initializer node's parent to this node. * @throws IllegalArgumentException if v is {@code null} */ public void addVariable(VariableInitializer v) { assertNotNull(v); variables.add(v); v.setParent(this); }
VariableDeclaration pn = new VariableDeclaration(pos); pn.setType(declType); pn.setLineno(ts.lineno); Comment varjsdocNode = getAndResetJsDoc(); if (varjsdocNode != null) { pn.setJsDocNode(varjsdocNode); vi.setJsDocNode(jsdocNode); vi.setLineno(lineno); pn.addVariable(vi); pn.setLength(end - pos); pn.setIsStatement(isStatement); return pn;
private Node transformVariableInitializers(VariableDeclaration node) { List<VariableInitializer> vars = node.getVariables(); int size = vars.size(), i = 0; for (VariableInitializer var : vars) { node.addChildToBack(left); } else { Node d = createDestructuringAssignment(node.getType(), left, right); node.addChildToBack(d); left.addChildToBack(right); node.addChildToBack(left);
@Override public String toSource(int depth) { StringBuilder sb = new StringBuilder(); sb.append(makeIndent(depth)); sb.append(declTypeName()); sb.append(" "); printList(variables, sb); if (isStatement()) { sb.append(";\n"); } return sb.toString(); }
@Override public String toSource(int depth) { String pad = makeIndent(depth); StringBuilder sb = new StringBuilder(); sb.append(pad); sb.append("let ("); printList(variables.getVariables(), sb); sb.append(") "); if (body != null) { sb.append(body.toSource(depth)); } return sb.toString(); }