this.qs = null;
// process info block
-#if !TARGET_JVM
Debug.Assert ((OpCode)program[0] == OpCode.Info, "Regex", "Cant' find info block");
-#endif
this.group_count = ReadProgramCount (1) + 1;
this.match_min = ReadProgramCount (3);
//this.match_max = ReadProgramCount (5);
}
case OpCode.Info: {
-#if !TARGET_JVM
Debug.Assert (false, "Regex", "Info block found in pattern");
-#endif
goto Fail;
}
}
//Group not previously matched
return false;
}
-#if !TARGET_JVM
Debug.Assert (marks [b].IsDefined, "Regex", "Balancng group not closed");
-#endif
if (gid > 0 && capture){
Open (gid, marks [b].Index + marks [b].Length);
Close (gid, ptr);
}
private void Backtrack (int cp) {
-#if !TARGET_JVM
Debug.Assert (cp > mark_start, "Regex", "Attempt to backtrack forwards");
-#endif
for (int i = 0; i < groups.Length; ++ i) {
int m = groups [i];
while (cp <= m)