anchor.diff:        throw new UnimplementedError('Don\'t know how to handle comments.');
   
     @override
  -  ng.TemplateAst visitElement(ast.ElementAst astNode, [ParseContext context]) =>
  -      new ng.ElementAst(
  -          astNode.name,
  -          _visitAll(astNode.attributes, context),
  -          _visitAll(astNode.properties, context),
  -          _visitAll(astNode.events, context),
  -          _visitAll(astNode.references, context),
  -          [] /*directives */,
  -          [] /* providers */,
  -          null /* elementProviderUsage */,
  -          _visitAll(astNode.childNodes, context),
  -          0 /* ngContentIndex */,
  -          astNode.sourceSpan);
  +  ng.TemplateAst visitElement(ast.ElementAst astNode, [ParseContext context]) {
  +    final elementContext = context.withElementName(astNode.name);
  +    return new ng.ElementAst(
  +        astNode.name,
  +        _visitAll(astNode.attributes, elementContext),
  +        _visitAll(astNode.properties, elementContext),
  +        _visitAll(astNode.events, elementContext),
  +        _visitAll(astNode.references, elementContext),
  +        [] /*directives */,
  +        [] /* providers */,
  +        null /* elementProviderUsage */,
  +        _visitAll(astNode.childNodes, elementContext),
  +        0 /* ngContentIndex */,
  +        astNode.sourceSpan);
  +  }
   
     @override
     ng.TemplateAst visitEmbeddedContent(ast.EmbeddedContentAst astNode,
  
positive.code:       new ng.VariableAst(astNode.name, astNode.value, astNode.sourceSpan);
  
    @override
    ng.TemplateAst visitProperty(ast.PropertyAst astNode, [ParseContext _]) {
      // TODO(alorenzen): Determine elementName;
      var elementName = 'div';
      var value = parser.parseBinding(astNode.value, _location(astNode), []);
      return createElementPropertyAst(elementName, _getName(astNode), value,
          astNode.sourceSpan, schemaRegistry, (_, __, [___]) {});
    }
  
    static String _getName(ast.PropertyAst astNode) {
  
negative.code:       astNode.isSynthetic ? '' : astNode.sourceSpan.start.toString();
  }
  
  class ParseContext {
    final String elementName;
  
    ParseContext({this.elementName});
  
    ParseContext withElementName(String name) =>
        new ParseContext(elementName: name);
  }
  
  /// Visitor which filters elements that are not supported in angular templates.
  class ElementFilter implements ast.TemplateAstVisitor<ast.TemplateAst, bool> {
  