23 * have any questions. |
23 * have any questions. |
24 */ |
24 */ |
25 |
25 |
26 package com.sun.tools.javac.code; |
26 package com.sun.tools.javac.code; |
27 |
27 |
28 import java.util.ArrayList; |
|
29 import java.util.Collections; |
|
30 import java.util.Set; |
28 import java.util.Set; |
31 import java.util.concurrent.Callable; |
29 import java.util.concurrent.Callable; |
32 import javax.lang.model.element.*; |
30 import javax.lang.model.element.*; |
33 import javax.lang.model.type.ReferenceType; |
|
34 import javax.lang.model.type.TypeMirror; |
|
35 import javax.tools.JavaFileObject; |
31 import javax.tools.JavaFileObject; |
36 |
32 |
37 import com.sun.tools.javac.util.*; |
33 import com.sun.tools.javac.util.*; |
38 import com.sun.tools.javac.util.Name; |
34 import com.sun.tools.javac.util.Name; |
39 import com.sun.tools.javac.code.Type.*; |
35 import com.sun.tools.javac.code.Type.*; |
1270 |
1266 |
1271 public static class CompletionFailure extends RuntimeException { |
1267 public static class CompletionFailure extends RuntimeException { |
1272 private static final long serialVersionUID = 0; |
1268 private static final long serialVersionUID = 0; |
1273 public Symbol sym; |
1269 public Symbol sym; |
1274 |
1270 |
|
1271 /** A diagnostic object describing the failure |
|
1272 */ |
|
1273 public JCDiagnostic diag; |
|
1274 |
1275 /** A localized string describing the failure. |
1275 /** A localized string describing the failure. |
1276 */ |
1276 * @deprecated Use {@code getDetail()} or {@code getMessage()} |
|
1277 */ |
|
1278 @Deprecated |
1277 public String errmsg; |
1279 public String errmsg; |
1278 |
1280 |
1279 public CompletionFailure(Symbol sym, String errmsg) { |
1281 public CompletionFailure(Symbol sym, String errmsg) { |
1280 this.sym = sym; |
1282 this.sym = sym; |
1281 this.errmsg = errmsg; |
1283 this.errmsg = errmsg; |
1282 // this.printStackTrace();//DEBUG |
1284 // this.printStackTrace();//DEBUG |
1283 } |
1285 } |
1284 |
1286 |
|
1287 public CompletionFailure(Symbol sym, JCDiagnostic diag) { |
|
1288 this.sym = sym; |
|
1289 this.diag = diag; |
|
1290 // this.printStackTrace();//DEBUG |
|
1291 } |
|
1292 |
|
1293 public JCDiagnostic getDiagnostic() { |
|
1294 return diag; |
|
1295 } |
|
1296 |
|
1297 @Override |
1285 public String getMessage() { |
1298 public String getMessage() { |
1286 return errmsg; |
1299 if (diag != null) |
|
1300 return diag.getMessage(null); |
|
1301 else |
|
1302 return errmsg; |
|
1303 } |
|
1304 |
|
1305 public Object getDetailValue() { |
|
1306 return (diag != null ? diag : errmsg); |
1287 } |
1307 } |
1288 |
1308 |
1289 @Override |
1309 @Override |
1290 public CompletionFailure initCause(Throwable cause) { |
1310 public CompletionFailure initCause(Throwable cause) { |
1291 super.initCause(cause); |
1311 super.initCause(cause); |