scripts
This commit is contained in:
@@ -0,0 +1,111 @@
|
||||
using System;
|
||||
|
||||
namespace System.Text.RegularExpressions.Syntax
|
||||
{
|
||||
// Token: 0x020002E3 RID: 739
|
||||
internal class ExpressionAssertion : Assertion
|
||||
{
|
||||
// Token: 0x06001AD9 RID: 6873 RVA: 0x00062FA4 File Offset: 0x000611A4
|
||||
public ExpressionAssertion()
|
||||
{
|
||||
base.Expressions.Add(null);
|
||||
}
|
||||
|
||||
// Token: 0x17000834 RID: 2100
|
||||
// (get) Token: 0x06001ADA RID: 6874 RVA: 0x00062FB8 File Offset: 0x000611B8
|
||||
// (set) Token: 0x06001ADB RID: 6875 RVA: 0x00062FC0 File Offset: 0x000611C0
|
||||
public bool Reverse
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.reverse;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.reverse = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17000835 RID: 2101
|
||||
// (get) Token: 0x06001ADC RID: 6876 RVA: 0x00062FCC File Offset: 0x000611CC
|
||||
// (set) Token: 0x06001ADD RID: 6877 RVA: 0x00062FD4 File Offset: 0x000611D4
|
||||
public bool Negate
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.negate;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.negate = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17000836 RID: 2102
|
||||
// (get) Token: 0x06001ADE RID: 6878 RVA: 0x00062FE0 File Offset: 0x000611E0
|
||||
// (set) Token: 0x06001ADF RID: 6879 RVA: 0x00062FF0 File Offset: 0x000611F0
|
||||
public Expression TestExpression
|
||||
{
|
||||
get
|
||||
{
|
||||
return base.Expressions[2];
|
||||
}
|
||||
set
|
||||
{
|
||||
base.Expressions[2] = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06001AE0 RID: 6880 RVA: 0x00063000 File Offset: 0x00061200
|
||||
public override void Compile(ICompiler cmp, bool reverse)
|
||||
{
|
||||
LinkRef linkRef = cmp.NewLink();
|
||||
LinkRef linkRef2 = cmp.NewLink();
|
||||
if (!this.negate)
|
||||
{
|
||||
cmp.EmitTest(linkRef, linkRef2);
|
||||
}
|
||||
else
|
||||
{
|
||||
cmp.EmitTest(linkRef2, linkRef);
|
||||
}
|
||||
this.TestExpression.Compile(cmp, this.reverse);
|
||||
cmp.EmitTrue();
|
||||
if (base.TrueExpression == null)
|
||||
{
|
||||
cmp.ResolveLink(linkRef2);
|
||||
cmp.EmitFalse();
|
||||
cmp.ResolveLink(linkRef);
|
||||
}
|
||||
else
|
||||
{
|
||||
cmp.ResolveLink(linkRef);
|
||||
base.TrueExpression.Compile(cmp, reverse);
|
||||
if (base.FalseExpression == null)
|
||||
{
|
||||
cmp.ResolveLink(linkRef2);
|
||||
}
|
||||
else
|
||||
{
|
||||
LinkRef linkRef3 = cmp.NewLink();
|
||||
cmp.EmitJump(linkRef3);
|
||||
cmp.ResolveLink(linkRef2);
|
||||
base.FalseExpression.Compile(cmp, reverse);
|
||||
cmp.ResolveLink(linkRef3);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06001AE1 RID: 6881 RVA: 0x000630CC File Offset: 0x000612CC
|
||||
public override bool IsComplex()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
// Token: 0x040015BB RID: 5563
|
||||
private bool reverse;
|
||||
|
||||
// Token: 0x040015BC RID: 5564
|
||||
private bool negate;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user