Sat, 03 Nov 2012 21:09:57 -0700
8002168: Cleanup initialization of javadoc Messager
Reviewed-by: darcy
src/share/classes/com/sun/tools/javadoc/Start.java | file | annotate | diff | comparison | revisions | |
test/tools/javadoc/6958836/Test.java | file | annotate | diff | comparison | revisions |
1.1 --- a/src/share/classes/com/sun/tools/javadoc/Start.java Sat Nov 03 21:07:30 2012 -0700 1.2 +++ b/src/share/classes/com/sun/tools/javadoc/Start.java Sat Nov 03 21:09:57 2012 -0700 1.3 @@ -54,6 +54,8 @@ 1.4 * @author Neal Gafter (rewrite) 1.5 */ 1.6 class Start { 1.7 + /** Context for this invocation. */ 1.8 + private final Context context; 1.9 1.10 private final String defaultDocletClassName; 1.11 private final ClassLoader docletParentClassLoader; 1.12 @@ -69,7 +71,7 @@ 1.13 1.14 private long defaultFilter = PUBLIC | PROTECTED; 1.15 1.16 - private Messager messager; 1.17 + private final Messager messager; 1.18 1.19 String docLocale = ""; 1.20 1.21 @@ -96,8 +98,8 @@ 1.22 PrintWriter noticeWriter, 1.23 String defaultDocletClassName, 1.24 ClassLoader docletParentClassLoader) { 1.25 - Context tempContext = new Context(); // interim context until option decoding completed 1.26 - messager = new Messager(tempContext, programName, errWriter, warnWriter, noticeWriter); 1.27 + context = new Context(); 1.28 + messager = new Messager(context, programName, errWriter, warnWriter, noticeWriter); 1.29 this.defaultDocletClassName = defaultDocletClassName; 1.30 this.docletParentClassLoader = docletParentClassLoader; 1.31 } 1.32 @@ -108,8 +110,8 @@ 1.33 1.34 Start(String programName, String defaultDocletClassName, 1.35 ClassLoader docletParentClassLoader) { 1.36 - Context tempContext = new Context(); // interim context until option decoding completed 1.37 - messager = new Messager(tempContext, programName); 1.38 + context = new Context(); 1.39 + messager = new Messager(context, programName); 1.40 this.defaultDocletClassName = defaultDocletClassName; 1.41 this.docletParentClassLoader = docletParentClassLoader; 1.42 } 1.43 @@ -219,16 +221,6 @@ 1.44 ListBuffer<String> subPackages = new ListBuffer<String>(); 1.45 ListBuffer<String> excludedPackages = new ListBuffer<String>(); 1.46 1.47 - Context context = new Context(); 1.48 - // Setup a new Messager, using the same initial parameters as the 1.49 - // existing Messager, except that this one will be able to use any 1.50 - // options that may be set up below. 1.51 - Messager.preRegister(context, 1.52 - messager.programName, 1.53 - messager.getWriter(Log.WriterKind.ERROR), 1.54 - messager.getWriter(Log.WriterKind.WARNING), 1.55 - messager.getWriter(Log.WriterKind.NOTICE)); 1.56 - 1.57 Options compOpts = Options.instance(context); 1.58 boolean docClasses = false; 1.59 1.60 @@ -368,6 +360,7 @@ 1.61 javaNames.append(arg); 1.62 } 1.63 } 1.64 + compOpts.notifyListeners(); 1.65 1.66 if (javaNames.isEmpty() && subPackages.isEmpty()) { 1.67 usageError("main.No_packages_or_classes_specified"); 1.68 @@ -401,10 +394,6 @@ 1.69 boolean ok = root != null; 1.70 if (ok) ok = docletInvoker.start(root); 1.71 1.72 - Messager docletMessager = Messager.instance0(context); 1.73 - messager.nwarnings += docletMessager.nwarnings; 1.74 - messager.nerrors += docletMessager.nerrors; 1.75 - 1.76 // We're done. 1.77 if (compOpts.get("-verbose") != null) { 1.78 tm = System.currentTimeMillis() - tm;
2.1 --- a/test/tools/javadoc/6958836/Test.java Sat Nov 03 21:07:30 2012 -0700 2.2 +++ b/test/tools/javadoc/6958836/Test.java Sat Nov 03 21:09:57 2012 -0700 2.3 @@ -1,5 +1,5 @@ 2.4 /* 2.5 - * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. 2.6 + * Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved. 2.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 2.8 * 2.9 * This code is free software; you can redistribute it and/or modify it 2.10 @@ -23,7 +23,7 @@ 2.11 2.12 /* 2.13 * @test 2.14 - * @bug 6958836 2.15 + * @bug 6958836 8002168 2.16 * @summary javadoc should support -Xmaxerrs and -Xmaxwarns 2.17 */ 2.18