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

changeset 12
7366066839bb
parent 1
9a66ca7c79fa
child 54
eaf608c64fec
     1.1 --- a/src/share/classes/com/sun/tools/javac/code/Symbol.java	Tue Mar 11 13:14:55 2008 -0700
     1.2 +++ b/src/share/classes/com/sun/tools/javac/code/Symbol.java	Wed Mar 12 13:06:00 2008 -0700
     1.3 @@ -25,13 +25,9 @@
     1.4  
     1.5  package com.sun.tools.javac.code;
     1.6  
     1.7 -import java.util.ArrayList;
     1.8 -import java.util.Collections;
     1.9  import java.util.Set;
    1.10  import java.util.concurrent.Callable;
    1.11  import javax.lang.model.element.*;
    1.12 -import javax.lang.model.type.ReferenceType;
    1.13 -import javax.lang.model.type.TypeMirror;
    1.14  import javax.tools.JavaFileObject;
    1.15  
    1.16  import com.sun.tools.javac.util.*;
    1.17 @@ -1272,8 +1268,14 @@
    1.18          private static final long serialVersionUID = 0;
    1.19          public Symbol sym;
    1.20  
    1.21 +        /** A diagnostic object describing the failure
    1.22 +         */
    1.23 +        public JCDiagnostic diag;
    1.24 +
    1.25          /** A localized string describing the failure.
    1.26 +         * @deprecated Use {@code getDetail()} or {@code getMessage()}
    1.27           */
    1.28 +        @Deprecated
    1.29          public String errmsg;
    1.30  
    1.31          public CompletionFailure(Symbol sym, String errmsg) {
    1.32 @@ -1282,8 +1284,26 @@
    1.33  //          this.printStackTrace();//DEBUG
    1.34          }
    1.35  
    1.36 +        public CompletionFailure(Symbol sym, JCDiagnostic diag) {
    1.37 +            this.sym = sym;
    1.38 +            this.diag = diag;
    1.39 +//          this.printStackTrace();//DEBUG
    1.40 +        }
    1.41 +
    1.42 +        public JCDiagnostic getDiagnostic() {
    1.43 +            return diag;
    1.44 +        }
    1.45 +
    1.46 +        @Override
    1.47          public String getMessage() {
    1.48 -            return errmsg;
    1.49 +            if (diag != null)
    1.50 +                return diag.getMessage(null);
    1.51 +            else
    1.52 +                return errmsg;
    1.53 +        }
    1.54 +
    1.55 +        public Object getDetailValue() {
    1.56 +            return (diag != null ? diag : errmsg);
    1.57          }
    1.58  
    1.59          @Override

mercurial