anchor.diff:      // `true` if an identifier has been seen after 'get'.
       bool hasName = false;
   
  +    Token previous = token;
  +    token = token.next;
       while (token.kind != EOF_TOKEN) {
         if (optional('get', token)) {
           isGetter = true;
         } else if (hasName &&
             (optional("sync", token) || optional("async", token))) {
           // Skip.
  +        previous = token;
           token = token.next;
           if (optional("*", token)) {
             // Skip.
  +          previous = token;
             token = token.next;
           }
           continue;
  
positive.code:           if (optional(';', token)) {
              reportRecoverableError(token, fasta.messageExpectedOpenParens);
            }
            token = expect("(", token);
          }
          if (token is BeginToken) {
            Token closeBrace = closeBraceTokenFor(token);
            if (closeBrace == null) {
              token = reportUnmatchedToken(token).next;
            } else {
              token = closeBrace.next;
            }
          }
        }
  
negative.code:     // TODO(brianwilkerson) Accept the token before `name` so that we can pass
      // the last consumed token to `ensureIdentifier`.
      Token varFinalOrConst = null;
      for (Token beforeModifier in modifiers) {
        Token modifier = beforeModifier.next;
        if (optional("var", modifier) ||
            optional("final", modifier) ||
            optional("const", modifier)) {
  