33 import java.util.MissingResourceException; |
33 import java.util.MissingResourceException; |
34 import javax.tools.Diagnostic; |
34 import javax.tools.Diagnostic; |
35 import javax.tools.Diagnostic.Kind; |
35 import javax.tools.Diagnostic.Kind; |
36 import javax.tools.DiagnosticListener; |
36 import javax.tools.DiagnosticListener; |
37 import javax.tools.JavaFileObject; |
37 import javax.tools.JavaFileObject; |
|
38 |
|
39 import com.sun.tools.javac.util.DefinedBy; |
|
40 import com.sun.tools.javac.util.DefinedBy.Api; |
38 |
41 |
39 /** |
42 /** |
40 * Messages, verbose and error handling support. |
43 * Messages, verbose and error handling support. |
41 * |
44 * |
42 * For errors, the failure modes are: |
45 * For errors, the failure modes are: |
150 } |
153 } |
151 |
154 |
152 private Diagnostic<JavaFileObject> createDiagnostic( |
155 private Diagnostic<JavaFileObject> createDiagnostic( |
153 final Diagnostic.Kind kind, final String code, final Object... args) { |
156 final Diagnostic.Kind kind, final String code, final Object... args) { |
154 return new Diagnostic<JavaFileObject>() { |
157 return new Diagnostic<JavaFileObject>() { |
|
158 @DefinedBy(Api.COMPILER) |
155 public String getCode() { |
159 public String getCode() { |
156 return code; |
160 return code; |
157 } |
161 } |
|
162 @DefinedBy(Api.COMPILER) |
158 public long getColumnNumber() { |
163 public long getColumnNumber() { |
159 return Diagnostic.NOPOS; |
164 return Diagnostic.NOPOS; |
160 } |
165 } |
|
166 @DefinedBy(Api.COMPILER) |
161 public long getEndPosition() { |
167 public long getEndPosition() { |
162 return Diagnostic.NOPOS; |
168 return Diagnostic.NOPOS; |
163 } |
169 } |
|
170 @DefinedBy(Api.COMPILER) |
164 public Kind getKind() { |
171 public Kind getKind() { |
165 return kind; |
172 return kind; |
166 } |
173 } |
|
174 @DefinedBy(Api.COMPILER) |
167 public long getLineNumber() { |
175 public long getLineNumber() { |
168 return Diagnostic.NOPOS; |
176 return Diagnostic.NOPOS; |
169 } |
177 } |
|
178 @DefinedBy(Api.COMPILER) |
170 public String getMessage(Locale locale) { |
179 public String getMessage(Locale locale) { |
171 if (code.length() == 0) |
180 if (code.length() == 0) |
172 return (String) args[0]; |
181 return (String) args[0]; |
173 return getText(code, args); // FIXME locale |
182 return getText(code, args); // FIXME locale |
174 } |
183 } |
|
184 @DefinedBy(Api.COMPILER) |
175 public long getPosition() { |
185 public long getPosition() { |
176 return Diagnostic.NOPOS; |
186 return Diagnostic.NOPOS; |
177 } |
187 } |
|
188 @DefinedBy(Api.COMPILER) |
178 public JavaFileObject getSource() { |
189 public JavaFileObject getSource() { |
179 return null; |
190 return null; |
180 } |
191 } |
|
192 @DefinedBy(Api.COMPILER) |
181 public long getStartPosition() { |
193 public long getStartPosition() { |
182 return Diagnostic.NOPOS; |
194 return Diagnostic.NOPOS; |
183 } |
195 } |
184 }; |
196 }; |
185 } |
197 } |