anchor.diff:              isVarAllowed: true)
           .next;
   
  +    Token name = beforeName.next;
       if (token != name) {
         reportRecoverableErrorWithToken(token, fasta.templateExtraneousModifier);
         token = name;
  
positive.code:           context.parseRecovery(syntheticPreviousToken(token), afterModifiers);
        externalToken = context.externalToken;
        name = context.name;
  
        // If the modifiers form a partial top level directive or declaration
        // and we have found the start of a new top level declaration
  
negative.code:       listener.handleModifiers(0);
      }
  
      if (beforeType == null) {
        listener.handleNoType(name);
      } else {
        parseType(beforeType.next, TypeContinuation.Optional);
      }
      if (getOrSet == null && optional('operator', name)) {
        token = parseOperatorName(beforeName.next);
        if (staticModifier != null) {
          reportRecoverableError(staticModifier, fasta.messageStaticOperator);
        }
      } else {
        token = ensureIdentifier(
            beforeName.next, IdentifierContext.methodDeclaration);
      }
  
      // TODO(brianwilkerson): Move the next statement inside the else above
  