REPORT_UNEXPECTED_TOKEN();
PRBool CSSParserImpl::ParseSelectorList(PRInt32& aErrorCode,                                        SelectorList*& aListHead){  SelectorList* list = nsnull;  if (! ParseSelectorGroup(aErrorCode, list)) {    // must have at least one selector group    aListHead = nsnull;    return PR_FALSE;  }  NS_ASSERTION(nsnull != list, "no selector list");  aListHead = list;  // After that there must either be a "," or a "{"  nsCSSToken* tk = &mToken;  for (;;) {    if (! GetToken(aErrorCode, PR_TRUE)) {      break;    }    if (eCSSToken_Symbol != tk->mType) {      UngetToken();      break;    }    if (',' == tk->mSymbol) {      SelectorList* newList = nsnull;      // Another selector group must follow      if (! ParseSelectorGroup(aErrorCode, newList)) {        break;      }      // add new list to the end of the selector list      list->mNext = newList;      list = newList;      continue;    } else if ('{' == tk->mSymbol) {      UngetToken();      return PR_TRUE;    } else {      UngetToken();      break;    }  }  delete aListHead;  aListHead = nsnull;  return PR_FALSE;}