src/share/classes/com/sun/tools/javap/JavapTask.java

changeset 402
261c54b2312e
parent 350
526de25e0b28
child 404
14735c7932d7
equal deleted inserted replaced
401:dd98acd9f717 402:261c54b2312e
453 return EXIT_OK; 453 return EXIT_OK;
454 else 454 else
455 return EXIT_CMDERR; 455 return EXIT_CMDERR;
456 } 456 }
457 457
458 boolean ok = run(); 458 try {
459 return ok ? EXIT_OK : EXIT_ERROR; 459 boolean ok = run();
460 return ok ? EXIT_OK : EXIT_ERROR;
461 } finally {
462 if (defaultFileManager != null) {
463 try {
464 defaultFileManager.close();
465 defaultFileManager = null;
466 } catch (IOException e) {
467 throw new InternalError(e);
468 }
469 }
470 }
460 } catch (BadArgs e) { 471 } catch (BadArgs e) {
461 reportError(e.key, e.args); 472 reportError(e.key, e.args);
462 if (e.showUsage) { 473 if (e.showUsage) {
463 log.println(getMessage("main.usage.summary", progname)); 474 log.println(getMessage("main.usage.summary", progname));
464 } 475 }
854 ClassWriter classWriter = ClassWriter.instance(context); 865 ClassWriter classWriter = ClassWriter.instance(context);
855 classWriter.writeMethod(value); 866 classWriter.writeMethod(value);
856 } 867 }
857 868
858 private JavaFileManager getDefaultFileManager(final DiagnosticListener<? super JavaFileObject> dl, PrintWriter log) { 869 private JavaFileManager getDefaultFileManager(final DiagnosticListener<? super JavaFileObject> dl, PrintWriter log) {
859 return JavapFileManager.create(dl, log); 870 if (defaultFileManager == null)
871 defaultFileManager = JavapFileManager.create(dl, log);
872 return defaultFileManager;
860 } 873 }
861 874
862 private JavaFileObject getClassFileObject(String className) throws IOException { 875 private JavaFileObject getClassFileObject(String className) throws IOException {
863 JavaFileObject fo; 876 JavaFileObject fo;
864 fo = fileManager.getJavaFileForInput(StandardLocation.PLATFORM_CLASS_PATH, className, JavaFileObject.Kind.CLASS); 877 fo = fileManager.getJavaFileForInput(StandardLocation.PLATFORM_CLASS_PATH, className, JavaFileObject.Kind.CLASS);
1002 } 1015 }
1003 } 1016 }
1004 1017
1005 protected Context context; 1018 protected Context context;
1006 JavaFileManager fileManager; 1019 JavaFileManager fileManager;
1020 JavaFileManager defaultFileManager;
1007 PrintWriter log; 1021 PrintWriter log;
1008 DiagnosticListener<? super JavaFileObject> diagnosticListener; 1022 DiagnosticListener<? super JavaFileObject> diagnosticListener;
1009 List<String> classes; 1023 List<String> classes;
1010 Options options; 1024 Options options;
1011 //ResourceBundle bundle; 1025 //ResourceBundle bundle;

mercurial