src/share/classes/com/sun/tools/doclint/Checker.java

changeset 1917
2fbe77c38802
parent 1915
129751018061
child 2052
503338f16d2b
     1.1 --- a/src/share/classes/com/sun/tools/doclint/Checker.java	Tue Jul 23 20:42:54 2013 -0400
     1.2 +++ b/src/share/classes/com/sun/tools/doclint/Checker.java	Wed Jul 24 17:35:42 2013 -0700
     1.3 @@ -753,8 +753,7 @@
     1.4          Element ex = env.trees.getElement(new DocTreePath(getCurrentPath(), exName));
     1.5          if (ex == null) {
     1.6              env.messages.error(REFERENCE, tree, "dc.ref.not.found");
     1.7 -        } else if (ex.asType().getKind() == TypeKind.DECLARED
     1.8 -                && env.types.isAssignable(ex.asType(), env.java_lang_Throwable)) {
     1.9 +        } else if (isThrowable(ex.asType())) {
    1.10              switch (env.currElement.getKind()) {
    1.11                  case CONSTRUCTOR:
    1.12                  case METHOD:
    1.13 @@ -773,6 +772,15 @@
    1.14          return scan(tree.getDescription(), ignore);
    1.15      }
    1.16  
    1.17 +    private boolean isThrowable(TypeMirror tm) {
    1.18 +        switch (tm.getKind()) {
    1.19 +            case DECLARED:
    1.20 +            case TYPEVAR:
    1.21 +                return env.types.isAssignable(tm, env.java_lang_Throwable);
    1.22 +        }
    1.23 +        return false;
    1.24 +    }
    1.25 +
    1.26      private void checkThrowsDeclared(ReferenceTree tree, TypeMirror t, List<? extends TypeMirror> list) {
    1.27          boolean found = false;
    1.28          for (TypeMirror tl : list) {

mercurial