Loyc.Syntax.PrintHelpers.EscapeU C# (CSharp) Method

EscapeU() static private method

static private EscapeU ( int c, StringBuilder @out, EscapeC flags ) : void
c int
@out StringBuilder
flags EscapeC
return void
		static void EscapeU(int c, StringBuilder @out, EscapeC flags)
		{
			if (c <= 255 && (flags & EscapeC.BackslashX) != 0)
				@out.Append(@"\x");
			else {
				@out.Append(@"\u");
				if (c > 0xFFFF || (flags & EscapeC.HasLongEscape) != 0) {
					Debug.Assert(c <= 0x10FFFF);
					@out.Append(HexDigitChar((c >> 20) & 0xF));
					@out.Append(HexDigitChar((c >> 16) & 0xF));
				}
				@out.Append(HexDigitChar((c >> 12) & 0xF));
				@out.Append(HexDigitChar((c >> 8) & 0xF));
			}
			@out.Append(HexDigitChar((c >> 4) & 0xF));
			@out.Append(HexDigitChar(c & 0xF));
		}