/** Sets the accessible flag on the cached methods */ @Override public void afterClassLoad(Class<?> clazz) { super.afterClassLoad(clazz); // force <clinit> to be run, while the correct ThreadLocal is set // if we do not run this then <clinit> may be run later, perhaps even in // another thread try { Class.forName(clazz.getName(), true, clazz.getClassLoader()); } catch (ClassNotFoundException e) { throw new RuntimeException(e); } }
/** {@inheritDoc} */ @Override protected void cleanup() { staticConstructor = null; methodIdentifiers.clear(); super.cleanup(); }