Skip to content

Commit

Permalink
Merge pull request #478 from basil/reflection
Browse files Browse the repository at this point in the history
Reduce reflection in `SecureGroovyScript`
  • Loading branch information
dwnusbaum committed Dec 8, 2022
2 parents ecd1702 + 01bf468 commit 223054d
Showing 1 changed file with 8 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -352,6 +352,13 @@ private static void cleanUpClassHelperCache(@NonNull Class<?> clazz) throws Exce
}

private static void cleanUpObjectStreamClassCaches(@NonNull Class<?> clazz) throws Exception {
int releaseVersion = JavaSpecificationVersion.forCurrentJVM().toReleaseVersion();
VersionNumber javaVersion = new VersionNumber(System.getProperty("java.version"));
if ((releaseVersion < 11)
|| (releaseVersion == 11 && javaVersion.isOlderThan(new VersionNumber("11.0.16")))
|| (releaseVersion > 11 && releaseVersion < 17)
|| (releaseVersion == 17 && javaVersion.isOlderThan(new VersionNumber("17.0.4")))
|| (releaseVersion == 18 && javaVersion.isOlderThan(new VersionNumber("18.0.2")))) {
Class<?> cachesC = Class.forName("java.io.ObjectStreamClass$Caches");
for (String cacheFName : new String[] {"localDescs", "reflectors"}) {
Field cacheF = cachesC.getDeclaredField(cacheFName);
Expand All @@ -371,6 +378,7 @@ private static void cleanUpObjectStreamClassCaches(@NonNull Class<?> clazz) thro
}
}
}
}
}

/** @deprecated use {@link #evaluate(ClassLoader, Binding, TaskListener)} */
Expand Down

0 comments on commit 223054d

Please sign in to comment.