anchor.diff:    @override
     void endIfControlFlow(Token token) {
       var thenElement = pop() as CollectionElement;
  -    var condition = pop() as ParenthesizedExpression;
  +    var condition = pop() as _ParenthesizedCondition;
       var ifToken = pop() as Token;
       pushIfControlFlowInfo(ifToken, condition, thenElement, null, null);
     }
  
positive.code: 
      var elsePart = popIfNotNull(elseToken) as Statement?;
      var thenPart = pop() as Statement;
      var condition = pop() as ParenthesizedExpression;
      push(ast.ifStatement(
          ifToken,
          condition.leftParenthesis,
  
negative.code: 
    void pushIfControlFlowInfo(
        Token ifToken,
        _ParenthesizedCondition condition,
        CollectionElement thenElement,
        Token? elseToken,
        CollectionElement? elseElement) {
  