anchor.diff:      }
     }
   
  +  void generateReflectionDataForFieldGetterOrSetter(Element member,
  +                                                    String name,
  +                                                    ClassBuilder builder,
  +                                                    {bool isGetter}) {
  +    Selector selector = isGetter
  +        ? new Selector.getter(member.name, member.getLibrary())
  +        : new Selector.setter(member.name, member.getLibrary());
  +    String reflectionName = getReflectionName(selector, name);
  +    if (reflectionName != null) {
  +      var reflectable =
  +          js(backend.isAccessibleByReflection(member) ? '1' : '0');
  +      builder.addProperty('+$reflectionName', reflectable);
  +    }
  +  }
  +
     void generateGetter(Element member, String fieldName, String accessorName,
                         ClassBuilder builder) {
       String getterName = namer.getterNameFromAccessorName(accessorName);
  
positive.code:     builder.addProperty(setterName,
          js.fun(args,
              js('$receiver.$fieldName = #', js(helperName)(arguments))));
    }
  
    void emitClassConstructor(ClassElement classElement, ClassBuilder builder) {
  
negative.code:         : ['v'];
      builder.addProperty(setterName,
          js.fun(args, js('$receiver.$fieldName = v')));
      generateReflectionDataForFieldGetterOrSetter(
          member, setterName, builder, isGetter: false);
    }
  
    bool canGenerateCheckedSetter(VariableElement field) {
  