Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ ReadDeclaration()

void System.Xml.XmlUTF8TextReader.ReadDeclaration ( )
inlineprivate

Definition at line 170 of file XmlUTF8TextReader.cs.

171 {
172 if (!_buffered)
173 {
175 }
176 byte[] buffer = base.BufferReader.GetBuffer(5, out var offset);
177 if (buffer[offset] != 63 || buffer[offset + 1] != 120 || buffer[offset + 2] != 109 || buffer[offset + 3] != 108 || (s_charType[buffer[offset + 4]] & 4) == 0)
178 {
179 XmlExceptionHelper.ThrowProcessingInstructionNotSupported(this);
180 }
181 if (base.Node.ReadState != 0)
182 {
183 XmlExceptionHelper.ThrowDeclarationNotFirst(this);
184 }
185 base.BufferReader.Advance(5);
186 int offset2 = offset + 1;
187 int length = 3;
188 int offset3 = base.BufferReader.Offset;
191 int num;
192 for (num = base.BufferReader.Offset - offset3; num > 0; num--)
193 {
194 byte @byte = base.BufferReader.GetByte(offset3 + num - 1);
195 if ((s_charType[@byte] & 4) == 0)
196 {
197 break;
198 }
199 }
200 buffer = base.BufferReader.GetBuffer(2, out offset);
201 if (buffer[offset] != 63 || buffer[offset + 1] != 62)
202 {
203 XmlExceptionHelper.ThrowTokenExpected(this, "?>", Encoding.UTF8.GetString(buffer, offset, 2));
204 }
205 base.BufferReader.Advance(2);
206 XmlDeclarationNode xmlDeclarationNode = MoveToDeclaration();
207 xmlDeclarationNode.LocalName.SetValue(offset2, length);
208 xmlDeclarationNode.Value.SetValue(ValueHandleType.UTF8, offset3, num);
209 }
static Encoding UTF8
Definition Encoding.cs:526
XmlDeclarationNode MoveToDeclaration()
static readonly byte[] s_charType

References System.Xml.XmlUTF8TextReader._buffered, System.buffer, System.Xml.XmlUTF8TextReader.BufferElement(), System.Xml.Dictionary, System.length, System.Xml.XmlBaseReader.MoveToDeclaration(), System.offset, System.Xml.XmlUTF8TextReader.ReadAttributes(), System.Xml.XmlUTF8TextReader.s_charType, System.Xml.XmlUTF8TextReader.SkipWhitespace(), System.Xml.XmlExceptionHelper.ThrowDeclarationNotFirst(), System.Xml.XmlExceptionHelper.ThrowProcessingInstructionNotSupported(), System.Xml.XmlExceptionHelper.ThrowTokenExpected(), and System.Text.Encoding.UTF8.

Referenced by System.Xml.XmlUTF8TextReader.Read().