org.mozilla.javascript.ast.VariableDeclaration类的使用及代码示例

x33g5p2x  于2022-02-01 转载在 JavaScript  
字(7.6k)|赞(0)|评价(0)|浏览(202)

本文整理了Java中org.mozilla.javascript.ast.VariableDeclaration类的一些代码示例,展示了VariableDeclaration类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。VariableDeclaration类的具体详情如下:
包路径:org.mozilla.javascript.ast.VariableDeclaration
类名称:VariableDeclaration

VariableDeclaration介绍

[英]A list of one or more var, const or let declarations. Node type is Token#VAR, Token#CONST or Token#LET.

If the node is for var or const, the node position is the beginning of the var or const keyword. For let declarations, the node position coincides with the first VariableInitializer child.

A standalone variable declaration in a statement context returns truefrom its #isStatement() method.
[中]一个或多个var、const或let声明的列表。节点类型为Token#VAR、Token#CONST或Token#LET。
如果节点用于var或const,则节点位置是var或const关键字的开头。对于let声明,节点位置与第一个VariableInitializer子节点一致。
语句上下文中的独立变量声明从其#isStatement()方法返回True。

代码示例

代码示例来源:origin: konsoletyper/teavm

private void print(LetNode node) throws IOException {
  writer.append("let").ws().append('(');
  printList(node.getVariables().getVariables());
  writer.append(')');
  writer.append(node.getBody());
}

代码示例来源:origin: konsoletyper/teavm

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(';');
  }
}

代码示例来源:origin: geogebra/geogebra

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;

代码示例来源:origin: io.apigee/rhino

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);

代码示例来源:origin: geogebra/geogebra

@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();
}

代码示例来源:origin: geogebra/geogebra

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;
}

代码示例来源:origin: io.apigee/rhino

/**
 * 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);
  }
}

代码示例来源:origin: pmd/pmd

public ASTVariableDeclaration(VariableDeclaration variableDeclaration) {
  super(variableDeclaration);
  super.setImage(Token.typeToName(variableDeclaration.getType()).toLowerCase(Locale.ROOT));
}

代码示例来源:origin: geogebra/geogebra

/**
 * 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);
}

代码示例来源:origin: com.github.tntim96/rhino

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;

代码示例来源:origin: geogebra/geogebra

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);

代码示例来源:origin: ro.isdc.wro4j/rhino

@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();
}

代码示例来源:origin: io.apigee/rhino

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;
}

代码示例来源:origin: geogebra/geogebra

/**
 * 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);
  }
}

代码示例来源:origin: ro.isdc.wro4j/rhino

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();
  }
}

代码示例来源:origin: ro.isdc.wro4j/rhino

/**
 * 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);
}

代码示例来源:origin: io.apigee/rhino

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;

代码示例来源:origin: ro.isdc.wro4j/rhino

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);

代码示例来源:origin: com.github.tntim96/rhino

@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();
}

代码示例来源:origin: geogebra/geogebra

@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();
}

相关文章