get static context to Pattern
authorBen Maurer <benm@mono-cvs.ximian.com>
Sat, 13 Sep 2003 16:53:51 +0000 (16:53 -0000)
committerBen Maurer <benm@mono-cvs.ximian.com>
Sat, 13 Sep 2003 16:53:51 +0000 (16:53 -0000)
svn path=/trunk/mcs/; revision=18061

mcs/class/System.XML/Mono.Xml.XPath/ChangeLog
mcs/class/System.XML/Mono.Xml.XPath/Pattern.cs
mcs/class/System.XML/Mono.Xml.Xsl/ChangeLog
mcs/class/System.XML/Mono.Xml.Xsl/Compiler.cs

index 1c9fae93b30c646fa90b5bc12f1ff863f6b620f1..3bc32187bca6492e030257b708d395de95ab2856 100644 (file)
@@ -1,3 +1,7 @@
+2003-09-13 Ben Maurer  <bmaurer@users.sourceforge.net>
+
+       * Pattern.cs: Support static context.
+
 2003-08-25 Ben Maurer  <bmaurer@users.sourceforge.net>
 
        * DTMXPathNavigator.cs: Allocate valueBuilder on first use.
index 9c84b695d89547745d83489db33309fd69aad3b1..c5fa45df9eef4f4fa3280b708cc8c6f1b51ef9bd 100644 (file)
@@ -18,10 +18,11 @@ using System.Xml.Xsl;
 namespace Mono.Xml.XPath {
        public abstract class Pattern {
                
-               public static Pattern Compile (string s)
+               internal static Pattern Compile (string s, System.Xml.Xsl.IStaticXsltContext ctx)
                {
                        Tokenizer tokenizer = new Tokenizer (s);
                        XPathParser parser = new XPathParser ();
+                       parser.Context = ctx;
                        Expression expr = (Expression) parser.yyparseSafe (tokenizer);
                        
                        return Compile (expr);
index c53b968e5c8481bdaa749d75a99e44c9924e15c1..162862ff0b97298379c1b4d63c57dd5cc7196f1f 100644 (file)
@@ -1,3 +1,7 @@
+2003-09-13 Ben Maurer  <bmaurer@users.sourceforge.net>
+
+       * Compiler.cs: pass satic context to Pattern ctor.
+
 2003-08-30 Oleg Tkachenko <oleg@tkachenko.com>
 
        * New files: 
index e2bea0d3b856a75a296bd641c69a97d6ec981a35..fbedbfb1748c4bb0608776afcc7b0750d0127bc1 100644 (file)
@@ -251,7 +251,7 @@ namespace Mono.Xml.Xsl {
                public Pattern CompilePattern (string pattern)
                {
                        if (pattern == null || pattern == "") return null;
-                       Pattern p = Pattern.Compile (pattern);
+                       Pattern p = Pattern.Compile (pattern, this);
                        
                        exprStore.AddPattern (p, this);