56 lines
1.2 KiB
C#
56 lines
1.2 KiB
C#
using System;
|
|
|
|
namespace System.Text.RegularExpressions.Syntax
|
|
{
|
|
// Token: 0x020002DE RID: 734
|
|
internal class BalancingGroup : CapturingGroup
|
|
{
|
|
// Token: 0x06001ABA RID: 6842 RVA: 0x00062A50 File Offset: 0x00060C50
|
|
public BalancingGroup()
|
|
{
|
|
this.balance = null;
|
|
}
|
|
|
|
// Token: 0x1700082B RID: 2091
|
|
// (get) Token: 0x06001ABB RID: 6843 RVA: 0x00062A60 File Offset: 0x00060C60
|
|
// (set) Token: 0x06001ABC RID: 6844 RVA: 0x00062A68 File Offset: 0x00060C68
|
|
public CapturingGroup Balance
|
|
{
|
|
get
|
|
{
|
|
return this.balance;
|
|
}
|
|
set
|
|
{
|
|
this.balance = value;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06001ABD RID: 6845 RVA: 0x00062A74 File Offset: 0x00060C74
|
|
public override void Compile(ICompiler cmp, bool reverse)
|
|
{
|
|
LinkRef linkRef = cmp.NewLink();
|
|
cmp.EmitBalanceStart(base.Index, this.balance.Index, base.IsNamed, linkRef);
|
|
int count = base.Expressions.Count;
|
|
for (int i = 0; i < count; i++)
|
|
{
|
|
Expression expression;
|
|
if (reverse)
|
|
{
|
|
expression = base.Expressions[count - i - 1];
|
|
}
|
|
else
|
|
{
|
|
expression = base.Expressions[i];
|
|
}
|
|
expression.Compile(cmp, reverse);
|
|
}
|
|
cmp.EmitBalance();
|
|
cmp.ResolveLink(linkRef);
|
|
}
|
|
|
|
// Token: 0x040015B4 RID: 5556
|
|
private CapturingGroup balance;
|
|
}
|
|
}
|