     nvar          = scope.freeVariable 'i' if name and not range and codeInBody
     varPart       = ''
     guardPart     = ''
+    unstepPart    = ''
     body          = Expressions.wrap([@body])
     idt1          = @idt 1
     if range

    body          = Push.wrap(rvar, body) unless topLevel
    if @guard
      body        = Expressions.wrap([new If(@guard, body)])
    if codeInBody and not body.containsPureStatement()
      body.unshift  new Literal "var #{name} = #{ivar}" if range
      body.unshift  new Literal "var #{namePart}" if namePart
      body.unshift  new Literal "var #{index} = #{ivar}" if index
      lastLine    = body.expressions.pop()

    """
    #{resultPart}#{@tab}for (#{forPart}) {#{guardPart}
    #{varPart}#{body}
    #{@tab}}
    #{unstepPart}
    #{returnResult}
    """

#### Switch
