Merge pull request #5714 from alexischr/update_bockbuild
[mono.git] / mcs / class / Microsoft.Build.Framework / Microsoft.Build.Framework / BuildErrorEventArgs.cs
1 //
2 // BuildErrorEventArgs.cs: Provides data for the Microsoft.Build.Framework
3 // .IEventSource.ErrorRaised event.
4 //
5 // Author:
6 //   Marek Sieradzki (marek.sieradzki@gmail.com)
7 //
8 // (C) 2005 Marek Sieradzki
9 //
10 // Permission is hereby granted, free of charge, to any person obtaining
11 // a copy of this software and associated documentation files (the
12 // "Software"), to deal in the Software without restriction, including
13 // without limitation the rights to use, copy, modify, merge, publish,
14 // distribute, sublicense, and/or sell copies of the Software, and to
15 // permit persons to whom the Software is furnished to do so, subject to
16 // the following conditions:
17 //
18 // The above copyright notice and this permission notice shall be
19 // included in all copies or substantial portions of the Software.
20 //
21 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
22 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
23 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
24 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
25 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
26 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
27 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
28
29 using System;
30
31 namespace Microsoft.Build.Framework {
32         [Serializable]
33         public class BuildErrorEventArgs
34                         : LazyFormattedBuildEventArgs {
35         
36                 string  code;
37                 int     columnNumber;
38                 int     endColumnNumber;
39                 int     endLineNumber;
40                 string  file;
41                 int     lineNumber;
42                 string  subcategory;
43                 string projectFile;
44
45                 protected BuildErrorEventArgs ()
46                 {
47                 }
48
49                 public BuildErrorEventArgs (string subcategory, string code,
50                                             string file, int lineNumber,
51                                             int columnNumber,
52                                             int endLineNumber,
53                                             int endColumnNumber,
54                                             string message, string helpKeyword,
55                                             string senderName)
56                         : base (message, helpKeyword, senderName)
57                 {
58                         this.subcategory = subcategory;
59                         this.code = code;
60                         this.file = file;
61                         this.lineNumber = lineNumber;
62                         this.columnNumber = columnNumber;
63                         this.endLineNumber = endLineNumber;
64                         this.endColumnNumber = endColumnNumber;
65                 }
66
67                 public BuildErrorEventArgs (string subcategory, string code,
68                                 string file, int lineNumber, int columnNumber,
69                                 int endLineNumber, int endColumnNumber, string message,
70                                 string helpKeyword, string senderName, DateTime eventTimestamp)
71                         : this (subcategory, code, file, lineNumber, columnNumber,
72                                 endLineNumber, endColumnNumber, message, helpKeyword,
73                                 senderName, eventTimestamp, new object[0])
74                 {
75                 }
76
77                 public BuildErrorEventArgs (string subcategory, string code,
78                                 string file, int lineNumber, int columnNumber, int endLineNumber,
79                                 int endColumnNumber, string message, string helpKeyword,
80                                 string senderName, DateTime eventTimestamp,
81                                 params object[] messageArgs)
82                         : base (message, helpKeyword, senderName, eventTimestamp, messageArgs)
83                 {
84                         this.subcategory = subcategory;
85                         this.code = code;
86                         this.file = file;
87                         this.lineNumber = lineNumber;
88                         this.columnNumber = columnNumber;
89                         this.endLineNumber = endLineNumber;
90                         this.endColumnNumber = endColumnNumber;
91
92                 }
93
94                 public string Code {
95                         get {
96                                 return code;
97                         }
98                 }
99
100                 public int ColumnNumber {
101                         get {
102                                 return columnNumber;
103                         }
104                 }
105
106                 public int EndColumnNumber {
107                         get {
108                                 return endColumnNumber;
109                         }
110                 }
111
112                 public int EndLineNumber {
113                         get {
114                                 return endLineNumber;
115                         }
116                 }
117
118                 public string File {
119                         get {
120                                 return file;
121                         }
122                 }
123
124                 public int LineNumber {
125                         get {
126                                 return lineNumber;
127                         }
128                 }
129                 
130                 public string Subcategory {
131                         get {
132                                 return subcategory;
133                         }
134                 }
135
136                 public string ProjectFile {
137                         get { return projectFile; }
138                         set {  projectFile = value; }
139                 }
140
141         }
142 }
143