2007-06-01 Atsushi Enomoto <atsushi@ximian.com>
[mono.git] / mcs / build / common / MonoTODOAttribute.cs
1 //
2 // MonoTODOAttribute.cs
3 //
4 // Authors:
5 //   Ravi Pratap (ravi@ximian.com)
6 //   Eyal Alaluf <eyala@mainsoft.com> 
7 //
8 // (C) Ximian, Inc.  http://www.ximian.com
9 //
10
11 //
12 // Copyright (C) 2004 Novell, Inc (http://www.novell.com)
13 // Copyright (C) 2006 Mainsoft, Inc (http://www.mainsoft.com)
14 //
15 // Permission is hereby granted, free of charge, to any person obtaining
16 // a copy of this software and associated documentation files (the
17 // "Software"), to deal in the Software without restriction, including
18 // without limitation the rights to use, copy, modify, merge, publish,
19 // distribute, sublicense, and/or sell copies of the Software, and to
20 // permit persons to whom the Software is furnished to do so, subject to
21 // the following conditions:
22 // 
23 // The above copyright notice and this permission notice shall be
24 // included in all copies or substantial portions of the Software.
25 // 
26 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
27 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
28 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
29 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
30 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
31 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
32 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
33 //
34
35 namespace System {
36         
37         [AttributeUsage (AttributeTargets.All, AllowMultiple=true)]
38         internal class MonoTODOAttribute : Attribute {
39
40                 string comment;
41                 
42                 public MonoTODOAttribute ()
43                 {
44                 }
45
46                 public MonoTODOAttribute (string comment)
47                 {
48                         this.comment = comment;
49                 }
50
51                 public virtual string Comment {
52                         get { return comment; }
53                 }
54         }
55
56         [AttributeUsage (AttributeTargets.All, AllowMultiple=true)]
57         internal class MonoDocumentationNoteAttribute : MonoTODOAttribute {
58
59                 public MonoDocumentationNoteAttribute (string comment)
60                         : base (comment)
61                 {
62                 }
63
64                 public override string Comment {
65                         get { return base.Comment; }
66                 }
67         }
68
69         [AttributeUsage (AttributeTargets.All, AllowMultiple=true)]
70         internal class MonoExtensionAttribute : MonoTODOAttribute {
71
72                 public MonoExtensionAttribute (string comment)
73                         : base (comment)
74                 {
75                 }
76
77                 public override string Comment {
78                         get { return base.Comment; }
79                 }
80         }
81
82         [AttributeUsage (AttributeTargets.All, AllowMultiple=true)]
83         internal class MonoInternalNoteAttribute : MonoTODOAttribute {
84
85                 public MonoInternalNoteAttribute (string comment)
86                         : base (comment)
87                 {
88                 }
89
90                 public override string Comment {
91                         get { return base.Comment; }
92                 }
93         }
94
95         [AttributeUsage (AttributeTargets.All, AllowMultiple=true)]
96         internal class MonoLimitationAttribute : MonoTODOAttribute {
97
98                 public MonoLimitationAttribute (string comment)
99                         : base (comment)
100                 {
101                 }
102
103                 public override string Comment {
104                         get { return base.Comment; }
105                 }
106         }
107
108         [AttributeUsage (AttributeTargets.All, AllowMultiple=true)]
109         internal class MonoNotSupportedAttribute : MonoTODOAttribute {
110
111                 public MonoNotSupportedAttribute (string comment)
112                         : base (comment)
113                 {
114                 }
115
116                 public override string Comment {
117                         get { return base.Comment; }
118                 }
119         }
120 }