anchor.diff:            new UnusedLocalElementsVerifier(errorListener, usedElements);
         unit.element.accept(visitor);
       }
  +  }
  +
  +  void _computeLints(FileState file, CompilationUnit unit) {
  +    ErrorReporter errorReporter = _getErrorReporter(file);
  +
  +    List<AstVisitor> visitors = <AstVisitor>[];
  +    for (Linter linter in _analysisOptions.lintRules) {
  +      AstVisitor visitor = linter.getVisitor();
  +      if (visitor != null) {
  +        linter.reporter = errorReporter;
  +        if (_analysisOptions.enableTiming) {
  +          visitor = new TimedAstVisitor(visitor, lintRegistry.getTimer(linter));
  +        }
  +        visitors.add(visitor);
  +      }
  +    }
  +
  +    AstVisitor visitor = new ExceptionHandlingDelegatingAstVisitor(
  +        visitors, ExceptionHandlingDelegatingAstVisitor.logException);
  +
  +    unit.accept(visitor);
     }
   
     void _computePendingMissingRequiredParameters(
  
positive.code: import 'package:analyzer/src/generated/error_verifier.dart';
  import 'package:analyzer/src/generated/resolver.dart';
  import 'package:analyzer/src/generated/source.dart';
  import 'package:analyzer/src/summary/package_bundle_reader.dart';
  import 'package:analyzer/src/task/dart.dart';
  import 'package:analyzer/src/task/strong/checker.dart';
  
negative.code:           _computeHints(file, unit);
          });
        }
  
        if (_analysisOptions.lint) {
          units.forEach((file, unit) {
            _computeLints(file, unit);
          });
        }
      } finally {
        _context.dispose();
      }
  