anchor.diff:        mark = token;
         if (optional('.', token)) {
           Token period = token;
  -        token = parseSend(token);
  +        token = parseSend(token.next);
           listener.handleBinaryExpression(period);
         }
         token = parseArgumentOrIndexStar(token);
  
positive.code:     listener.beginCascade(token);
      assert(optional('..', token));
      Token cascadeOperator = token;
      if (optional('[', token)) {
        token = parseArgumentOrIndexStar(token);
      } else if (isIdentifier(token)) {
  
negative.code: 
      if (token.info.precedence === ASSIGNMENT_PRECEDENCE) {
        Token assignment = token;
        token = parsePrecedenceExpression(token.next, CASCADE_PRECEDENCE + 1);
        listener.handleAssignmentExpression(assignment);
      }
      listener.endCascade();
  