Sha256: add6f4dfb52b025dbfbd33f3c66c752792e46d0a1619a82664987cc20ab2c5e1

Contents?: true

Size: 689 Bytes

Versions: 3

Compression:

Stored size: 689 Bytes

Contents

use :node;

var Node = module.require('../Node').Node;

fn VariableDeclarationStatement(declarations)
  extends Node {
  
  this.type = 'VariableDeclaration';
  this.declarations = declarations;
  this.kind = 'let';
  
  for decl in declarations {
    decl.parent = this;
  }
}

VariableDeclarationStatement.prototype.codegen = () -> {
  if !super.codegen() {
    return;
  }
  
  var i = 0;
  while (i < this.declarations.length) {
    var statement = this.declarations[i].codegen();
    if statement? {
      this.declarations[this.declarations.indexOf(statement)] = statement;
    }
    i++;
  }
  
  return this;
};

exports.VariableDeclarationStatement = VariableDeclarationStatement;

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
spider-src-0.1.7 lib/spider-src/support/spider/src/ast/statements/VariableDeclarationStatement.spider
spider-src-0.1.6 lib/spider-src/support/spider/src/ast/statements/VariableDeclarationStatement.spider
spider-src-0.1.5 lib/spider-src/support/spider/src/ast/statements/VariableDeclarationStatement.spider