anchor.diff:  
     void addWhileStatement(LintRule linter, void Function(WhileStatement) f) {
       _forWhileStatement.add(new _Subscription(linter, f, _getTimer(linter)));
  +  }
  +
  +  void addWithClause(LintRule linter, void Function(WithClause) f) {
  +    _forWithClause.add(new _Subscription(linter, f, _getTimer(linter)));
  +  }
  +
  +  void addYieldStatement(LintRule linter, void Function(YieldStatement) f) {
  +    _forYieldStatement.add(new _Subscription(linter, f, _getTimer(linter)));
     }
   
     /// Get the timer associated with the given [linter].
  
positive.code: class NodeLintRegistry {
    final bool enableTiming;
    final List<_Subscription<AsExpression>> _forAsExpression = [];
    final List<_Subscription<AssignmentExpression>> _forAssignmentExpression = [];
    final List<_Subscription<AssertStatement>> _forAssertStatement = [];
    final List<_Subscription<AwaitExpression>> _forAwaitExpression = [];
    final List<_Subscription<BinaryExpression>> _forBinaryExpression = [];
    final List<_Subscription<BreakStatement>> _forBreakStatement = [];
    final List<_Subscription<CatchClause>> _forCatchClause = [];
    final List<_Subscription<ClassDeclaration>> _forClassDeclaration = [];
    final List<_Subscription<ClassTypeAlias>> _forClassTypeAlias = [];
    final List<_Subscription<Comment>> _forComment = [];
    final List<_Subscription<CompilationUnit>> _forCompilationUnit = [];
    final List<_Subscription<ConstructorDeclaration>> _forConstructorDeclaration =
        [];
    final List<_Subscription<ContinueStatement>> _forContinueStatement = [];
    final List<_Subscription<DeclaredIdentifier>> _forDeclaredIdentifier = [];
    final List<_Subscription<DefaultFormalParameter>> _forDefaultFormalParameter =
        [];
    final List<_Subscription<DoStatement>> _forDoStatement = [];
    final List<_Subscription<EmptyStatement>> _forEmptyStatement = [];
    final List<_Subscription<EnumConstantDeclaration>>
        _forEnumConstantDeclaration = [];
    final List<_Subscription<EnumDeclaration>> _forEnumDeclaration = [];
    final List<_Subscription<FieldDeclaration>> _forFieldDeclaration = [];
    final List<_Subscription<FieldFormalParameter>> _forFieldFormalParameter = [];
    final List<_Subscription<FormalParameterList>> _forFormalParameterList = [];
    final List<_Subscription<ForEachStatement>> _forForEachStatement = [];
    final List<_Subscription<ForStatement>> _forForStatement = [];
    final List<_Subscription<FunctionDeclaration>> _forFunctionDeclaration = [];
    final List<_Subscription<FunctionTypeAlias>> _forFunctionTypeAlias = [];
    final List<_Subscription<IfStatement>> _forIfStatement = [];
    final List<_Subscription<ImportDirective>> _forImportDirective = [];
    final List<_Subscription<InstanceCreationExpression>>
        _forInstanceCreationExpression = [];
    final List<_Subscription<LibraryDirective>> _forLibraryDirective = [];
    final List<_Subscription<ListLiteral>> _forListLiteral = [];
    final List<_Subscription<MapLiteral>> _forMapLiteral = [];
    final List<_Subscription<MethodDeclaration>> _forMethodDeclaration = [];
    final List<_Subscription<MethodInvocation>> _forMethodInvocation = [];
    final List<_Subscription<ParenthesizedExpression>>
        _forParenthesizedExpression = [];
    final List<_Subscription<ReturnStatement>> _forReturnStatement = [];
    final List<_Subscription<SimpleFormalParameter>> _forSimpleFormalParameter =
        [];
    final List<_Subscription<SimpleIdentifier>> _forSimpleIdentifier = [];
    final List<_Subscription<SimpleStringLiteral>> _forSimpleStringLiteral = [];
    final List<_Subscription<StringInterpolation>> _forStringInterpolation = [];
    final List<_Subscription<SwitchStatement>> _forSwitchStatement = [];
    final List<_Subscription<ThrowExpression>> _forThrowExpression = [];
    final List<_Subscription<TopLevelVariableDeclaration>>
        _forTopLevelVariableDeclaration = [];
    final List<_Subscription<TypeName>> _forTypeName = [];
    final List<_Subscription<VariableDeclaration>> _forVariableDeclaration = [];
    final List<_Subscription<VariableDeclarationList>>
        _forVariableDeclarationList = [];
    final List<_Subscription<VariableDeclarationStatement>>
        _forVariableDeclarationStatement = [];
    final List<_Subscription<WhileStatement>> _forWhileStatement = [];
  
    NodeLintRegistry(this.enableTiming);
  
    void addAsExpression(LintRule linter, void Function(AsExpression) f) {
      _forAsExpression.add(new _Subscription(linter, f, _getTimer(linter)));
    }
  
    void addAssertStatement(LintRule linter, void Function(AssertStatement) f) {
  
negative.code:     _forBinaryExpression.add(new _Subscription(linter, f, _getTimer(linter)));
    }
  
    void addBlock(LintRule linter, void Function(Block) f) {
      _forBlock.add(new _Subscription(linter, f, _getTimer(linter)));
    }
  
    void addBlockFunctionBody(
        LintRule linter, void Function(BlockFunctionBody) f) {
      _forBlockFunctionBody.add(new _Subscription(linter, f, _getTimer(linter)));
    }
  
    void addBooleanLiteral(LintRule linter, void Function(BooleanLiteral) f) {
      _forBooleanLiteral.add(new _Subscription(linter, f, _getTimer(linter)));
    }
  
    void addBreakStatement(LintRule linter, void Function(BreakStatement) f) {
      _forBreakStatement.add(new _Subscription(linter, f, _getTimer(linter)));
    }
  
    void addCascadeExpression(
        LintRule linter, void Function(CascadeExpression) f) {
      _forCascadeExpression.add(new _Subscription(linter, f, _getTimer(linter)));
    }
  
    void addCatchClause(LintRule linter, void Function(CatchClause) f) {
      _forCatchClause.add(new _Subscription(linter, f, _getTimer(linter)));
    }
  