anchor.diff:      }
       _pattern = _becomeParentOf(pattern);
     }
  +
  +  Literal get pattern => _pattern;
  +
  +  @override
  +  Token get beginToken => _pattern.beginToken;
  +
  +  @override
  +  Iterable get childEntities => new ChildEntities()
  +    ..add(_pattern);
  +
  +  @override
  +  Token get endToken => _pattern.endToken;
  +
  +  @override
  +  accept(AstVisitor visitor) => visitor.visitPattern(this);
  +
  +  @override
  +  void visitChildren(AstVisitor visitor) {
  +    _safelyVisitChild(_pattern, visitor);
  +  }
   }
   
   class PatternGuard extends AstNode {
  
positive.code:           cloneToken(node.ofKeyword),
            cloneNode(node.libraryName),
            cloneToken(node.semicolon));
  
    @override
    PostfixExpression visitPostfixExpression(PostfixExpression node) =>
  
negative.code:   R visitPartDirective(PartDirective node);
  
    R visitPartOfDirective(PartOfDirective node);
  
    R visitPattern(Pattern node);
  
    R visitPatternGuard(PatternGuard node);
  
    R visitPostfixExpression(PostfixExpression node);
  
  