3 instantiations of SymbolicRegexInfo
System.Text.RegularExpressions (3)
System\Text\RegularExpressions\Symbolic\SymbolicRegexInfo.cs (3)
39return new SymbolicRegexInfo( 158return new SymbolicRegexInfo(i); 161public static SymbolicRegexInfo Effect(SymbolicRegexInfo childInfo) => new SymbolicRegexInfo(childInfo._info | ContainsEffectMask);
31 references to SymbolicRegexInfo
System.Text.RegularExpressions (31)
System\Text\RegularExpressions\Symbolic\SymbolicRegexBuilder.cs (3)
74TSet set, SymbolicRegexInfo info) : IEquatable<NodeCacheKey> 82public readonly SymbolicRegexInfo Info = info; 97EqualityComparer<SymbolicRegexInfo>.Default.Equals(Info, other.Info);
System\Text\RegularExpressions\Symbolic\SymbolicRegexInfo.cs (16)
9internal readonly struct SymbolicRegexInfo : IEquatable<SymbolicRegexInfo> 26private static SymbolicRegexInfo Create( 73public static SymbolicRegexInfo Epsilon() => 84public static SymbolicRegexInfo Anchor(bool isLineAnchor, bool isEndZAnchor) => 98public static SymbolicRegexInfo Alternate(SymbolicRegexInfo left_info, SymbolicRegexInfo right_info) => 115public static SymbolicRegexInfo Concat(SymbolicRegexInfo left_info, SymbolicRegexInfo right_info) => 133public static SymbolicRegexInfo Loop(SymbolicRegexInfo body_info, int lowerBound, bool isLazy) 161public static SymbolicRegexInfo Effect(SymbolicRegexInfo childInfo) => new SymbolicRegexInfo(childInfo._info | ContainsEffectMask); 163public override bool Equals(object? obj) => obj is SymbolicRegexInfo i && Equals(i); 165public bool Equals(SymbolicRegexInfo other) => _info == other._info;
System\Text\RegularExpressions\Symbolic\SymbolicRegexNode.cs (12)
41internal readonly SymbolicRegexInfo _info; 62private SymbolicRegexNode(SymbolicRegexBuilder<TSet> builder, SymbolicRegexNodeKind kind, SymbolicRegexNode<TSet>? left, SymbolicRegexNode<TSet>? right, int lower, int upper, TSet set, SymbolicRegexInfo info) 78private static SymbolicRegexNode<TSet> Create(SymbolicRegexBuilder<TSet> builder, SymbolicRegexNodeKind kind, SymbolicRegexNode<TSet>? left, SymbolicRegexNode<TSet>? right, int lower, int upper, TSet? set, SymbolicRegexInfo info) 385Create(builder, SymbolicRegexNodeKind.FixedLengthMarker, null, null, length, -1, default, SymbolicRegexInfo.Epsilon()); 388Create(builder, SymbolicRegexNodeKind.Epsilon, null, null, -1, -1, default, SymbolicRegexInfo.Epsilon()); 399SymbolicRegexInfo.Anchor( 419return Create(builder, SymbolicRegexNodeKind.Loop, body, null, lower, upper, default, SymbolicRegexInfo.Loop(body._info, lower, isLazy)); 436return Create(builder, SymbolicRegexNodeKind.Effect, node, effectNode, -1, -1, default, SymbolicRegexInfo.Effect(node._info)); 440Create(builder, SymbolicRegexNodeKind.CaptureStart, null, null, captureNum, -1, default, SymbolicRegexInfo.Epsilon()); 443Create(builder, SymbolicRegexNodeKind.CaptureEnd, null, null, captureNum, -1, default, SymbolicRegexInfo.Epsilon()); 469return Create(builder, SymbolicRegexNodeKind.Concat, left, right, -1, -1, default, SymbolicRegexInfo.Concat(left._info, right._info)); 586return Create(builder, SymbolicRegexNodeKind.Alternate, left, right, -1, -1, default, SymbolicRegexInfo.Alternate(left._info, right._info));