2004-08-30 Atsushi Enomoto <atsushi@ximian.com>
authorAtsushi Eno <atsushieno@gmail.com>
Mon, 30 Aug 2004 11:53:18 +0000 (11:53 -0000)
committerAtsushi Eno <atsushieno@gmail.com>
Mon, 30 Aug 2004 11:53:18 +0000 (11:53 -0000)
* XsltException.cs : Message property is not overriden in NET_2_0.

svn path=/trunk/mcs/; revision=33037

mcs/class/System.XML/System.Xml.Xsl/ChangeLog
mcs/class/System.XML/System.Xml.Xsl/XsltException.cs

index a8151dc2033fb66ac03808cb34acba0c99656707..425d6486e2cd57861e9d953e5f1c2bbc2dcc35d3 100644 (file)
@@ -1,3 +1,7 @@
+2004-08-30  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * XsltException.cs : Message property is not overriden in NET_2_0.
+
 2004-08-30  Atsushi Enomoto  <atsushi@ximian.com>
 
        * XsltException.cs : added NET_2_0 constructors too.
index cdadb86a0f179726a16ee048d4e30434b1617c79..11c1e310d7486cc7c83a05e6a33bc9abd1d43f26 100644 (file)
@@ -39,6 +39,26 @@ namespace System.Xml.Xsl
        [Serializable]\r
        public class XsltException : SystemException\r
        {\r
+               static string CreateMessage (string message, XPathNavigator nav)\r
+               {\r
+                       IXmlLineInfo li = nav as IXmlLineInfo;\r
+                       int lineNumber = li != null ? li.LineNumber : 0;\r
+                       int linePosition = li != null ? li.LinePosition : 0;\r
+                       string sourceUri = nav != null ? nav.BaseURI : String.Empty;\r
+                       return CreateMessage (lineNumber, linePosition, sourceUri, message);\r
+               }\r
+\r
+               static string CreateMessage (int lineNumber, int linePosition, string sourceUri, string msg)\r
+               {\r
+                       if (sourceUri != null)\r
+                               msg += " " + sourceUri;\r
+                       if (lineNumber != 0)\r
+                               msg += " line " + lineNumber;\r
+                       if (linePosition != 0)\r
+                               msg += ", position " + linePosition;\r
+                       return msg;\r
+               }\r
+\r
                #region Fields\r
 \r
                int lineNumber;\r
@@ -75,7 +95,7 @@ namespace System.Xml.Xsl
                }
 
                internal XsltException (string message, Exception innerException, int lineNumber, int linePosition, string sourceUri)
-                       : base (message, innerException)\r
+                       : base (CreateMessage (lineNumber, linePosition, sourceUri, message), innerException)\r
                {\r
                        this.lineNumber = lineNumber;\r
                        this.linePosition = linePosition;\r
@@ -83,7 +103,7 @@ namespace System.Xml.Xsl
                }\r
 \r
                internal XsltException (string message, Exception innerException, XPathNavigator nav)
-                       : base (message, innerException)\r
+                       : base (CreateMessage (message, nav), innerException)\r
                {\r
                        IXmlLineInfo li = nav as IXmlLineInfo;\r
                        this.lineNumber = li != null ? li.LineNumber : 0;\r
@@ -103,6 +123,7 @@ namespace System.Xml.Xsl
                        get { return linePosition; }\r
                }\r
 \r
+#if NET_2_0\r
                public override string Message {\r
                        get {\r
                                string msg = base.Message;\r
@@ -115,6 +136,7 @@ namespace System.Xml.Xsl
                                return msg;\r
                        }\r
                }\r
+#endif\r
 \r
                public string SourceUri {\r
                        get { return sourceUri; }\r