static ErrorProneAnalyzer createAnalyzer( ScannerSupplier scannerSupplier, ErrorProneOptions epOptions, Context context, RefactoringCollection[] refactoringCollection) { if (!epOptions.patchingOptions().doRefactor()) { return ErrorProneAnalyzer.createByScanningForPlugins(scannerSupplier, epOptions, context); } refactoringCollection[0] = RefactoringCollection.refactor(epOptions.patchingOptions(), context); // Refaster refactorer or using builtin checks CodeTransformer codeTransformer = epOptions .patchingOptions() .customRefactorer() .or( () -> { ScannerSupplier toUse = ErrorPronePlugins.loadPlugins(scannerSupplier, context) .applyOverrides(epOptions); Set<String> namedCheckers = epOptions.patchingOptions().namedCheckers(); if (!namedCheckers.isEmpty()) { toUse = toUse.filter(bci -> namedCheckers.contains(bci.canonicalName())); } return ErrorProneScannerTransformer.create(toUse.get()); }) .get(); return ErrorProneAnalyzer.createWithCustomDescriptionListener( codeTransformer, epOptions, context, refactoringCollection[0]); }
static ErrorProneAnalyzer createAnalyzer( ScannerSupplier scannerSupplier, ErrorProneOptions epOptions, Context context, RefactoringCollection[] refactoringCollection) { if (!epOptions.patchingOptions().doRefactor()) { return ErrorProneAnalyzer.createByScanningForPlugins(scannerSupplier, epOptions, context); } refactoringCollection[0] = RefactoringCollection.refactor(epOptions.patchingOptions(), context); // Refaster refactorer or using builtin checks CodeTransformer codeTransformer = epOptions .patchingOptions() .customRefactorer() .or( () -> { ScannerSupplier toUse = ErrorPronePlugins.loadPlugins(scannerSupplier, context) .applyOverrides(epOptions); Set<String> namedCheckers = epOptions.patchingOptions().namedCheckers(); if (!namedCheckers.isEmpty()) { toUse = toUse.filter(bci -> namedCheckers.contains(bci.canonicalName())); } return ErrorProneScannerTransformer.create(toUse.get()); }) .get(); return ErrorProneAnalyzer.createWithCustomDescriptionListener( codeTransformer, epOptions, context, refactoringCollection[0]); }