internal static char LiteralFirstChar(int literal) { if (literal <= 65535) { return((char)literal); } return(ParseSupport.HighSurrogateCharFromUcs4(literal)); }
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); }
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'; } } }