anchor.diff:      }
       return false;
     }
  -
  -  @override
  -  ast.TemplateAst visitAttribute(ast.AttributeAst astNode, [bool _]) => astNode;
  -
  -  @override
  -  ast.TemplateAst visitBanana(ast.BananaAst astNode, [bool _]) => astNode;
  -
  -  @override
  -  ast.TemplateAst visitCloseElement(ast.CloseElementAst astNode, [bool _]) =>
  -      astNode;
  -
  -  @override
  -  ast.TemplateAst visitComment(ast.CommentAst astNode, [bool _]) => astNode;
  -
  -  @override
  -  ast.TemplateAst visitEmbeddedTemplate(ast.EmbeddedTemplateAst astNode,
  -          [bool _]) =>
  -      astNode;
  -
  -  @override
  -  ast.TemplateAst visitEvent(ast.EventAst astNode, [bool _]) => astNode;
  -
  -  @override
  -  ast.TemplateAst visitExpression(ast.ExpressionAst astNode, [bool _]) =>
  -      astNode;
  -
  -  @override
  -  ast.TemplateAst visitLetBinding(ast.LetBindingAst astNode, [bool _]) =>
  -      astNode;
  -
  -  @override
  -  ast.TemplateAst visitProperty(ast.PropertyAst astNode, [bool _]) => astNode;
  -
  -  @override
  -  ast.TemplateAst visitReference(ast.ReferenceAst astNode, [bool _]) => astNode;
  -
  -  @override
  -  ast.TemplateAst visitStar(ast.StarAst astNode, [bool _]) => astNode;
  -
  -  @override
  -  ast.TemplateAst visitText(ast.TextAst astNode, [bool _]) => astNode;
   }
  
positive.code:   }
  
    @override
    ng.TemplateAst visitEvent(ast.EventAst astNode, [ParseContext _]) {
      var value = parser.parseAction(astNode.value, _location(astNode), const []);
      return new ng.BoundEventAst(astNode.name, value, astNode.sourceSpan);
    }
  
    @override
    ng.TemplateAst visitExpression(ast.ExpressionAst astNode, [ParseContext _]) =>
        throw new UnimplementedError('Don\'t know how to handle expressions.');
  
    @override
    ng.TemplateAst visitInterpolation(ast.InterpolationAst astNode,
  
negative.code:   Visitor(this.parser, this.schemaRegistry);
  
    @override
    ng.TemplateAst visitElement(ast.ElementAst astNode, [ParseContext context]) {
      var matchedDirectives = _matchElementDirectives(context, astNode);
      var directiveAsts = _toAst(matchedDirectives, astNode.sourceSpan);
  