else if(-1<gOperatorChars.Find(theChar)) {
else if(-1<gOperatorChars.FindChar(theChar)) {
int consumeToken(CScanner& aScanner,CToken** aToken){  static nsCAutoString gOperatorChars("/?.<>[]{}~^+=-!%&*(),|:");  PRUnichar theChar=0;  int result=aScanner.getChar(theChar);  if(kNoError==result){    if((isspace(theChar)) || (theChar>=kSpace)) {      if('#'==theChar)        *aToken=(CToken*)new CCompilerDirectiveToken();      else if((theChar=='_') || (isalpha(theChar)))        *aToken=(CToken*)new CIdentifierToken();      else if(isdigit(theChar))        *aToken=(CToken*)new CNumberToken();      else if((kLF==theChar) || (kCR==theChar))        *aToken=(CToken*)new CNewlineToken();      else if(isspace(theChar))        *aToken=(CToken*)new CWhitespaceToken();      else if(-1<gOperatorChars.Find(theChar)) {        PRUnichar nextChar;        aScanner.peek(nextChar);        if((kForwardSlash==theChar) && ((kForwardSlash==nextChar) || (kAsterisk==nextChar))){          *aToken=(CToken*)new CCommentToken(nextChar);        }        else *aToken=(CToken*)new COperatorToken();      }      else if((kQuote==theChar) || (kApostrophe==theChar))        *aToken=(CToken*)new CQuotedStringToken();      else if(kSemicolon==theChar) {        *aToken=(CToken*)new CSemicolonToken();      }      if(*aToken){        result=(*aToken)->consume(theChar,aScanner);      }    }  }  return result;}