@SuppressWarnings("unused") @Specialization(guards = {"onlyStatic == cachedStatic", "clazz == cachedClazz", "cachedName.equals(name)"}, limit = "LIMIT") static int doCached(Class<?> clazz, String name, boolean onlyStatic, @Cached("onlyStatic") boolean cachedStatic, @Cached("clazz") Class<?> cachedClazz, @Cached("name") String cachedName, @Cached("doUncached(clazz, name, onlyStatic)") int cachedKeyInfo) { assert cachedKeyInfo == doUncached(clazz, name, onlyStatic); return cachedKeyInfo; }