Sha256: f2ef86b7879acc31369a07c5ec30c2f0a37ef2085322a802d8bfe76d13478826

Contents?: true

Size: 451 Bytes

Versions: 3

Compression:

Stored size: 451 Bytes

Contents

use :node;

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

fn ReturnStatement(argument)
  extends Node {
  
  this.type = 'ReturnStatement';
  this.argument = argument;
  
  if this.argument? {
    this.argument.parent = this;
  }
}

ReturnStatement.prototype.codegen = () -> {
  if !super.codegen() {
    return;
  }
  
  if this.argument? {
    this.argument = this.argument.codegen();
  }

  return this;
};

exports.ReturnStatement = ReturnStatement;

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/ReturnStatement.spider
spider-src-0.1.6 lib/spider-src/support/spider/src/ast/statements/ReturnStatement.spider
spider-src-0.1.5 lib/spider-src/support/spider/src/ast/statements/ReturnStatement.spider