anchor.diff:      } finally {
         overrideManager.exitScope();
       }
  -    node.accept(elementResolver);
  -    node.accept(typeAnalyzer);
  +    node.accept(elementResolver_J2DAccessor);
  +    node.accept(restrictedAnalyzer);
       return null;
     }
   
  
positive.code:     var declaredType = (node.parent as VariableDeclarationList).type;
      if (declaredType != null) return;
      var element = node.element;
      if (element.type != dynamicType) return;
  
      // Local variables can be inferred automatically, for top-levels and fields
      // we rule out cases that could depend on the order in which we process
  
negative.code:       if (!_canBeInferredIndependently(initializer, thisLib)) return;
      }
  
      var type = initializer.staticType;
      if (type == null || type == _typeProvider.bottomType) return;
      element.type = type;
      if (element is PropertyInducingElement) {
        element.getter.returnType = type;
  