anchor.diff:      } finally {
         overrideManager.exitScope();
       }
  -    node.accept(elementResolver);
  -    node.accept(typeAnalyzer);
  +    node.accept(elementResolver_J2DAccessor);
  +    node.accept(restrictedAnalyzer);
       return null;
     }
   
  
positive.code:       if (!_canBeInferredIndependently(initializer, thisLib)) return;
      }
  
      var type = getStaticType(initializer);
      if (type == _typeProvider.bottomType) return;
      element.type = type;
      if (element is PropertyInducingElement) {
        element.getter.returnType = type;
  
negative.code:     // Similar to the definition in ResolverVisitor.visitCompilationUnit, but
      // changed to visit all top-level fields first, then static fields on all
      // classes, then all top-level functions, then the rest of the classes.
      RestrictedStaticTypeAnalyzer restrictedAnalyzer = typeAnalyzer_J2DAccessor;
      overrideManager.enterScope();
      try {
        var thisLib = node.element.enclosingElement;
        restrictedAnalyzer._isLibraryContainedInSingleUnit.putIfAbsent(thisLib,
            () {
          if (thisLib.units.length > 1) return false;
  