Sha256: d0627c03a7355aa2050e7d43a3c6a094124bebc2bfe442355f6d4ce6a1342e1a

Contents?: true

Size: 694 Bytes

Versions: 3

Compression:

Stored size: 694 Bytes

Contents

use :node;

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

fn Property(key, value, shorthand, method)
  extends Node {
  
  this.type = 'Property';
  this.kind = 'init';
  this.method = method;
  this.shorthand = shorthand;
  this.computed = false;
                
  this.key = key;
  this.key.parent = this;
  
  this.value = value;
  this.value.parent = this;
}

Property.prototype.codegen = () -> {
  if !super.codegen() {
    return;
  }
  
  this.key = this.key.codegen(false);
  this.value = this.value.codegen(this.parent.type != "ObjectPattern");
  
  return this;
};

Property.prototype.hasCallExpression = () -> {
  return this.value.hasCallExpression();
};

exports.Property = Property;

Version data entries

3 entries across 3 versions & 1 rubygems

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