Skip to content

Commit 728e3f9

Browse files
committed
Lazily load plugin checks when running auto-patching
1 parent 8f9e7da commit 728e3f9

1 file changed

Lines changed: 5 additions & 6 deletions

File tree

check_api/src/main/java/com/google/errorprone/ErrorProneAnalyzer.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -72,12 +72,12 @@ public static ErrorProneAnalyzer createAnalyzer(
7272
refactoringCollection[0] = RefactoringCollection.refactor(epOptions.patchingOptions(), context);
7373

7474
// Refaster refactorer or using builtin checks
75-
CodeTransformer codeTransformer =
75+
Supplier<CodeTransformer> codeTransformer =
7676
epOptions
7777
.patchingOptions()
7878
.customRefactorer()
7979
.or(
80-
() -> {
80+
Suppliers.memoize(() -> {
8181
ScannerSupplier toUse = ErrorPronePlugins.loadPlugins(scannerSupplier, context);
8282
ImmutableSet<String> namedCheckers = epOptions.patchingOptions().namedCheckers();
8383
if (!namedCheckers.isEmpty()) {
@@ -86,8 +86,7 @@ public static ErrorProneAnalyzer createAnalyzer(
8686
toUse = toUse.applyOverrides(epOptions);
8787
}
8888
return ErrorProneScannerTransformer.create(toUse.get());
89-
})
90-
.get();
89+
}));
9190

9291
return createWithCustomDescriptionListener(
9392
codeTransformer, epOptions, context, refactoringCollection[0]);
@@ -160,12 +159,12 @@ private static Supplier<CodeTransformer> scansPlugins(
160159
}
161160

162161
static ErrorProneAnalyzer createWithCustomDescriptionListener(
163-
CodeTransformer codeTransformer,
162+
Supplier<CodeTransformer> codeTransformer,
164163
ErrorProneOptions errorProneOptions,
165164
Context context,
166165
DescriptionListener.Factory descriptionListenerFactory) {
167166
return new ErrorProneAnalyzer(
168-
Suppliers.ofInstance(codeTransformer),
167+
codeTransformer,
169168
errorProneOptions,
170169
context,
171170
descriptionListenerFactory);

0 commit comments

Comments
 (0)