* roottypes.cs: Rename from tree.cs.
[mono.git] / mcs / class / System / System.Text.RegularExpressions / ChangeLog
index d4e291dd8d5d79dbd0bff80f1c5c2a09f7541ee7..7793b894d6da09562e673dad9048c5a03e58446f 100644 (file)
@@ -1,3 +1,128 @@
+2006-05-30  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * CaptureCollection.cs: Removed virtual keyword to fix API mismatches.
+       * MatchCollection.cs: Removed virtual keyword to fix API mismatches.
+       * GroupCollection.cs: Removed virtual keyword to fix API mismatches.
+
+2006-05-08  Raja R Harinath  <rharinath@novell.com>
+
+       Fix #78278
+       Remove 65535-limit on number of repetitions matched by a pattern.
+       We still have a 65535 limit on the length of a pattern and the
+       number of groups in a pattern.
+       * compiler.cs (PatternCompiler.EmitCount): New.  Emits an int as
+       two ushorts into the program stream.
+       (EmitInfo, EmitRepeat, EmitFastRepeat): Use it to emit integers
+       rather than shorts.
+       * interpreter.cs (Intepreter.ReadProgramCount): Read an int
+       emitted into the program stream.
+       (Interpreter): Use it.  Update counts.
+       (Interpreter.Eval) [OpCode.Repeat, OpCode.FastRepeat]: Likewise.
+       * parser.cs (ParseGroup): Pass 0x7ffffff as the max value for '*'
+       and '+' repetition patterns.
+       * arch.cs (Info, Repeat, FastRepeat): Update description.
+
+2006-04-18  Raja R Harinath  <rharinath@novell.com>
+
+       Treat fixed repetitions of simple regexes as simple too.
+       * syntax.cs (Expression.IsComplex): Make abstract.
+       (Group.IsComplex, Alternation.IsComplex): Move ...
+       (CompositeExpression.IsComplex): ... here.
+       (Group.GetAnchorInfo): Reduce allocations.  Avoid creating another
+       ArrayList, and use a StringBuilder to build up the string.
+       (Repetition.GetAnchorInfo): Use a StringBuilder to build up the string.
+       (ExpressionAssertion.IsComplex): Override.
+
+2006-04-17  Florian Gross  <flgr@ccan.de>
+           Raja R Harinath  <rharinath@novell.com>
+
+       * syntax.cs (CharacterClass.Compile): Emit categories after the
+       character intervals so that the evaluator can pick up the
+       'IgnoreCase' flag.
+
+2006-04-07  Raja R Harinath  <rharinath@novell.com>
+
+       Fix #78007
+       * interpreter.cs (Interpreter.Eval) [Anchor, Position.StartOfString]:
+       Don't reset 'ptr' to 0 during forward scan.
+
+       Fix #76345
+       * interpreter.cs (Interpreter.FastEval) [FastRepeat]: If the first
+       tail operation has a 'negate' flag, avoid the "match next char"
+       optimization.
+
+       Fix #69269
+       * arch.cs (OpCode.NotCategory): New.  Stands for matching a
+       character _not_ from the given category.
+       * debug.cs (DisassembleBlock): Handle it.
+       * compiler.cs (ICompiler.EmitNotCategory): New.
+       (Compiler.EmitNotCategory): New.  Emit OpCode.NotCategory.
+       * syntax.cs (CharacterClass.Compile): Don't conflate negation of
+       the character class and negation of the category.  Use
+       EmitNotCategory.
+       * interpreter.cs (Interpreter.Eval): Pass OpCode.NotCategory to
+       EvalChar.
+       (Interpreter.EvalChar): Handle it.
+
+2006-04-06  Raja R Harinath  <rharinath@novell.com>
+
+       Fix #77487
+       * interpreter.cs (Eval) [Until, FastUntil]: Set 'deep' to null
+       when evaluating the tail.  Ensure that backtracks don't confuse
+       the recursion vs. iteration detector.
+
+2006-04-03  Raja R Harinath  <rharinath@novell.com>
+
+       * interpreter.cs (Eval) [Until, lazy]: Avoid extra evaluation on a
+       degenerate match.
+
+2006-03-30  Raja R Harinath  <harinath@gmail.com>
+
+       Fix #77626
+       * parser.cs (Parser.ParseCharacterClass): Don't automatically
+       assume there's a range when we see '-'.  Ensure that we have seen
+       at least one other character, and that we aren't already parsing a
+       range.  Handle some more errors.
+
+2005-12-19  Kornél Pál  <kornelpal@hotmail.com>
+
+       * Regex.cs: Added support for regular expressions compiled to
+         assemblies by compiling the pattern. This solution ignores existing
+         CIL code but provides full support for regular expression classes
+         compiled by MS.NET.
+
+2005-11-21  Sebastien Pouliot  <sebastien@ximian.com> 
+
+       * CaptureCollection.cs: Fixed length check.
+       * Group.cs: Added missing validation for Synchronized method.
+       * Match.cs: Added missing validation for Synchronized and Result 
+       methods.
+       * MatchEvaluator.cs: Added [Serializable] for 2.0 profile.
+       * RegexCompilationInfo.cs: Added missing property validation.
+       * Regex.cs: Implemented UseOptionC and UseOptionR protected methods
+       (now documented). Fixed API for 2.0 profile.
+       * RegexRunner.cs: Stubbed CharInClass for 2.0 profile.
+
+2005-11-17  Sebastien Pouliot  <sebastien@ximian.com> 
+       * Match.cs: Removed the ": base ()" on the private ctor as it is
+       unrequired and cause an extra public ctor to added (bug #76736).
+       * MatchCollection.cs: Add missing virtual to indexer property.
+
+2005-09-23  Raja R Harinath  <rharinath@novell.com>
+
+       * interpreter.cs (Interpreter.Eval) [OpCode.Until]: Invert the
+       sense of a test to reflect the code re-organization.
+
+2005-09-22  Raja R Harinath  <rharinath@novell.com>
+
+       Fix #72152, #72989.
+       * interpreter.cs (Interpreter.Eval) [OpCode.Until]: Avoid some
+       cases of recursion when dealing with eager quantifiers too.  We
+       now avoid recursion when handling the innermost quantifier.
+       (Interpreter.IntStack, Interpreter.stack): New.  Stack to help
+       implement backtracking in eager quantifiers.
+
 2005-09-21  Raja R Harinath  <rharinath@novell.com>
 
        * interpreter.cs (Interpreter.Eval) [OpCode.Until]: Avoid some