Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
System.Text.RegularExpressions.RegexLWCGCompiler Class Referencesealed

Public Member Functions

 RegexLWCGCompiler ()
 
RegexRunnerFactory FactoryInstanceFromCode (string pattern, RegexCode code, RegexOptions options, bool hasTimeout)
 

Protected Member Functions

void Ldstr (string str)
 
void Ldc (int i)
 
void LdcI8 (long i)
 
void Ret ()
 
void Dup ()
 
void Ldthis ()
 
void Ldthisfld (FieldInfo ft)
 
void Stfld (FieldInfo ft)
 
void Callvirt (MethodInfo mt)
 
void Call (MethodInfo mt)
 
void GenerateFindFirstChar ()
 
void GenerateGo ()
 

Protected Attributes

ILGenerator _ilg
 
RegexOptions _options
 
RegexCode _code
 
int[] _codes
 
string[] _strings
 
string CharClass
 
string bool CaseInsensitive[] _leadingCharClasses
 
RegexBoyerMoore _boyerMoorePrefix
 
int _leadingAnchor
 
bool _hasTimeout
 
int _trackcount
 

Static Protected Attributes

static readonly FieldInfo s_runtrackcountField = RegexRunnerField("runtrackcount")
 

Package Functions

void ReadyReplaceStack (int i)
 

Static Package Functions

static RegexRunnerFactory Compile (string pattern, RegexCode code, RegexOptions options, bool hasTimeout)
 

Properties

bool UseToLowerInvariant [get]
 

Private Member Functions

DynamicMethod DefineDynamicMethod (string methname, Type returntype, Type hostType)
 
int AddBacktrackNote (int flags, Label l, int codepos)
 
int AddTrack ()
 
int AddTrack (int flags)
 
int AddGoto (int destpos)
 
int AddUniqueTrack (int i)
 
int AddUniqueTrack (int i, int flags)
 
Label DefineLabel ()
 
void MarkLabel (Label l)
 
int Operand (int i)
 
bool IsRightToLeft ()
 
bool IsCaseInsensitive ()
 
int Code ()
 
void RemUn ()
 
void Ceq ()
 
void CgtUn ()
 
void CltUn ()
 
void Pop ()
 
void Add ()
 
void Add (bool negate)
 
void Sub ()
 
void Sub (bool negate)
 
void Neg ()
 
void Mul ()
 
void And ()
 
void Or ()
 
void Shl ()
 
void Shr ()
 
void Ldloc (LocalBuilder lt)
 
void Ldloca (LocalBuilder lt)
 
void LdindU2 ()
 
void LdindI4 ()
 
void LdindI8 ()
 
void Unaligned (byte alignment)
 
void Stloc (LocalBuilder lt)
 
void Mvfldloc (FieldInfo ft, LocalBuilder lt)
 
void Mvlocfld (LocalBuilder lt, FieldInfo ft)
 
void Ldfld (FieldInfo ft)
 
void BrfalseFar (Label l)
 
void BrtrueFar (Label l)
 
void BrFar (Label l)
 
void BleFar (Label l)
 
void BltFar (Label l)
 
void BltUnFar (Label l)
 
void BgeFar (Label l)
 
void BgeUnFar (Label l)
 
void BgtFar (Label l)
 
void BneFar (Label l)
 
void BeqFar (Label l)
 
void Brfalse (Label l)
 
void Brtrue (Label l)
 
void Br (Label l)
 
void Ble (Label l)
 
void Blt (Label l)
 
void Bge (Label l)
 
void BgeUn (Label l)
 
void Bgt (Label l)
 
void BgtUn (Label l)
 
void Bne (Label l)
 
void Beq (Label l)
 
void Ldlen ()
 
void LdelemI4 ()
 
void StelemI4 ()
 
void Switch (Label[] table)
 
LocalBuilder DeclareInt32 ()
 
LocalBuilder DeclareTextInfo ()
 
LocalBuilder DeclareInt32Array ()
 
LocalBuilder DeclareString ()
 
LocalBuilder DeclareReadOnlySpanChar ()
 
RentedLocalBuilder RentInt32Local ()
 
RentedLocalBuilder RentReadOnlySpanCharLocal ()
 
void Rightchar ()
 
void Rightcharnext ()
 
void Leftchar ()
 
void Leftcharnext ()
 
void Track ()
 
void Trackagain ()
 
void PushTrack (LocalBuilder lt)
 
void TrackUnique (int i)
 
void TrackUnique2 (int i)
 
void ReadyPushTrack ()
 
void PopTrack ()
 
void TopTrack ()
 
void PushStack (LocalBuilder lt)
 
void ReadyPushStack ()
 
void TopStack ()
 
void PopStack ()
 
void PopDiscardStack ()
 
void PopDiscardStack (int i)
 
void DoReplace ()
 
void DoPush ()
 
void Back ()
 
void Goto (int i)
 
int NextCodepos ()
 
Label AdvanceLabel ()
 
void Advance ()
 
void InitLocalCultureInfo ()
 
void CallToLower ()
 
void GenerateForwardSection ()
 
void GenerateMiddleSection ()
 
void GenerateBacktrackSection ()
 
bool TryGenerateNonBacktrackingGo (RegexNode node)
 
void InitializeCultureForGoIfNecessary ()
 
void GenerateOneCode ()
 
void EmitMatchCharacterClass (string charClass, bool caseInsensitive)
 
void EmitTimeoutCheck ()
 

Static Private Member Functions

static FieldInfo RegexRunnerField (string fieldname)
 
static MethodInfo RegexRunnerMethod (string methname)
 
static bool ParticipatesInCaseConversion (int comparison)
 

Private Attributes

readonly bool _persistsAssembly
 
LocalBuilder _runtextbegLocal
 
LocalBuilder _runtextendLocal
 
LocalBuilder _runtextposLocal
 
LocalBuilder _runtextLocal
 
LocalBuilder _runtrackposLocal
 
LocalBuilder _runtrackLocal
 
LocalBuilder _runstackposLocal
 
LocalBuilder _runstackLocal
 
LocalBuilder _textInfoLocal
 
LocalBuilder _loopTimeoutCounterLocal
 
Label[] _labels
 
BacktrackNote[] _notes
 
int _notecount
 
Label _backtrack
 
Stack< LocalBuilder_int32LocalsPool
 
Stack< LocalBuilder_readOnlySpanCharLocalsPool
 
int _regexopcode
 
int _codepos
 
int _backpos
 
int[] _uniquenote
 
int[] _goto
 

Static Private Attributes

static readonly bool s_includePatternInName = Environment.GetEnvironmentVariable("DOTNET_SYSTEM_TEXT_REGULAREXPRESSIONS_PATTERNINNAME") == "1"
 
static readonly Type[] s_paramTypes = new Type[1] { typeof(RegexRunner) }
 
static int s_regexCount
 
static readonly FieldInfo s_runtextbegField = RegexRunnerField("runtextbeg")
 
static readonly FieldInfo s_runtextendField = RegexRunnerField("runtextend")
 
static readonly FieldInfo s_runtextstartField = RegexRunnerField("runtextstart")
 
static readonly FieldInfo s_runtextposField = RegexRunnerField("runtextpos")
 
static readonly FieldInfo s_runtextField = RegexRunnerField("runtext")
 
static readonly FieldInfo s_runtrackposField = RegexRunnerField("runtrackpos")
 
static readonly FieldInfo s_runtrackField = RegexRunnerField("runtrack")
 
static readonly FieldInfo s_runstackposField = RegexRunnerField("runstackpos")
 
static readonly FieldInfo s_runstackField = RegexRunnerField("runstack")
 
static readonly MethodInfo s_doubleStackMethod = RegexRunnerMethod("DoubleStack")
 
static readonly MethodInfo s_doubleTrackMethod = RegexRunnerMethod("DoubleTrack")
 
static readonly MethodInfo s_captureMethod = RegexRunnerMethod("Capture")
 
static readonly MethodInfo s_transferCaptureMethod = RegexRunnerMethod("TransferCapture")
 
static readonly MethodInfo s_uncaptureMethod = RegexRunnerMethod("Uncapture")
 
static readonly MethodInfo s_isMatchedMethod = RegexRunnerMethod("IsMatched")
 
static readonly MethodInfo s_matchLengthMethod = RegexRunnerMethod("MatchLength")
 
static readonly MethodInfo s_matchIndexMethod = RegexRunnerMethod("MatchIndex")
 
static readonly MethodInfo s_isBoundaryMethod = RegexRunnerMethod("IsBoundary")
 
static readonly MethodInfo s_isECMABoundaryMethod = RegexRunnerMethod("IsECMABoundary")
 
static readonly MethodInfo s_crawlposMethod = RegexRunnerMethod("Crawlpos")
 
static readonly MethodInfo s_charInClassMethod = RegexRunnerMethod("CharInClass")
 
static readonly MethodInfo s_checkTimeoutMethod = RegexRunnerMethod("CheckTimeout")
 
static readonly MethodInfo s_charIsDigitMethod = typeof(char).GetMethod("IsDigit", new Type[1] { typeof(char) })
 
static readonly MethodInfo s_charIsWhiteSpaceMethod = typeof(char).GetMethod("IsWhiteSpace", new Type[1] { typeof(char) })
 
static readonly MethodInfo s_charGetUnicodeInfo = typeof(char).GetMethod("GetUnicodeCategory", new Type[1] { typeof(char) })
 
static readonly MethodInfo s_charToLowerInvariantMethod = typeof(char).GetMethod("ToLowerInvariant", new Type[1] { typeof(char) })
 
static readonly MethodInfo s_cultureInfoGetCurrentCultureMethod = typeof(CultureInfo).GetMethod("get_CurrentCulture")
 
static readonly MethodInfo s_cultureInfoGetTextInfoMethod = typeof(CultureInfo).GetMethod("get_TextInfo")
 
static readonly MethodInfo s_spanGetItemMethod = typeof(ReadOnlySpan<char>).GetMethod("get_Item", new Type[1] { typeof(int) })
 
static readonly MethodInfo s_spanGetLengthMethod = typeof(ReadOnlySpan<char>).GetMethod("get_Length")
 
static readonly MethodInfo s_memoryMarshalGetReference = typeof(MemoryMarshal).GetMethod("GetReference", new Type[1] { typeof(ReadOnlySpan<>).MakeGenericType(Type.MakeGenericMethodParameter(0)) }).MakeGenericMethod(typeof(char))
 
static readonly MethodInfo s_spanIndexOf
 
static readonly MethodInfo s_spanIndexOfAnyCharChar
 
static readonly MethodInfo s_spanIndexOfAnyCharCharChar
 
static readonly MethodInfo s_spanSliceIntMethod = typeof(ReadOnlySpan<char>).GetMethod("Slice", new Type[1] { typeof(int) })
 
static readonly MethodInfo s_spanSliceIntIntMethod
 
static readonly MethodInfo s_spanStartsWith
 
static readonly MethodInfo s_stringAsSpanMethod = typeof(MemoryExtensions).GetMethod("AsSpan", new Type[1] { typeof(string) })
 
static readonly MethodInfo s_stringAsSpanIntIntMethod
 
static readonly MethodInfo s_stringGetCharsMethod = typeof(string).GetMethod("get_Chars", new Type[1] { typeof(int) })
 
static readonly MethodInfo s_stringIndexOfCharInt
 
static readonly MethodInfo s_textInfoToLowerMethod = typeof(TextInfo).GetMethod("ToLower", new Type[1] { typeof(char) })
 

Detailed Description

Definition at line 7 of file RegexLWCGCompiler.cs.


The documentation for this class was generated from the following file: