anchor.diff:                '  : "$valueParamName"'),
             js('var receiver = (setterCode & 1) ? "this" : "$receiverParamName"'),
             js('var body = receiver + "." + field + "$_=$_$valueParamName"'),
  -          js('prototype["${namer.setterPrefix}" + accessorName] = '
  -                 'new Function(args, body)'),
  -          js.if_('reflectable', [
  -                 js('prototype["${namer.setterPrefix}" + accessorName].'
  -                    '$reflectableField = 1')])
  +          js('var property ='
  +             ' cls + ".prototype.${namer.setterPrefix}" + accessorName + "="'),
  +          js('var fn = "function(" + args + "){" + body + "}"'),
  +          js.if_(
  +              'reflectable',
  +              js('accessors.push(property + "\$reflectable(" + fn + ");\\n")'),
  +              js('accessors.push(property + fn + ";\\n")')),
           ]),
   
         ]),
  
positive.code:             ]),
            ])),
  
            js('var constructor = defineClass(name, cls, fields, desc)'),
            optional(backend.isTreeShakingDisabled,
                     js('constructor["${namer.metadataField}"] = desc')),
            js('allClasses[cls] = constructor'),
            js('globalObject[cls] = constructor'),
            js.if_('supr', js('pendingClasses[cls] = supr'))
          ])
        ]),
  
        js('var finishedClasses = {}'),
  
  
negative.code: 
      return [
        js('var $supportsProtoName = false'),
        // js('var tmp = defineClass("c", "c", ["f<"], {}).prototype'),
        //
        // js.if_(js('tmp.__proto__'), [
        //   js('tmp.__proto__ = {}'),
        //   js.if_(js(r'typeof tmp.get$f != "undefined"'),
        //          js('$supportsProtoName = true'))
        // ])
      ];
    }
  
  