7118749: NPE in CreateSymbols caused by bad diagnostic

Tue, 01 Oct 2013 17:03:31 +0400

author
kizune
date
Tue, 01 Oct 2013 17:03:31 +0400
changeset 2078
1a3e8347f3dd
parent 2077
84161510f257
child 2079
de1c5dbe6c28

7118749: NPE in CreateSymbols caused by bad diagnostic
Reviewed-by: jjg

src/share/classes/com/sun/tools/javac/sym/CreateSymbols.java file | annotate | diff | comparison | revisions
     1.1 --- a/src/share/classes/com/sun/tools/javac/sym/CreateSymbols.java	Sat Sep 28 13:46:14 2013 -0400
     1.2 +++ b/src/share/classes/com/sun/tools/javac/sym/CreateSymbols.java	Tue Oct 01 17:03:31 2013 +0400
     1.3 @@ -107,15 +107,21 @@
     1.4              if (renv.processingOver())
     1.5                  createSymbols();
     1.6          } catch (IOException e) {
     1.7 +            CharSequence msg = e.getLocalizedMessage();
     1.8 +            if (msg == null)
     1.9 +                msg = e.toString();
    1.10              processingEnv.getMessager()
    1.11 -                .printMessage(Diagnostic.Kind.ERROR, e.getLocalizedMessage());
    1.12 +                .printMessage(Diagnostic.Kind.ERROR, msg);
    1.13          } catch (Throwable t) {
    1.14              t.printStackTrace();
    1.15              Throwable cause = t.getCause();
    1.16              if (cause == null)
    1.17                  cause = t;
    1.18 +            CharSequence msg = cause.getLocalizedMessage();
    1.19 +            if (msg == null)
    1.20 +                msg = cause.toString();
    1.21              processingEnv.getMessager()
    1.22 -                .printMessage(Diagnostic.Kind.ERROR, cause.getLocalizedMessage());
    1.23 +                .printMessage(Diagnostic.Kind.ERROR, msg);
    1.24          }
    1.25          return true;
    1.26      }

mercurial