 # [Closure Library](http://closure-library.googlecode.com/svn/docs/closure_goog_base.js.html).
 exports.ExtendsNode: class ExtendsNode extends BaseNode
 
+  type:     'ExtendsNode'
+  children: ['child', 'parent']
+
   constructor: (child, parent) ->
-    super {name: 'ExtendsNode', children: ['child', 'parent']}
     @child: child
     @parent: parent
 

# an accessor into the object's prototype.
exports.AccessorNode: class AccessorNode extends BaseNode

  constructor: (name, tag) ->
    super {name: 'AccessorNode', children: ['name']}
    @name: name
    @prototype: tag is 'prototype'
    @soak_node: tag is 'soak'

# `true`, `false`, `null`...
exports.LiteralNode: class LiteralNode extends BaseNode

  type: 'LiteralNode'

  constructor: (value) ->
    @value: value

  # Break and continue must be treated as pure statements -- they lose their
