anchor.diff:    } else if (declaration is MethodMirror) {
       assert(declaration.isGetter);
       propertyType = declaration.returnType.reflectedType;
  -    isFinal = !hasSetter(declaration);
  +    isFinal = !_hasSetter(type, declaration.simpleName);
     }
     var jsTyped = jsType(propertyType);
     if (jsTyped == null) return _emptyPropertyInfo;
  
positive.code: /// All lifecycle methods for a type.
  Map<String, DeclarationMirror> _lifecycleMethodsFor(Type type) {
    return declarationsFor(type, jsProxyReflectable, where: (name, declaration) {
      if (!isRegularMethod(declaration)) return false;
      return _lifecycleMethods.contains(name);
    });
  }
  
negative.code: /// All @Listen annotated methods.
  Map<String, DeclarationMirror> _listenMethodsFor(Type type) {
    return declarationsFor(type, jsProxyReflectable, where: (name, declaration) {
      if (!_isRegularMethod(declaration)) return false;
      return declaration.metadata.any((d) => d is Listen);
    });
  }
  