anchor.diff:      templateVisitAll(this, ast.children, parent);
     }
   
  +  @override
     void visitNgContent(NgContentAst ast, CompileElement parent) {
  -    view.projectNodesIntoElement(parent, ast.index, ast);
  -  }
  -
  +    _view.projectNodesIntoElement(parent, ast.index, ast);
  +  }
  +
  +  @override
     void visitElement(ElementAst ast, CompileElement parent) {
  -    int nodeIndex = view.nodes.length;
  -
  -    bool isHostRootView = nodeIndex == 0 && view.viewType == ViewType.host;
  +    int nodeIndex = _view.nodes.length;
  +
  +    bool isHostRootView = nodeIndex == 0 && _view.viewType == ViewType.host;
       final type = o.importType(identifierFromTagName(ast.name));
       NodeReference elementRef;
       if (isHostRootView) {
         elementRef = NodeReference.appViewRoot();
  -    } else if (view.isInlined) {
  +    } else if (_view.isInlined) {
         elementRef = NodeReference.inlinedNode(
  -          view.storage, type, view.declarationElement.nodeIndex, nodeIndex);
  +          _view.storage, type, _view.declarationElement.nodeIndex, nodeIndex);
       } else {
  -      elementRef = NodeReference(view.storage, type, nodeIndex);
  +      elementRef = NodeReference(_view.storage, type, nodeIndex);
       }
   
       var directives = <CompileDirectiveMetadata>[];
  
positive.code:         namespaceUris;
  
  class ViewBuilderVisitor implements TemplateAstVisitor<void, CompileElement> {
    final CompileView view;
  
    /// This is `true` if this is building a view that will be inlined into it's
    /// parent view.
    final bool isInlinedView;
  
    /// This is `true` if this is visiting nodes that will be projected into
    /// another view.
    bool visitingProjectedContent = false;
  
    int nestedViewCount = 0;
  
    /// Local variable name used to refer to document. null if not created yet.
    static final defaultDocVarName = 'doc';
    String docVarName;
  
    ViewBuilderVisitor(
      this.view, {
      this.isInlinedView = false,
    });
  
    bool _isRootNode(CompileElement parent) {
      return !identical(parent.view, this.view);
    }
  
    void _addRootNodeAndProject(
        CompileNode node, int ngContentIndex, CompileElement parent) {
  
negative.code:     }
    }
  
    @override
    void visitBoundText(BoundTextAst ast, CompileElement parent) {
      if (_maybeSkipNode(parent, ast.ngContentIndex)) {
        _deadCodeWarning("Bound text node (${ast.value})", ast, parent);
        return;
      }
      int nodeIndex = _view.nodes.length;
      NodeReference renderNode =
          _view.createBoundTextNode(parent, nodeIndex, ast);
      var compileNode = CompileNode(parent, _view, nodeIndex, renderNode);
      _view.nodes.add(compileNode);
      _addRootNodeAndProject(compileNode, ast.ngContentIndex, parent);
    }
  
    @override
    void visitText(TextAst ast, CompileElement parent) {
      if (_maybeSkipNode(parent, ast.ngContentIndex)) {
        if (ast.value.trim() != '') {
  