Merge pull request #960 from ermshiperete/ShowHelp
[mono.git] / mcs / class / System.XML / Mono.Xml.Xsl.Operations / XslForEach.cs
index b82aac1d5f5d1dc58974a25dd678527c2d503e6c..5b691c2e5f86f92d95c3c21965befbf3edad36bc 100644 (file)
@@ -46,6 +46,11 @@ namespace Mono.Xml.Xsl.Operations {
                
                protected override void Compile (Compiler c)
                {
+                       if (c.Debugger != null)
+                               c.Debugger.DebugCompile (c.Input);
+
+                       c.CheckExtraAttributes ("for-each", "select");
+
                        c.AssertAttribute ("select");
                        select = c.CompileExpression (c.GetAttribute ("select"));
                        ArrayList sorterList = null;
@@ -78,8 +83,12 @@ namespace Mono.Xml.Xsl.Operations {
                
                public override void Evaluate (XslTransformProcessor p)
                {
-                       if (children == null)
-                               return;
+                       if (p.Debugger != null)
+                               p.Debugger.DebugExecute (p, this.DebugInput);
+
+                       // This intelligent optimization causes poor compatibility bug shown in bug #457065
+//                     if (children == null)
+//                             return;
 
                        XPathNodeIterator iter = sortEvaluator != null ?
                                sortEvaluator.SortedSelect (p) :