anchor.diff:      }
       library.addCompileTimeError(message, charOffset, uri);
     }
  +
  +  /// A marker method used to mark locations where a token is being located in
  +  /// an unsafe way. In all such cases the parser needs to be fixed to pass in
  +  /// the token.
  +  Token unsafeToken(Token token, TokenType tokenType) {
  +    // TODO(brianwilkerson) Eliminate the need for this method.
  +    return token.type == tokenType ? token : null;
  +  }
   }
   
   /// Data structure placed on the stack to represent a class body.
  
positive.code:     debugEvent("Enum");
      List<EnumConstantDeclaration> constants = popList(count);
      // TODO(paulberry,ahe): the parser should pass in the openBrace token.
      var openBrace = enumKeyword.next.next as analyzer.BeginToken;
      // TODO(paulberry): what if the '}' is missing and the parser has performed
      // error recovery?
      Token closeBrace = openBrace.endGroup;
      SimpleIdentifier name = pop();
      List<Annotation> metadata = pop();
      Comment comment = pop();
  
negative.code:     exitLocalScope();
      exitContinueTarget();
      exitBreakTarget();
      analyzer.BeginToken leftParenthesis =
          unsafeToken(forKeyword.next, TokenType.OPEN_PAREN);
  
      VariableDeclarationList variableList;
      Expression initializer;
  