Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
EncoderReplacementFallback.cs
Go to the documentation of this file.
2
3namespace System.Text;
4
6{
8
9 private readonly string _strDefault;
10
11 public string DefaultString => _strDefault;
12
13 public override int MaxCharCount => _strDefault.Length;
14
16 : this("?")
17 {
18 }
19
20 public EncoderReplacementFallback(string replacement)
21 {
22 if (replacement == null)
23 {
24 throw new ArgumentNullException("replacement");
25 }
26 bool flag = false;
27 foreach (char c in replacement)
28 {
29 if (char.IsSurrogate(c))
30 {
31 if (char.IsHighSurrogate(c))
32 {
33 if (flag)
34 {
35 break;
36 }
37 flag = true;
38 continue;
39 }
40 if (!flag)
41 {
42 flag = true;
43 break;
44 }
45 flag = false;
46 }
47 else if (flag)
48 {
49 break;
50 }
51 }
52 if (flag)
53 {
55 }
56 _strDefault = replacement;
57 }
58
60 {
61 return new EncoderReplacementFallbackBuffer(this);
62 }
63
64 public override bool Equals([NotNullWhen(true)] object? value)
65 {
66 if (value is EncoderReplacementFallback encoderReplacementFallback)
67 {
68 return _strDefault == encoderReplacementFallback._strDefault;
69 }
70 return false;
71 }
72
73 public override int GetHashCode()
74 {
75 return _strDefault.GetHashCode();
76 }
77}
static string Argument_InvalidCharSequenceNoIndex
Definition SR.cs:92
static string Format(string resourceFormat, object p1)
Definition SR.cs:118
Definition SR.cs:7
static readonly EncoderReplacementFallback s_default
override bool Equals([NotNullWhen(true)] object? value)
override EncoderFallbackBuffer CreateFallbackBuffer()