Tue, 01 Oct 2013 17:03:31 +0400
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 }