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; } }