scripts
This commit is contained in:
@@ -0,0 +1,75 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
|
||||
namespace System.Text.RegularExpressions.Syntax
|
||||
{
|
||||
// Token: 0x020002E8 RID: 744
|
||||
internal class BackslashNumber : Reference
|
||||
{
|
||||
// Token: 0x06001B00 RID: 6912 RVA: 0x00063398 File Offset: 0x00061598
|
||||
public BackslashNumber(bool ignore, bool ecma)
|
||||
: base(ignore)
|
||||
{
|
||||
this.ecma = ecma;
|
||||
}
|
||||
|
||||
// Token: 0x06001B01 RID: 6913 RVA: 0x000633A8 File Offset: 0x000615A8
|
||||
public bool ResolveReference(string num_str, Hashtable groups)
|
||||
{
|
||||
if (this.ecma)
|
||||
{
|
||||
int num = 0;
|
||||
for (int i = 1; i < num_str.Length; i++)
|
||||
{
|
||||
if (groups[num_str.Substring(0, i)] != null)
|
||||
{
|
||||
num = i;
|
||||
}
|
||||
}
|
||||
if (num != 0)
|
||||
{
|
||||
base.CapturingGroup = (CapturingGroup)groups[num_str.Substring(0, num)];
|
||||
this.literal = num_str.Substring(num);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
else if (num_str.Length == 1)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
int num2 = 0;
|
||||
int num3 = Parser.ParseOctal(num_str, ref num2);
|
||||
if (num3 == -1)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (num3 > 255 && this.ecma)
|
||||
{
|
||||
num3 /= 8;
|
||||
num2--;
|
||||
}
|
||||
num3 &= 255;
|
||||
this.literal = (char)num3 + num_str.Substring(num2);
|
||||
return true;
|
||||
}
|
||||
|
||||
// Token: 0x06001B02 RID: 6914 RVA: 0x00063484 File Offset: 0x00061684
|
||||
public override void Compile(ICompiler cmp, bool reverse)
|
||||
{
|
||||
if (base.CapturingGroup != null)
|
||||
{
|
||||
base.Compile(cmp, reverse);
|
||||
}
|
||||
if (this.literal != null)
|
||||
{
|
||||
Literal.CompileLiteral(this.literal, cmp, base.IgnoreCase, reverse);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x040015C2 RID: 5570
|
||||
private string literal;
|
||||
|
||||
// Token: 0x040015C3 RID: 5571
|
||||
private bool ecma;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user