   class:     'RangeNode'
   children: ['from', 'to']
 
-  constructor: (from, to, exclusive) ->
-    @from = from
-    @to = to
+  constructor: (@from, @to, exclusive) ->
     @exclusive = !!exclusive
     @equals = if @exclusive then '' else '='
 

  class:     'AssignNode'
  children: ['variable', 'value']

  constructor: (variable, value, context) ->
    @variable = variable
    @value    = value
    @context  = context

  topSensitive: ->
    true

  class:     'IfNode'
  children: ['condition', 'switchSubject', 'body', 'elseBody', 'assigner']

  constructor: (@condition, @body, @tags) ->
    @tags      = or {}
    @condition = new OpNode('!', new ParentheticalNode(@condition)) if @tags.invert
    @elseBody = null
    @isChain  = false
