anchor.diff:      return token;
     }
   
  +  /// switchStatement:
  +  ///   'switch' parenthesizedExpression switchBlock
  +  /// ;
     Token parseSwitchStatement(Token token) {
       assert(optional('switch', token));
       Token switchKeyword = token;
  
positive.code:     return token;
    }
  
    Token parseAssertStatement(Token token) {
      token = parseAssert(token, Assert.Statement);
      return ensureSemicolon(token).next;
    }
  
    Token parseContinueStatement(Token token) {
      assert(optional('continue', token));
      Token continueKeyword = token;
  
negative.code:     return semicolon.next;
    }
  
    /// assertion:
    ///   'assert' '(' expression (',' expression)? ','? ')'
    /// ;
    Token parseAssert(Token token, Assert kind) {
      assert(optional('assert', token));
      listener.beginAssert(token, kind);
      Token assertKeyword = token;
      Token commaToken = null;
  