anchor.diff:      var declaredType = (node.parent as VariableDeclarationList).type;
       if (declaredType != null) return;
       var element = node.element;
  -    if (element.type != dynamicType) return;
  +    if (element.type != _typeProvider.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
  
positive.code:     } finally {
        overrideManager.exitScope();
      }
      node.accept(elementResolver);
      node.accept(typeAnalyzer);
      return null;
    }
  
  
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;
  