Sha256: 6ac3b9c87b0785d903170843ddd93331cf92507b7d3a880566e91d455a3d998b

Contents?: true

Size: 719 Bytes

Versions: 3

Compression:

Stored size: 719 Bytes

Contents

use :node;

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

fn ConditionalExpression(test, consequent, alternate) 
  extends Node {
  
  this.type = 'ConditionalExpression';
  
  this.test = test;
  this.test.parent = this;
  
  this.consequent = consequent;
  this.consequent.parent = this;
  
  this.alternate = alternate;
  this.alternate.parent = this;
}

ConditionalExpression.prototype.codegen = () -> {
  if !super.codegen() {
    return;
  }
    
  this.test = this.test.codegen();
  this.consequent = this.consequent.codegen();
  this.alternate = this.alternate.codegen();
  
  return this;
};

ConditionalExpression.prototype.hasCallExpression = () -> true;

exports.ConditionalExpression = ConditionalExpression;

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
spider-src-0.1.7 lib/spider-src/support/spider/src/ast/expressions/ConditionalExpression.spider
spider-src-0.1.6 lib/spider-src/support/spider/src/ast/expressions/ConditionalExpression.spider
spider-src-0.1.5 lib/spider-src/support/spider/src/ast/expressions/ConditionalExpression.spider