Merge pull request #2386 from BrzVlad/fix-jit
[mono.git] / mcs / class / Commons.Xml.Relaxng / Commons.Xml.Relaxng.Derivative / RdpNameClasses.cs
index 8e1eb9fbdb0682e72bc9b080cd1ba7ede8a61125..fc02002f8ab0a1aedd8c9db8adbc3f5bf866dd74 100644 (file)
@@ -1,14 +1,14 @@
-//\r
-// Commons.Xml.Relaxng.Derivative.RdpNameClasses.cs\r
-//\r
-// Author:\r
-//     Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>\r
-//\r
-// 2003 Atsushi Enomoto "No rights reserved."\r
-//\r
-// Copyright (c) 2004 Novell Inc.\r
-// All rights reserved\r
-//\r
+//
+// Commons.Xml.Relaxng.Derivative.RdpNameClasses.cs
+//
+// Author:
+//     Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
+//
+// 2003 Atsushi Enomoto "No rights reserved."
+//
+// Copyright (c) 2004 Novell Inc.
+// All rights reserved
+//
 
 //
 // Permission is hereby granted, free of charge, to any person obtaining
 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
-\r
-using System;\r
-using System.Xml;\r
-\r
-namespace Commons.Xml.Relaxng.Derivative\r
-{\r
-       public enum RdpNameClassType\r
-       {\r
-               None = 0,\r
-               AnyName = 1,\r
-               AnyNameExcept = 2,\r
-               NsName = 3,\r
-               NsNameExcept = 4,\r
-               Name = 5,\r
-               NameClassChoice = 6\r
-       }\r
-\r
-       public abstract class RdpNameClass\r
-       {\r
-               public abstract RdpNameClassType NameClassType { get; }\r
-               public abstract bool Contains (string name, string ns);\r
-       }\r
-\r
-       public class RdpAnyName : RdpNameClass\r
-       {\r
-               static RdpAnyName instance;\r
-               static RdpAnyName ()\r
-               {\r
-                       instance = new RdpAnyName ();\r
-               }\r
-\r
-               public static RdpAnyName Instance {\r
-                       get { return instance; }\r
-               }\r
-\r
-               private RdpAnyName () {}\r
-\r
-               public override RdpNameClassType NameClassType {\r
-                       get { return RdpNameClassType.AnyName; }\r
-               }\r
-\r
-               public override bool Contains (string name, string ns)\r
-               {\r
-                       return true;\r
-               }\r
-       }\r
-\r
-       public class RdpAnyNameExcept : RdpNameClass\r
-       {\r
-               RdpNameClass except;\r
-\r
-               public RdpAnyNameExcept (RdpNameClass except)\r
-               {\r
-                       this.except = except;\r
-               }\r
-\r
-               public override RdpNameClassType NameClassType {\r
-                       get { return RdpNameClassType.AnyNameExcept; }\r
-               }\r
-\r
-               public RdpNameClass ExceptNameClass {\r
-                       get { return except; }\r
-               }\r
-\r
-               public override bool Contains (string name, string ns)\r
-               {\r
-                       return (except == null) || !except.Contains (name, ns);\r
-               }\r
-       }\r
-\r
-       public class RdpNsName : RdpNameClass\r
-       {\r
-               string ns;\r
-\r
-               public RdpNsName (string ns)\r
-               {\r
-                       this.ns = ns;\r
-               }\r
-\r
-               public override RdpNameClassType NameClassType {\r
-                       get { return RdpNameClassType.NsName; }\r
-               }\r
-\r
-               public string NamespaceURI {\r
-                       get { return ns; }\r
-               }\r
-\r
-               public override bool Contains (string name, string ns)\r
-               {\r
-                       return NamespaceURI == ns;\r
-               }\r
-       }\r
-\r
-       public class RdpNsNameExcept : RdpNsName\r
-       {\r
-               string ns;\r
-               RdpNameClass except;\r
-\r
-               public RdpNsNameExcept (string ns, RdpNameClass except)\r
-                       : base (ns)\r
-               {\r
-                       this.ns = ns;\r
-                       this.except = except;\r
-               }\r
-\r
-               public override RdpNameClassType NameClassType {\r
-                       get { return RdpNameClassType.NsNameExcept; }\r
-               }\r
-\r
-               public RdpNameClass ExceptNameClass {\r
-                       get { return except; }\r
-               }\r
-\r
-               public override bool Contains (string name, string ns)\r
-               {\r
-                       return this.ns == ns &&\r
-                               (except == null || !except.Contains (name, ns));\r
-               }\r
-       }\r
-\r
-       public class RdpName : RdpNameClass\r
-       {\r
-               string local;\r
-               string ns;\r
-\r
-               public RdpName (string local, string ns)\r
-               {\r
-                       this.ns = ns;\r
-                       this.local = local;\r
-               }\r
-\r
-               public override RdpNameClassType NameClassType {\r
-                       get { return RdpNameClassType.Name; }\r
-               }\r
-\r
-               public string NamespaceURI {\r
-                       get { return ns; }\r
-               }\r
-\r
-               public string LocalName {\r
-                       get { return local; }\r
-               }\r
-\r
-               public override bool Contains (string name, string ns)\r
-               {\r
-                       return this.ns == ns && this.local == name;\r
-               }\r
-       }\r
-\r
-       public class RdpNameClassChoice : RdpNameClass\r
-       {\r
-               RdpNameClass l;\r
-               RdpNameClass r;\r
-\r
-               public RdpNameClassChoice (RdpNameClass l, RdpNameClass r)\r
-               {\r
-                       this.l = l;\r
-                       this.r = r;\r
-               }\r
-\r
-               public override RdpNameClassType NameClassType {\r
-                       get { return RdpNameClassType.NameClassChoice; }\r
-               }\r
-\r
-               public RdpNameClass LValue {\r
-                       get { return l; }\r
-               }\r
-\r
-               public RdpNameClass RValue {\r
-                       get { return r; }\r
-               }\r
-\r
-               public override bool Contains (string name, string ns)\r
-               {\r
-                       return l.Contains (name, ns) || r.Contains (name, ns);\r
-               }\r
-       }\r
-\r
-}\r
-\r
+
+using System;
+using System.Xml;
+
+namespace Commons.Xml.Relaxng.Derivative
+{
+       public enum RdpNameClassType
+       {
+               None = 0,
+               AnyName = 1,
+               AnyNameExcept = 2,
+               NsName = 3,
+               NsNameExcept = 4,
+               Name = 5,
+               NameClassChoice = 6
+       }
+
+       public abstract class RdpNameClass
+       {
+               public abstract bool HasInfiniteName { get; }
+               public abstract RdpNameClassType NameClassType { get; }
+               public abstract bool Contains (string name, string ns);
+       }
+
+       public class RdpAnyName : RdpNameClass
+       {
+               static RdpAnyName instance;
+               static RdpAnyName ()
+               {
+                       instance = new RdpAnyName ();
+               }
+
+               public static RdpAnyName Instance {
+                       get { return instance; }
+               }
+
+               private RdpAnyName () {}
+
+               public override bool HasInfiniteName {
+                       get { return true; }
+               }
+
+               public override RdpNameClassType NameClassType {
+                       get { return RdpNameClassType.AnyName; }
+               }
+
+               public override bool Contains (string name, string ns)
+               {
+                       return true;
+               }
+       }
+
+       public class RdpAnyNameExcept : RdpNameClass
+       {
+               RdpNameClass except;
+
+               public RdpAnyNameExcept (RdpNameClass except)
+               {
+                       this.except = except;
+               }
+
+               public override bool HasInfiniteName {
+                       get { return true; }
+               }
+
+               public override RdpNameClassType NameClassType {
+                       get { return RdpNameClassType.AnyNameExcept; }
+               }
+
+               public RdpNameClass ExceptNameClass {
+                       get { return except; }
+               }
+
+               public override bool Contains (string name, string ns)
+               {
+                       return (except == null) || !except.Contains (name, ns);
+               }
+       }
+
+       public class RdpNsName : RdpNameClass
+       {
+               string ns;
+
+               public RdpNsName (string ns)
+               {
+                       this.ns = ns;
+               }
+
+               public override bool HasInfiniteName {
+                       get { return true; }
+               }
+
+               public override RdpNameClassType NameClassType {
+                       get { return RdpNameClassType.NsName; }
+               }
+
+               public string NamespaceURI {
+                       get { return ns; }
+               }
+
+               public override bool Contains (string name, string ns)
+               {
+                       return NamespaceURI == ns;
+               }
+       }
+
+       public class RdpNsNameExcept : RdpNsName
+       {
+               string ns;
+               RdpNameClass except;
+
+               public RdpNsNameExcept (string ns, RdpNameClass except)
+                       : base (ns)
+               {
+                       this.ns = ns;
+                       this.except = except;
+               }
+
+               public override bool HasInfiniteName {
+                       get { return true; }
+               }
+
+               public override RdpNameClassType NameClassType {
+                       get { return RdpNameClassType.NsNameExcept; }
+               }
+
+               public RdpNameClass ExceptNameClass {
+                       get { return except; }
+               }
+
+               public override bool Contains (string name, string ns)
+               {
+                       return this.ns == ns &&
+                               (except == null || !except.Contains (name, ns));
+               }
+       }
+
+       public class RdpName : RdpNameClass
+       {
+               string local;
+               string ns;
+
+               public RdpName (string local, string ns)
+               {
+                       this.ns = ns;
+                       this.local = local;
+               }
+
+               public override bool HasInfiniteName {
+                       get { return false; }
+               }
+
+               public override RdpNameClassType NameClassType {
+                       get { return RdpNameClassType.Name; }
+               }
+
+               public string NamespaceURI {
+                       get { return ns; }
+               }
+
+               public string LocalName {
+                       get { return local; }
+               }
+
+               public override bool Contains (string name, string ns)
+               {
+                       return this.ns == ns && this.local == name;
+               }
+       }
+
+       public class RdpNameClassChoice : RdpNameClass
+       {
+               RdpNameClass l;
+               RdpNameClass r;
+
+               public RdpNameClassChoice (RdpNameClass l, RdpNameClass r)
+               {
+                       this.l = l;
+                       this.r = r;
+               }
+
+               public override bool HasInfiniteName {
+                       get { return l.HasInfiniteName || r.HasInfiniteName; }
+               }
+
+               public override RdpNameClassType NameClassType {
+                       get { return RdpNameClassType.NameClassChoice; }
+               }
+
+               public RdpNameClass LValue {
+                       get { return l; }
+               }
+
+               public RdpNameClass RValue {
+                       get { return r; }
+               }
+
+               public override bool Contains (string name, string ns)
+               {
+                       return l.Contains (name, ns) || r.Contains (name, ns);
+               }
+       }
+
+}
+