Exemplo n.º 1
0
 internal static char LiteralLastChar(int literal)
 {
     if (literal <= 65535)
     {
         return((char)literal);
     }
     return(ParseSupport.LowSurrogateCharFromUcs4(literal));
 }
Exemplo n.º 2
0
 public void Write(int ucs32Literal, IFallback fallback)
 {
     if (ucs32Literal > 65535)
     {
         stringBuffer[0] = ParseSupport.HighSurrogateCharFromUcs4(ucs32Literal);
         stringBuffer[1] = ParseSupport.LowSurrogateCharFromUcs4(ucs32Literal);
     }
     else
     {
         stringBuffer[0] = (char)ucs32Literal;
     }
     Write(stringBuffer, 0, (ucs32Literal > 65535) ? 2 : 1, fallback);
 }
Exemplo n.º 3
0
        public void AdvanceLowerCase(int ucs32)
        {
            if (ucs32 < 65536)
            {
                AdvanceLowerCase((char)ucs32);
                return;
            }
            char c  = ParseSupport.LowSurrogateCharFromUcs4(ucs32);
            char c2 = ParseSupport.LowSurrogateCharFromUcs4(ucs32);

            if (((offset += 2) & 1) == 0)
            {
                hash1 = ((hash1 << 5) + hash1 ^ c);
                hash2 = ((hash2 << 5) + hash2 ^ c2);
                return;
            }
            hash2 = ((hash2 << 5) + hash2 ^ c);
            hash1 = ((hash1 << 5) + hash1 ^ c2);
        }
 public void Write(int ucs32Char)
 {
     if (ucs32Char > 65535)
     {
         int num = PrepareToBuffer(2);
         if (num > 0)
         {
             parseBuffer[maxTokenSize]     = ParseSupport.HighSurrogateCharFromUcs4(ucs32Char);
             parseBuffer[maxTokenSize + 1] = ParseSupport.LowSurrogateCharFromUcs4(ucs32Char);
             maxTokenSize += num;
             parseBuffer[maxTokenSize] = '\0';
             return;
         }
     }
     else
     {
         int num = PrepareToBuffer(1);
         if (num > 0)
         {
             parseBuffer[maxTokenSize++] = (char)ucs32Char;
             parseBuffer[maxTokenSize]   = '\0';
         }
     }
 }