Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ GenerateMiddleSection()

void System.Text.RegularExpressions.RegexCompiler.GenerateMiddleSection ( )
inlineprivateinherited

Definition at line 981 of file RegexCompiler.cs.

982 {
983 using RentedLocalBuilder rentedLocalBuilder = RentInt32Local();
984 Label l = DefineLabel();
985 Label l2 = DefineLabel();
988 Ldc(4);
989 Mul();
993 Bge(l);
995 Ldthis();
999 MarkLabel(l);
1002 Bge(l2);
1004 Ldthis();
1008 MarkLabel(l2);
1009 PopTrack();
1010 Label[] array = new Label[_notecount];
1011 for (int i = 0; i < _notecount; i++)
1012 {
1013 array[i] = _notes[i]._label;
1014 }
1015 Switch(array);
1016 }
static readonly FieldInfo s_runtrackcountField
static readonly FieldInfo s_runtrackposField
void Mvlocfld(LocalBuilder lt, FieldInfo ft)
static readonly MethodInfo s_doubleTrackMethod
static readonly MethodInfo s_doubleStackMethod
static readonly FieldInfo s_runstackposField
void Mvfldloc(FieldInfo ft, LocalBuilder lt)

References System.Text.RegularExpressions.RegexCompiler._backtrack, System.Text.RegularExpressions.RegexCompiler.BacktrackNote._label, System.Text.RegularExpressions.RegexCompiler._notecount, System.Text.RegularExpressions.RegexCompiler._notes, System.Text.RegularExpressions.RegexCompiler._runstackLocal, System.Text.RegularExpressions.RegexCompiler._runstackposLocal, System.Text.RegularExpressions.RegexCompiler._runtrackLocal, System.Text.RegularExpressions.RegexCompiler._runtrackposLocal, System.Text.RegularExpressions.array, System.Reflection.Emit.Bge, System.Reflection.Emit.Call, System.Text.RegularExpressions.RegexCompiler.DefineLabel(), System.Text.RegularExpressions.i, System.Text.RegularExpressions.RegexCompiler.Ldc(), System.Reflection.Emit.Ldloc, System.Text.RegularExpressions.RegexCompiler.Ldthis(), System.Text.RegularExpressions.RegexCompiler.Ldthisfld(), System.Text.RegularExpressions.RegexCompiler.MarkLabel(), System.Text.RegularExpressions.RegexCompiler.Mul(), System.Text.RegularExpressions.RegexCompiler.Mvfldloc(), System.Text.RegularExpressions.RegexCompiler.Mvlocfld(), System.Text.RegularExpressions.RegexCompiler.PopTrack(), System.Text.RegularExpressions.RegexCompiler.RentInt32Local(), System.Text.RegularExpressions.RegexCompiler.s_doubleStackMethod, System.Text.RegularExpressions.RegexCompiler.s_doubleTrackMethod, System.Text.RegularExpressions.RegexCompiler.s_runstackField, System.Text.RegularExpressions.RegexCompiler.s_runstackposField, System.Text.RegularExpressions.RegexCompiler.s_runtrackcountField, System.Text.RegularExpressions.RegexCompiler.s_runtrackField, System.Text.RegularExpressions.RegexCompiler.s_runtrackposField, System.Reflection.Emit.Stloc, and System.Reflection.Emit.Switch.

Referenced by System.Text.RegularExpressions.RegexCompiler.GenerateGo().