anchor.diff:            context.parseRecovery(syntheticPreviousToken(token), afterModifiers);
         externalToken = context.externalToken;
         name = context.name;
  +      // TODO(brianwilkerson): Remove the invocation of `previous` when
  +      // `context.name` returns the token before the name.
  +      beforeName = name.previous;
   
         // If the modifiers form a partial top level directive or declaration
         // and we have found the start of a new top level declaration
  
positive.code:       // Fall through to continue parsing the top level method.
      }
  
      if (type == null) {
        listener.handleNoType(name);
      } else {
        parseType(type, TypeContinuation.Optional);
      }
      name =
          ensureIdentifier(name, IdentifierContext.topLevelFunctionDeclaration);
  
      bool isGetter = false;
      if (getOrSet == null) {
  
negative.code:     return token;
    }
  
    Token parseTopLevelMethod(Token start, Token afterModifiers, Token beforeType,
        Token getOrSet, Token beforeName) {
      Token token = start = start.next;
      Token name = beforeName.next;
  
      // Parse modifiers
      Token externalToken;
  