scripts
This commit is contained in:
@@ -0,0 +1,92 @@
|
||||
using System;
|
||||
|
||||
namespace System.Text.RegularExpressions.Syntax
|
||||
{
|
||||
// Token: 0x020002E2 RID: 738
|
||||
internal class CaptureAssertion : Assertion
|
||||
{
|
||||
// Token: 0x06001AD3 RID: 6867 RVA: 0x00062E1C File Offset: 0x0006101C
|
||||
public CaptureAssertion(Literal l)
|
||||
{
|
||||
this.literal = l;
|
||||
}
|
||||
|
||||
// Token: 0x17000832 RID: 2098
|
||||
// (get) Token: 0x06001AD4 RID: 6868 RVA: 0x00062E2C File Offset: 0x0006102C
|
||||
// (set) Token: 0x06001AD5 RID: 6869 RVA: 0x00062E34 File Offset: 0x00061034
|
||||
public CapturingGroup CapturingGroup
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.group;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.group = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06001AD6 RID: 6870 RVA: 0x00062E40 File Offset: 0x00061040
|
||||
public override void Compile(ICompiler cmp, bool reverse)
|
||||
{
|
||||
if (this.group == null)
|
||||
{
|
||||
this.Alternate.Compile(cmp, reverse);
|
||||
return;
|
||||
}
|
||||
int index = this.group.Index;
|
||||
LinkRef linkRef = cmp.NewLink();
|
||||
if (base.FalseExpression == null)
|
||||
{
|
||||
cmp.EmitIfDefined(index, linkRef);
|
||||
base.TrueExpression.Compile(cmp, reverse);
|
||||
}
|
||||
else
|
||||
{
|
||||
LinkRef linkRef2 = cmp.NewLink();
|
||||
cmp.EmitIfDefined(index, linkRef2);
|
||||
base.TrueExpression.Compile(cmp, reverse);
|
||||
cmp.EmitJump(linkRef);
|
||||
cmp.ResolveLink(linkRef2);
|
||||
base.FalseExpression.Compile(cmp, reverse);
|
||||
}
|
||||
cmp.ResolveLink(linkRef);
|
||||
}
|
||||
|
||||
// Token: 0x06001AD7 RID: 6871 RVA: 0x00062EDC File Offset: 0x000610DC
|
||||
public override bool IsComplex()
|
||||
{
|
||||
if (this.group == null)
|
||||
{
|
||||
return this.Alternate.IsComplex();
|
||||
}
|
||||
return (base.TrueExpression != null && base.TrueExpression.IsComplex()) || (base.FalseExpression != null && base.FalseExpression.IsComplex()) || base.GetFixedWidth() <= 0;
|
||||
}
|
||||
|
||||
// Token: 0x17000833 RID: 2099
|
||||
// (get) Token: 0x06001AD8 RID: 6872 RVA: 0x00062F48 File Offset: 0x00061148
|
||||
private ExpressionAssertion Alternate
|
||||
{
|
||||
get
|
||||
{
|
||||
if (this.alternate == null)
|
||||
{
|
||||
this.alternate = new ExpressionAssertion();
|
||||
this.alternate.TrueExpression = base.TrueExpression;
|
||||
this.alternate.FalseExpression = base.FalseExpression;
|
||||
this.alternate.TestExpression = this.literal;
|
||||
}
|
||||
return this.alternate;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x040015B8 RID: 5560
|
||||
private ExpressionAssertion alternate;
|
||||
|
||||
// Token: 0x040015B9 RID: 5561
|
||||
private CapturingGroup group;
|
||||
|
||||
// Token: 0x040015BA RID: 5562
|
||||
private Literal literal;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user