Mercurial > hg > openjdk > lambda > langtools
changeset 2496:1a3e8347f3dd
7118749: NPE in CreateSymbols caused by bad diagnostic
Reviewed-by: jjg
author | kizune |
---|---|
date | Tue, 01 Oct 2013 17:03:31 +0400 |
parents | 84161510f257 |
children | de1c5dbe6c28 |
files | src/share/classes/com/sun/tools/javac/sym/CreateSymbols.java |
diffstat | 1 files changed, 8 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/share/classes/com/sun/tools/javac/sym/CreateSymbols.java Sat Sep 28 13:46:14 2013 -0400 +++ b/src/share/classes/com/sun/tools/javac/sym/CreateSymbols.java Tue Oct 01 17:03:31 2013 +0400 @@ -107,15 +107,21 @@ if (renv.processingOver()) createSymbols(); } catch (IOException e) { + CharSequence msg = e.getLocalizedMessage(); + if (msg == null) + msg = e.toString(); processingEnv.getMessager() - .printMessage(Diagnostic.Kind.ERROR, e.getLocalizedMessage()); + .printMessage(Diagnostic.Kind.ERROR, msg); } catch (Throwable t) { t.printStackTrace(); Throwable cause = t.getCause(); if (cause == null) cause = t; + CharSequence msg = cause.getLocalizedMessage(); + if (msg == null) + msg = cause.toString(); processingEnv.getMessager() - .printMessage(Diagnostic.Kind.ERROR, cause.getLocalizedMessage()); + .printMessage(Diagnostic.Kind.ERROR, msg); } return true; }