use :node; var Node = module.require('../Node').Node; fn ObjectPattern(properties) extends Node { this.type = 'ObjectPattern'; this.properties = properties; for property in this.properties { property.parent = this; } } ObjectPattern.prototype.codegen = () -> { if !super.codegen() { return; } var context = this.getContext().node; for property, i in this.properties { this.properties[i] = property.codegen(); if property.value? { if property.value.type == "Identifier" { context.defineIdentifier(property.value); } } else { if property.key.type == "Identifier" { context.defineIdentifier(property.key); } } } return this; }; ObjectPattern.prototype.hasCallExpression = () -> true; exports.ObjectPattern = ObjectPattern;