anchor.diff:     *
      * <pre>
      * relationalExpression ::=
  -   *     shiftExpression ('is' '!'? type | 'as' type | relationalOperator shiftExpression)?
  +   *     bitwiseOrExpression ('is' '!'? type | 'as' type | relationalOperator bitwiseOrExpression)?
      *   | 'super' relationalOperator shiftExpression
      * </pre>
      *
  
positive.code:     if (matches(Keyword.SUPER) && matches4(peek(), TokenType.AMPERSAND)) {
        expression = new SuperExpression.full(andAdvance);
      } else {
        expression = parseEqualityExpression();
      }
      while (matches5(TokenType.AMPERSAND)) {
        Token operator = andAdvance;
        expression = new BinaryExpression.full(expression, operator, parseEqualityExpression());
      }
      return expression;
    }
  
negative.code:    *
     * <pre>
     * logicalAndExpression ::=
     *     equalityExpression ('&&' equalityExpression)*
     * </pre>
     *
     * @return the logical and expression that was parsed
     */
    Expression parseLogicalAndExpression() {
      Expression expression = parseEqualityExpression();
      while (matches5(TokenType.AMPERSAND_AMPERSAND)) {
        Token operator = andAdvance;
        expression = new BinaryExpression.full(expression, operator, parseEqualityExpression());
      }
      return expression;
    }
  