src/share/classes/com/sun/tools/javadoc/TypeMaker.java

changeset 3029
5909f5a549ac
parent 2906
d3a51adc115f
child 3295
859dc787b52b
     1.1 --- a/src/share/classes/com/sun/tools/javadoc/TypeMaker.java	Tue Oct 13 18:41:56 2015 +0300
     1.2 +++ b/src/share/classes/com/sun/tools/javadoc/TypeMaker.java	Mon Sep 28 16:56:26 2015 +0200
     1.3 @@ -28,6 +28,7 @@
     1.4  import com.sun.javadoc.*;
     1.5  import com.sun.tools.javac.code.Symbol;
     1.6  import com.sun.tools.javac.code.Symbol.ClassSymbol;
     1.7 +import com.sun.tools.javac.code.Symbol.CompletionFailure;
     1.8  import com.sun.tools.javac.code.Type;
     1.9  import com.sun.tools.javac.code.Type.ArrayType;
    1.10  import com.sun.tools.javac.code.Type.ClassType;
    1.11 @@ -56,8 +57,21 @@
    1.12          return getType(env, t, errorToClassDoc, true);
    1.13      }
    1.14  
    1.15 +    public static com.sun.javadoc.Type getType(DocEnv env, Type t,
    1.16 +            boolean errToClassDoc, boolean considerAnnotations) {
    1.17 +        try {
    1.18 +            return getTypeImpl(env, t, errToClassDoc, considerAnnotations);
    1.19 +        } catch (CompletionFailure cf) {
    1.20 +            /* Quietly ignore completion failures and try again - the type
    1.21 +             * for which the CompletionFailure was thrown shouldn't be completed
    1.22 +             * again by the completer that threw the CompletionFailure.
    1.23 +             */
    1.24 +            return getType(env, t, errToClassDoc, considerAnnotations);
    1.25 +        }
    1.26 +    }
    1.27 +
    1.28      @SuppressWarnings("fallthrough")
    1.29 -    public static com.sun.javadoc.Type getType(DocEnv env, Type t,
    1.30 +    private static com.sun.javadoc.Type getTypeImpl(DocEnv env, Type t,
    1.31              boolean errToClassDoc, boolean considerAnnotations) {
    1.32          if (env.legacyDoclet) {
    1.33              t = env.types.erasure(t);

mercurial