   # on the class.
   addProperties: (node, name) ->
     props = node.base.properties.slice 0
-    while assign = props.shift()
+    exprs = while assign = props.shift()
       if assign instanceof Assign
         base = assign.variable.base
         delete assign.context

          if func instanceof Code
            assign = @ctor = func
          else
            assign = @ctor = new Assign(new Value(new Literal name), func)
        else
          unless assign.variable.this
            assign.variable = new Value(new Literal(name), [new Access(base, 'proto')])

    @setContext name
    @walkBody name
    @ensureConstructor name
    @body.expressions.unshift @ctor unless @ctor instanceof Code
    if @parent
      extension = new Extends lname, @parent
      if @ctor instanceof Code
        @body.expressions.unshift extension
      else
        @body.expressions.splice 1, 0, extension
    @body.expressions.push lname
    @addBoundFunctions o

