visitArray()

in lib/generator.js [1639:1663]


  visitArray(ast, level, env) {
    assert.equal(ast.type, 'array');
    this.emit('new List<');
    this.visitType(ast.inferred.itemType, level, env);
    this.emit('>\n');
    this.emit('{\n', level);
    let item;
    for (let i = 0; i < ast.items.length; i++) {
      item = ast.items[i];
      let comments = DSL.comment.getFrontComments(this.comments, item.tokenRange[0]);
      this.visitComments(comments, level + 1);
      this.emit('', level + 1);
      this.visitExpr(item, level + 1, env);
      if (i < ast.items.length - 1) {
        this.emit(',');
      }
      this.emit('\n');
    }
    if (item) {
      //find the last item's back comment
      let comments = DSL.comment.getBetweenComments(this.comments, item.tokenRange[0], ast.tokenRange[1]);
      this.visitComments(comments, level + 1);
    }
    this.emit('}', level);
  }