 # 'splat', where it gathers up a block of the parameters into an array.
 exports.ParamNode = class ParamNode extends BaseNode
 
-  class:     'ParamNode'
+  class:    'ParamNode'
   children: ['name']
 
-  constructor: (@name, @attach, @splat) -> @value = literal @name
-
-  compileNode: (o) -> @value.compile o
+  constructor: (@name, @attach, @splat) ->
+    @value = literal @name
+
+  compileNode: (o) ->
+    @value.compile o
 
   toString: (idt) ->
     if @attach then (literal "@#@name").toString idt else @value.toString idt

    splat = undefined
    params = []
    for param, i in @params
      if splat?
        if param.attach
          param.assign = new AssignNode new ValueNode literal('this'), [new AccessorNode param.value]
          @body.expressions.splice splat.index + 1, 0, param.assign

      end = if @trailings.length then ", #len - #{@trailings.length}"
      for trailing, idx in @trailings
        if trailing.attach
          assign        = trailing.assign
          trailing      = literal o.scope.freeVariable()
          assign.value  = trailing
        pos = @trailings.length - idx
        o.scope.assign(trailing.compile(o), "arguments[#variadic ? #len - #pos : #{@index + idx}]")
    "#name = #{utility('slice')}.call(arguments, #@index#end)"
