anchor.diff:        }
         Token colon = null;
         if (optional(':', next.next)) {
  -        token = ensureIdentifier(
  -                token.next, IdentifierContext.namedArgumentReference)
  -            .next;
  +        token =
  +            ensureIdentifier(token, IdentifierContext.namedArgumentReference)
  +                .next;
           colon = token;
           hasSeenNamedArgument = true;
         } else if (hasSeenNamedArgument) {
  
positive.code:     token = token.next;
      assert(optional('.', token));
      Token period = token;
      token = ensureIdentifier(token.next, context);
      listener.handleQualified(period);
      return token;
    }
  
negative.code:     }
      Token classKeyword = token;
      expect("class", token);
      Token name =
          ensureIdentifier(token, IdentifierContext.classOrNamedMixinDeclaration);
      token = parseTypeVariablesOpt(name);
      if (optional('=', token.next)) {
        listener.beginNamedMixinApplication(begin, name);
  