src/share/classes/com/sun/tools/javac/code/Symbol.java

changeset 12
7366066839bb
parent 1
9a66ca7c79fa
child 54
eaf608c64fec
equal deleted inserted replaced
11:b66d15dfd001 12:7366066839bb
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);

mercurial