256 return begin(opts, fileObjects); 257 } 258 259 @SuppressWarnings("deprecation") 260 private boolean begin(List<String> options, Iterable<? extends JavaFileObject> fileObjects) { 261 fileManager = context.get(JavaFileManager.class); 262 if (fileManager == null) { 263 JavacFileManager.preRegister(context); 264 fileManager = context.get(JavaFileManager.class); 265 if (fileManager instanceof BaseFileManager) { 266 ((BaseFileManager) fileManager).autoClose = true; 267 } 268 } 269 // locale, doclet and maybe taglet, needs to be determined first 270 docletClass = preProcess(fileManager, options); 271 if (jdk.javadoc.doclet.Doclet.class.isAssignableFrom(docletClass)) { 272 // no need to dispatch to old, safe to init now 273 initMessager(); 274 messager.setLocale(locale); 275 try { 276 Object o = docletClass.newInstance(); 277 doclet = (Doclet) o; 278 } catch (InstantiationException | IllegalAccessException exc) { 279 exc.printStackTrace(); 280 if (!apiMode) { 281 error("main.could_not_instantiate_class", docletClass); 282 throw new Messager.ExitJavadoc(); 283 } 284 throw new ClientCodeException(exc); 285 } 286 } else { 287 if (this.apiMode) { 288 com.sun.tools.javadoc.main.Start ostart 289 = new com.sun.tools.javadoc.main.Start(context); 290 return ostart.begin(docletClass, options, fileObjects); 291 } 292 warn("main.legacy_api"); 293 String[] array = options.toArray(new String[options.size()]); 294 return com.sun.tools.javadoc.Main.execute(array) == 0; 295 } 296 297 boolean failed = false; 298 try { | 256 return begin(opts, fileObjects); 257 } 258 259 @SuppressWarnings("deprecation") 260 private boolean begin(List<String> options, Iterable<? extends JavaFileObject> fileObjects) { 261 fileManager = context.get(JavaFileManager.class); 262 if (fileManager == null) { 263 JavacFileManager.preRegister(context); 264 fileManager = context.get(JavaFileManager.class); 265 if (fileManager instanceof BaseFileManager) { 266 ((BaseFileManager) fileManager).autoClose = true; 267 } 268 } 269 // locale, doclet and maybe taglet, needs to be determined first 270 docletClass = preProcess(fileManager, options); 271 if (jdk.javadoc.doclet.Doclet.class.isAssignableFrom(docletClass)) { 272 // no need to dispatch to old, safe to init now 273 initMessager(); 274 messager.setLocale(locale); 275 try { 276 Object o = docletClass.getConstructor(new Class<?>[0]).newInstance((Object[])null); 277 doclet = (Doclet) o; 278 } catch (ReflectiveOperationException exc) { 279 exc.printStackTrace(); 280 if (!apiMode) { 281 error("main.could_not_instantiate_class", docletClass); 282 throw new Messager.ExitJavadoc(); 283 } 284 throw new ClientCodeException(exc); 285 } 286 } else { 287 if (this.apiMode) { 288 com.sun.tools.javadoc.main.Start ostart 289 = new com.sun.tools.javadoc.main.Start(context); 290 return ostart.begin(docletClass, options, fileObjects); 291 } 292 warn("main.legacy_api"); 293 String[] array = options.toArray(new String[options.size()]); 294 return com.sun.tools.javadoc.Main.execute(array) == 0; 295 } 296 297 boolean failed = false; 298 try { |