         func = assign.value
         if base.value is 'constructor'
           if @ctor
-            throw new Error 'cannot define more than one constructor in a class'
+            throw new SyntaxError 'cannot define more than one constructor in a class'
           if func.bound
-            throw new Error 'cannot define a constructor as a bound function'
+            throw new SyntaxError 'cannot define a constructor as a bound function'
           if func instanceof Code
             assign = @ctor = func
           else

      else
        ',\n'
      indent = if prop instanceof Comment then '' else idt
      if prop instanceof Value and prop.this
        prop = new Assign prop.properties[0].name, prop, 'object'
      if prop not instanceof Comment

    return [@makeCode(if @front then '({})' else '{}')] unless props.length
    if @generated
      for node in props when node instanceof Value
        throw new SyntaxError 'cannot have an implicit value in an implicit object'
    idt         = o.indent += TAB
    lastNoncom  = @lastNonComment @properties
    answer = []
