This commit is contained in:
niko
2026-06-04 11:42:34 +02:00
parent f39ba70a9f
commit e720b98cd1
7488 changed files with 2493818 additions and 0 deletions
+904
View File
@@ -0,0 +1,904 @@
using System;
using System.Collections;
using System.Globalization;
using System.Text;
namespace Mono.Xml
{
// Token: 0x020000BD RID: 189
[CLSCompliant(false)]
public class MiniParser
{
// Token: 0x060006C5 RID: 1733 RVA: 0x00025DEC File Offset: 0x00023FEC
public MiniParser()
{
this.twoCharBuff = new int[2];
this.splitCData = false;
this.Reset();
}
// Token: 0x060006C7 RID: 1735 RVA: 0x00025E8C File Offset: 0x0002408C
public void Reset()
{
this.line = 0;
this.col = 0;
}
// Token: 0x060006C8 RID: 1736 RVA: 0x00025E9C File Offset: 0x0002409C
protected static bool StrEquals(string str, StringBuilder sb, int sbStart, int len)
{
if (len != str.Length)
{
return false;
}
for (int i = 0; i < len; i++)
{
if (str[i] != sb[sbStart + i])
{
return false;
}
}
return true;
}
// Token: 0x060006C9 RID: 1737 RVA: 0x00025EE4 File Offset: 0x000240E4
protected void FatalErr(string descr)
{
throw new MiniParser.XMLError(descr, this.line, this.col);
}
// Token: 0x060006CA RID: 1738 RVA: 0x00025EF8 File Offset: 0x000240F8
protected static int Xlat(int charCode, int state)
{
int num = state * MiniParser.INPUT_RANGE;
int num2 = Math.Min(MiniParser.tbl.Length - num, MiniParser.INPUT_RANGE);
while (--num2 >= 0)
{
ushort num3 = MiniParser.tbl[num];
if (charCode == num3 >> 12)
{
return (int)(num3 & 4095);
}
num++;
}
return 4095;
}
// Token: 0x060006CB RID: 1739 RVA: 0x00025F54 File Offset: 0x00024154
public void Parse(MiniParser.IReader reader, MiniParser.IHandler handler)
{
if (reader == null)
{
throw new ArgumentNullException("reader");
}
if (handler == null)
{
handler = new MiniParser.HandlerAdapter();
}
MiniParser.AttrListImpl attrListImpl = new MiniParser.AttrListImpl();
string text = null;
Stack stack = new Stack();
string text2 = null;
this.line = 1;
this.col = 0;
int num = 0;
int num2 = 0;
StringBuilder stringBuilder = new StringBuilder();
bool flag = false;
bool flag2 = false;
bool flag3 = false;
int num3 = 0;
handler.OnStartParsing(this);
for (;;)
{
this.col++;
num = reader.Read();
if (num == -1)
{
break;
}
int num4 = "<>/?=&'\"![ ]\t\r\n".IndexOf((char)num) & 15;
if (num4 != 13)
{
if (num4 == 12)
{
num4 = 10;
}
if (num4 == 14)
{
this.col = 0;
this.line++;
num4 = 10;
}
int num5 = MiniParser.Xlat(num4, num2);
num2 = num5 & 255;
if (num != 10 || (num2 != 14 && num2 != 15))
{
num5 >>= 8;
if (num2 >= 128)
{
if (num2 == 255)
{
this.FatalErr("State dispatch error.");
}
else
{
this.FatalErr(MiniParser.errors[num2 ^ 128]);
}
}
switch (num5)
{
case 0:
goto IL_19F;
case 1:
{
text2 = stringBuilder.ToString();
stringBuilder = new StringBuilder();
string text3 = null;
if (stack.Count == 0 || text2 != (text3 = stack.Pop() as string))
{
if (text3 == null)
{
this.FatalErr("Tag stack underflow");
}
else
{
this.FatalErr(string.Format("Expected end tag '{0}' but found '{1}'", text2, text3));
}
}
handler.OnEndElement(text2);
break;
}
case 2:
text2 = stringBuilder.ToString();
stringBuilder = new StringBuilder();
if (num == 47 || num == 62)
{
goto IL_19F;
}
break;
case 3:
text = stringBuilder.ToString();
stringBuilder = new StringBuilder();
break;
case 4:
if (text == null)
{
this.FatalErr("Internal error.");
}
attrListImpl.Add(text, stringBuilder.ToString());
stringBuilder = new StringBuilder();
text = null;
break;
case 5:
handler.OnChars(stringBuilder.ToString());
stringBuilder = new StringBuilder();
break;
case 6:
{
string text4 = "CDATA[";
flag2 = false;
flag3 = false;
if (num == 45)
{
num = reader.Read();
if (num != 45)
{
this.FatalErr("Invalid comment");
}
this.col++;
flag2 = true;
this.twoCharBuff[0] = -1;
this.twoCharBuff[1] = -1;
}
else if (num != 91)
{
flag3 = true;
num3 = 0;
}
else
{
for (int i = 0; i < text4.Length; i++)
{
if (reader.Read() != (int)text4[i])
{
this.col += i + 1;
break;
}
}
this.col += text4.Length;
flag = true;
}
break;
}
case 7:
{
int num6 = 0;
num = 93;
while (num == 93)
{
num = reader.Read();
num6++;
}
if (num != 62)
{
for (int j = 0; j < num6; j++)
{
stringBuilder.Append(']');
}
stringBuilder.Append((char)num);
num2 = 18;
}
else
{
for (int k = 0; k < num6 - 2; k++)
{
stringBuilder.Append(']');
}
flag = false;
}
this.col += num6;
break;
}
case 8:
this.FatalErr(string.Format("Error {0}", num2));
break;
case 9:
break;
case 10:
stringBuilder = new StringBuilder();
if (num != 60)
{
goto IL_465;
}
break;
case 11:
goto IL_465;
case 12:
if (flag2)
{
if (num == 62 && this.twoCharBuff[0] == 45 && this.twoCharBuff[1] == 45)
{
flag2 = false;
num2 = 0;
}
else
{
this.twoCharBuff[0] = this.twoCharBuff[1];
this.twoCharBuff[1] = num;
}
}
else if (flag3)
{
if (num == 60 || num == 62)
{
num3 ^= 1;
}
if (num == 62 && num3 != 0)
{
flag3 = false;
num2 = 0;
}
}
else
{
if (this.splitCData && stringBuilder.Length > 0 && flag)
{
handler.OnChars(stringBuilder.ToString());
stringBuilder = new StringBuilder();
}
flag = false;
stringBuilder.Append((char)num);
}
break;
case 13:
{
num = reader.Read();
int num7 = this.col + 1;
if (num == 35)
{
int num8 = 10;
int num9 = 0;
int num10 = 0;
num = reader.Read();
num7++;
if (num == 120)
{
num = reader.Read();
num7++;
num8 = 16;
}
NumberStyles numberStyles = ((num8 != 16) ? NumberStyles.Integer : NumberStyles.HexNumber);
for (;;)
{
int num11 = -1;
if (char.IsNumber((char)num))
{
goto IL_5D9;
}
if ("abcdef".IndexOf(char.ToLower((char)num)) != -1)
{
goto Block_43;
}
IL_5F9:
if (num11 == -1)
{
break;
}
num9 *= num8;
num9 += num11;
num10++;
num = reader.Read();
num7++;
continue;
Block_43:
try
{
IL_5D9:
num11 = int.Parse(new string((char)num, 1), numberStyles);
}
catch (FormatException)
{
num11 = -1;
}
goto IL_5F9;
}
if (num == 59 && num10 > 0)
{
stringBuilder.Append((char)num9);
}
else
{
this.FatalErr("Bad char ref");
}
}
else
{
string text5 = "aglmopqstu";
string text6 = "&'\"><";
int num12 = 0;
int num13 = 15;
int num14 = 0;
int length = stringBuilder.Length;
for (;;)
{
if (num12 != 15)
{
num12 = text5.IndexOf((char)num) & 15;
}
if (num12 == 15)
{
this.FatalErr(MiniParser.errors[7]);
}
stringBuilder.Append((char)num);
int num15 = (int)"U㾏侏ཟク\ue1f4⊙\ueeff\ueeff"[num12];
int num16 = (num15 >> 4) & 15;
int num17 = num15 & 15;
int num18 = num15 >> 12;
int num19 = (num15 >> 8) & 15;
num = reader.Read();
num7++;
num12 = 15;
if (num16 != 15 && num == (int)text5[num16])
{
if (num18 < 14)
{
num13 = num18;
}
num14 = 12;
}
else if (num17 != 15 && num == (int)text5[num17])
{
if (num19 < 14)
{
num13 = num19;
}
num14 = 8;
}
else if (num == 59)
{
if (num13 != 15 && num14 != 0 && ((num15 >> num14) & 15) == 14)
{
break;
}
continue;
}
num12 = 0;
}
int num20 = num7 - this.col - 1;
if (num20 > 0 && num20 < 5 && (MiniParser.StrEquals("amp", stringBuilder, length, num20) || MiniParser.StrEquals("apos", stringBuilder, length, num20) || MiniParser.StrEquals("quot", stringBuilder, length, num20) || MiniParser.StrEquals("lt", stringBuilder, length, num20) || MiniParser.StrEquals("gt", stringBuilder, length, num20)))
{
stringBuilder.Length = length;
stringBuilder.Append(text6[num13]);
}
else
{
this.FatalErr(MiniParser.errors[7]);
}
}
this.col = num7;
break;
}
default:
this.FatalErr(string.Format("Unexpected action code - {0}.", num5));
break;
}
continue;
IL_19F:
handler.OnStartElement(text2, attrListImpl);
if (num != 47)
{
stack.Push(text2);
}
else
{
handler.OnEndElement(text2);
}
attrListImpl.Clear();
continue;
IL_465:
stringBuilder.Append((char)num);
}
}
}
if (num2 != 0)
{
this.FatalErr("Unexpected EOF");
}
handler.OnEndParsing(this);
}
// Token: 0x04000331 RID: 817
private static readonly int INPUT_RANGE = 13;
// Token: 0x04000332 RID: 818
private static readonly ushort[] tbl = new ushort[]
{
2305, 43264, 63616, 10368, 6272, 14464, 18560, 22656, 26752, 34944,
39040, 47232, 30848, 2177, 10498, 6277, 14595, 18561, 22657, 26753,
35088, 39041, 43137, 47233, 30849, 64004, 4352, 43266, 64258, 2177,
10369, 14465, 18561, 22657, 26753, 34945, 39041, 47233, 30849, 14597,
2307, 10499, 6403, 18691, 22787, 26883, 35075, 39171, 43267, 47363,
30979, 63747, 64260, 8710, 4615, 41480, 2177, 14465, 18561, 22657,
26753, 34945, 39041, 47233, 30849, 6400, 2307, 10499, 14595, 18691,
22787, 26883, 35075, 39171, 43267, 47363, 30979, 63747, 6400, 2177,
10369, 14465, 18561, 22657, 26753, 34945, 39041, 43137, 47233, 30849,
63617, 2561, 23818, 11274, 7178, 15370, 19466, 27658, 35850, 39946,
43783, 48138, 31754, 64522, 64265, 8198, 4103, 43272, 2177, 14465,
18561, 22657, 26753, 34945, 39041, 47233, 30849, 64265, 17163, 43276,
2178, 10370, 6274, 14466, 22658, 26754, 34946, 39042, 47234, 30850,
2317, 23818, 11274, 7178, 15370, 19466, 27658, 35850, 39946, 44042,
48138, 31754, 64522, 26894, 30991, 43275, 2180, 10372, 6276, 14468,
18564, 22660, 34948, 39044, 47236, 63620, 17163, 43276, 2178, 10370,
6274, 14466, 22658, 26754, 34946, 39042, 47234, 30850, 63618, 9474,
35088, 2182, 6278, 14470, 18566, 22662, 26758, 39046, 43142, 47238,
30854, 63622, 25617, 23822, 2830, 11022, 6926, 15118, 19214, 35598,
39694, 43790, 47886, 31502, 64270, 29713, 23823, 2831, 11023, 6927,
15119, 19215, 27407, 35599, 39695, 43791, 47887, 64271, 38418, 6400,
1555, 9747, 13843, 17939, 22035, 26131, 34323, 42515, 46611, 30227,
62995, 8198, 4103, 43281, 64265, 2177, 14465, 18561, 22657, 26753,
34945, 39041, 47233, 30849, 46858, 3090, 11282, 7186, 15378, 19474,
23570, 27666, 35858, 39954, 44050, 31762, 64530, 3091, 11283, 7187,
15379, 19475, 23571, 27667, 35859, 39955, 44051, 48147, 31763, 64531,
ushort.MaxValue, ushort.MaxValue
};
// Token: 0x04000333 RID: 819
protected static string[] errors = new string[] { "Expected element", "Invalid character in tag", "No '='", "Invalid character entity", "Invalid attr value", "Empty tag", "No end tag", "Bad entity ref" };
// Token: 0x04000334 RID: 820
protected int line;
// Token: 0x04000335 RID: 821
protected int col;
// Token: 0x04000336 RID: 822
protected int[] twoCharBuff;
// Token: 0x04000337 RID: 823
protected bool splitCData;
// Token: 0x020000BE RID: 190
public interface IReader
{
// Token: 0x060006CC RID: 1740
int Read();
}
// Token: 0x020000BF RID: 191
public interface IAttrList
{
// Token: 0x170001A4 RID: 420
// (get) Token: 0x060006CD RID: 1741
int Length { get; }
// Token: 0x170001A5 RID: 421
// (get) Token: 0x060006CE RID: 1742
bool IsEmpty { get; }
// Token: 0x060006CF RID: 1743
string GetName(int i);
// Token: 0x060006D0 RID: 1744
string GetValue(int i);
// Token: 0x060006D1 RID: 1745
string GetValue(string name);
// Token: 0x060006D2 RID: 1746
void ChangeValue(string name, string newValue);
// Token: 0x170001A6 RID: 422
// (get) Token: 0x060006D3 RID: 1747
string[] Names { get; }
// Token: 0x170001A7 RID: 423
// (get) Token: 0x060006D4 RID: 1748
string[] Values { get; }
}
// Token: 0x020000C0 RID: 192
public interface IMutableAttrList : MiniParser.IAttrList
{
// Token: 0x060006D5 RID: 1749
void Clear();
// Token: 0x060006D6 RID: 1750
void Add(string name, string value);
// Token: 0x060006D7 RID: 1751
void CopyFrom(MiniParser.IAttrList attrs);
// Token: 0x060006D8 RID: 1752
void Remove(int i);
// Token: 0x060006D9 RID: 1753
void Remove(string name);
}
// Token: 0x020000C1 RID: 193
public interface IHandler
{
// Token: 0x060006DA RID: 1754
void OnStartParsing(MiniParser parser);
// Token: 0x060006DB RID: 1755
void OnStartElement(string name, MiniParser.IAttrList attrs);
// Token: 0x060006DC RID: 1756
void OnEndElement(string name);
// Token: 0x060006DD RID: 1757
void OnChars(string ch);
// Token: 0x060006DE RID: 1758
void OnEndParsing(MiniParser parser);
}
// Token: 0x020000C2 RID: 194
public class HandlerAdapter : MiniParser.IHandler
{
// Token: 0x060006E0 RID: 1760 RVA: 0x00026800 File Offset: 0x00024A00
public void OnStartParsing(MiniParser parser)
{
}
// Token: 0x060006E1 RID: 1761 RVA: 0x00026804 File Offset: 0x00024A04
public void OnStartElement(string name, MiniParser.IAttrList attrs)
{
}
// Token: 0x060006E2 RID: 1762 RVA: 0x00026808 File Offset: 0x00024A08
public void OnEndElement(string name)
{
}
// Token: 0x060006E3 RID: 1763 RVA: 0x0002680C File Offset: 0x00024A0C
public void OnChars(string ch)
{
}
// Token: 0x060006E4 RID: 1764 RVA: 0x00026810 File Offset: 0x00024A10
public void OnEndParsing(MiniParser parser)
{
}
}
// Token: 0x020000C3 RID: 195
private enum CharKind : byte
{
// Token: 0x04000339 RID: 825
LEFT_BR,
// Token: 0x0400033A RID: 826
RIGHT_BR,
// Token: 0x0400033B RID: 827
SLASH,
// Token: 0x0400033C RID: 828
PI_MARK,
// Token: 0x0400033D RID: 829
EQ,
// Token: 0x0400033E RID: 830
AMP,
// Token: 0x0400033F RID: 831
SQUOTE,
// Token: 0x04000340 RID: 832
DQUOTE,
// Token: 0x04000341 RID: 833
BANG,
// Token: 0x04000342 RID: 834
LEFT_SQBR,
// Token: 0x04000343 RID: 835
SPACE,
// Token: 0x04000344 RID: 836
RIGHT_SQBR,
// Token: 0x04000345 RID: 837
TAB,
// Token: 0x04000346 RID: 838
CR,
// Token: 0x04000347 RID: 839
EOL,
// Token: 0x04000348 RID: 840
CHARS,
// Token: 0x04000349 RID: 841
UNKNOWN = 31
}
// Token: 0x020000C4 RID: 196
private enum ActionCode : byte
{
// Token: 0x0400034B RID: 843
START_ELEM,
// Token: 0x0400034C RID: 844
END_ELEM,
// Token: 0x0400034D RID: 845
END_NAME,
// Token: 0x0400034E RID: 846
SET_ATTR_NAME,
// Token: 0x0400034F RID: 847
SET_ATTR_VAL,
// Token: 0x04000350 RID: 848
SEND_CHARS,
// Token: 0x04000351 RID: 849
START_CDATA,
// Token: 0x04000352 RID: 850
END_CDATA,
// Token: 0x04000353 RID: 851
ERROR,
// Token: 0x04000354 RID: 852
STATE_CHANGE,
// Token: 0x04000355 RID: 853
FLUSH_CHARS_STATE_CHANGE,
// Token: 0x04000356 RID: 854
ACC_CHARS_STATE_CHANGE,
// Token: 0x04000357 RID: 855
ACC_CDATA,
// Token: 0x04000358 RID: 856
PROC_CHAR_REF,
// Token: 0x04000359 RID: 857
UNKNOWN = 15
}
// Token: 0x020000C5 RID: 197
public class AttrListImpl : MiniParser.IAttrList, MiniParser.IMutableAttrList
{
// Token: 0x060006E5 RID: 1765 RVA: 0x00026814 File Offset: 0x00024A14
public AttrListImpl()
: this(0)
{
}
// Token: 0x060006E6 RID: 1766 RVA: 0x00026820 File Offset: 0x00024A20
public AttrListImpl(int initialCapacity)
{
if (initialCapacity <= 0)
{
this.names = new ArrayList();
this.values = new ArrayList();
}
else
{
this.names = new ArrayList(initialCapacity);
this.values = new ArrayList(initialCapacity);
}
}
// Token: 0x060006E7 RID: 1767 RVA: 0x00026870 File Offset: 0x00024A70
public AttrListImpl(MiniParser.IAttrList attrs)
: this((attrs == null) ? 0 : attrs.Length)
{
if (attrs != null)
{
this.CopyFrom(attrs);
}
}
// Token: 0x170001A8 RID: 424
// (get) Token: 0x060006E8 RID: 1768 RVA: 0x00026898 File Offset: 0x00024A98
public int Length
{
get
{
return this.names.Count;
}
}
// Token: 0x170001A9 RID: 425
// (get) Token: 0x060006E9 RID: 1769 RVA: 0x000268A8 File Offset: 0x00024AA8
public bool IsEmpty
{
get
{
return this.Length != 0;
}
}
// Token: 0x060006EA RID: 1770 RVA: 0x000268B8 File Offset: 0x00024AB8
public string GetName(int i)
{
string text = null;
if (i >= 0 && i < this.Length)
{
text = this.names[i] as string;
}
return text;
}
// Token: 0x060006EB RID: 1771 RVA: 0x000268F0 File Offset: 0x00024AF0
public string GetValue(int i)
{
string text = null;
if (i >= 0 && i < this.Length)
{
text = this.values[i] as string;
}
return text;
}
// Token: 0x060006EC RID: 1772 RVA: 0x00026928 File Offset: 0x00024B28
public string GetValue(string name)
{
return this.GetValue(this.names.IndexOf(name));
}
// Token: 0x060006ED RID: 1773 RVA: 0x0002693C File Offset: 0x00024B3C
public void ChangeValue(string name, string newValue)
{
int num = this.names.IndexOf(name);
if (num >= 0 && num < this.Length)
{
this.values[num] = newValue;
}
}
// Token: 0x170001AA RID: 426
// (get) Token: 0x060006EE RID: 1774 RVA: 0x00026978 File Offset: 0x00024B78
public string[] Names
{
get
{
return this.names.ToArray(typeof(string)) as string[];
}
}
// Token: 0x170001AB RID: 427
// (get) Token: 0x060006EF RID: 1775 RVA: 0x00026994 File Offset: 0x00024B94
public string[] Values
{
get
{
return this.values.ToArray(typeof(string)) as string[];
}
}
// Token: 0x060006F0 RID: 1776 RVA: 0x000269B0 File Offset: 0x00024BB0
public void Clear()
{
this.names.Clear();
this.values.Clear();
}
// Token: 0x060006F1 RID: 1777 RVA: 0x000269C8 File Offset: 0x00024BC8
public void Add(string name, string value)
{
this.names.Add(name);
this.values.Add(value);
}
// Token: 0x060006F2 RID: 1778 RVA: 0x000269E4 File Offset: 0x00024BE4
public void Remove(int i)
{
if (i >= 0)
{
this.names.RemoveAt(i);
this.values.RemoveAt(i);
}
}
// Token: 0x060006F3 RID: 1779 RVA: 0x00026A08 File Offset: 0x00024C08
public void Remove(string name)
{
this.Remove(this.names.IndexOf(name));
}
// Token: 0x060006F4 RID: 1780 RVA: 0x00026A1C File Offset: 0x00024C1C
public void CopyFrom(MiniParser.IAttrList attrs)
{
if (attrs != null && this == attrs)
{
this.Clear();
int length = attrs.Length;
for (int i = 0; i < length; i++)
{
this.Add(attrs.GetName(i), attrs.GetValue(i));
}
}
}
// Token: 0x0400035A RID: 858
protected ArrayList names;
// Token: 0x0400035B RID: 859
protected ArrayList values;
}
// Token: 0x020000C6 RID: 198
public class XMLError : Exception
{
// Token: 0x060006F5 RID: 1781 RVA: 0x00026A6C File Offset: 0x00024C6C
public XMLError()
: this("Unknown")
{
}
// Token: 0x060006F6 RID: 1782 RVA: 0x00026A7C File Offset: 0x00024C7C
public XMLError(string descr)
: this(descr, -1, -1)
{
}
// Token: 0x060006F7 RID: 1783 RVA: 0x00026A88 File Offset: 0x00024C88
public XMLError(string descr, int line, int column)
: base(descr)
{
this.descr = descr;
this.line = line;
this.column = column;
}
// Token: 0x170001AC RID: 428
// (get) Token: 0x060006F8 RID: 1784 RVA: 0x00026AA8 File Offset: 0x00024CA8
public int Line
{
get
{
return this.line;
}
}
// Token: 0x170001AD RID: 429
// (get) Token: 0x060006F9 RID: 1785 RVA: 0x00026AB0 File Offset: 0x00024CB0
public int Column
{
get
{
return this.column;
}
}
// Token: 0x060006FA RID: 1786 RVA: 0x00026AB8 File Offset: 0x00024CB8
public override string ToString()
{
return string.Format("{0} @ (line = {1}, col = {2})", this.descr, this.line, this.column);
}
// Token: 0x0400035C RID: 860
protected string descr;
// Token: 0x0400035D RID: 861
protected int line;
// Token: 0x0400035E RID: 862
protected int column;
}
}
}
+103
View File
@@ -0,0 +1,103 @@
using System;
using System.Collections;
using System.Security;
namespace Mono.Xml
{
// Token: 0x020000C7 RID: 199
[CLSCompliant(false)]
public class SecurityParser : MiniParser, MiniParser.IReader, MiniParser.IHandler
{
// Token: 0x060006FB RID: 1787 RVA: 0x00026AEC File Offset: 0x00024CEC
public SecurityParser()
{
this.stack = new Stack();
}
// Token: 0x060006FC RID: 1788 RVA: 0x00026B00 File Offset: 0x00024D00
public void LoadXml(string xml)
{
this.root = null;
this.xmldoc = xml;
this.pos = 0;
this.stack.Clear();
base.Parse(this, this);
}
// Token: 0x060006FD RID: 1789 RVA: 0x00026B38 File Offset: 0x00024D38
public SecurityElement ToXml()
{
return this.root;
}
// Token: 0x060006FE RID: 1790 RVA: 0x00026B40 File Offset: 0x00024D40
public int Read()
{
if (this.pos >= this.xmldoc.Length)
{
return -1;
}
return (int)this.xmldoc[this.pos++];
}
// Token: 0x060006FF RID: 1791 RVA: 0x00026B84 File Offset: 0x00024D84
public void OnStartParsing(MiniParser parser)
{
}
// Token: 0x06000700 RID: 1792 RVA: 0x00026B88 File Offset: 0x00024D88
public void OnStartElement(string name, MiniParser.IAttrList attrs)
{
SecurityElement securityElement = new SecurityElement(name);
if (this.root == null)
{
this.root = securityElement;
this.current = securityElement;
}
else
{
SecurityElement securityElement2 = (SecurityElement)this.stack.Peek();
securityElement2.AddChild(securityElement);
}
this.stack.Push(securityElement);
this.current = securityElement;
int length = attrs.Length;
for (int i = 0; i < length; i++)
{
this.current.AddAttribute(attrs.GetName(i), SecurityElement.Escape(attrs.GetValue(i)));
}
}
// Token: 0x06000701 RID: 1793 RVA: 0x00026C1C File Offset: 0x00024E1C
public void OnEndElement(string name)
{
this.current = (SecurityElement)this.stack.Pop();
}
// Token: 0x06000702 RID: 1794 RVA: 0x00026C34 File Offset: 0x00024E34
public void OnChars(string ch)
{
this.current.Text = SecurityElement.Escape(ch);
}
// Token: 0x06000703 RID: 1795 RVA: 0x00026C48 File Offset: 0x00024E48
public void OnEndParsing(MiniParser parser)
{
}
// Token: 0x0400035F RID: 863
private SecurityElement root;
// Token: 0x04000360 RID: 864
private string xmldoc;
// Token: 0x04000361 RID: 865
private int pos;
// Token: 0x04000362 RID: 866
private SecurityElement current;
// Token: 0x04000363 RID: 867
private Stack stack;
}
}