diff --git a/forge/src/main/java/org/embeddedt/modernfix/platform/forge/ModernFixPlatformHooksImpl.java b/forge/src/main/java/org/embeddedt/modernfix/platform/forge/ModernFixPlatformHooksImpl.java index 25aa714c..b9c3fe2b 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/platform/forge/ModernFixPlatformHooksImpl.java +++ b/forge/src/main/java/org/embeddedt/modernfix/platform/forge/ModernFixPlatformHooksImpl.java @@ -55,6 +55,7 @@ import java.nio.file.Path; import java.util.Enumeration; import java.util.Map; import java.util.Optional; +import java.util.Set; import java.util.function.Consumer; import java.util.function.Function; @@ -214,6 +215,12 @@ public class ModernFixPlatformHooksImpl implements ModernFixPlatformHooks { Field serviceLookupField = servicesHandler.getClass().getDeclaredField("serviceLookup"); serviceLookupField.setAccessible(true); Map serviceLookup = (Map)serviceLookupField.get(servicesHandler); + for(String s : new String[] { "classPrefixes", "resourceNames" }) { + // Reset cache fields to avoid class prefixes, etc. being falsely flagged + Field cacheField = TransformationServiceDecorator.class.getDeclaredField(s); + cacheField.setAccessible(true); + ((Set)cacheField.get(null)).clear(); + } Method getClassLoaderMethod = TransformationServiceDecorator.class.getDeclaredMethod("getClassLoader"); getClassLoaderMethod.setAccessible(true); Function> resourceEnumeratorLocator = ModernFixResourceFinder::findAllURLsForResource;