@Override public Class<?> findClass(String name) throws ClassNotFoundException { return super.findClass(name); }
@Override public Class<?> findClass(final String name) throws ClassNotFoundException { return super.findClass(name); } }
@Override protected Class<?> findClass(String name) throws ClassNotFoundException { if (nextToSearch != null) { return nextToSearch.loadClass(name); } else { return super.findClass(name); // will throw ClassNotFoundException } } }
/** * Tries to find a Groovy class. * * @return the class if found * @throws ClassNotFoundException if not found */ protected Class findClass(String name) throws ClassNotFoundException { if (delegatationLoader==null) return super.findClass(name); return delegatationLoader.loadClass(name); }
@Override protected Class<?> findClass(final String name) throws ClassNotFoundException { for (final Package pkg : packages) { if (name.startsWith(pkg.getName())) { return environment.loadClass(name); } } return super.findClass(name); } }
@Override protected Class<?> findClass(final String qualifiedClassName) throws ClassNotFoundException { JavaFileObject file = classes.get(qualifiedClassName); if (file != null) { byte[] bytes = ((JavaFileObjectImpl) file).getByteCode(); return defineClass(qualifiedClassName, bytes, 0, bytes.length); } try { return ClassHelper.forNameWithCallerClassLoader(qualifiedClassName, getClass()); } catch (ClassNotFoundException nf) { return super.findClass(qualifiedClassName); } }
@Override protected Class<?> findClass(final String qualifiedClassName) throws ClassNotFoundException { JavaFileObject file = classes.get(qualifiedClassName); if (file != null) { byte[] bytes = ((JavaFileObjectImpl) file).getByteCode(); return defineClass(qualifiedClassName, bytes, 0, bytes.length); } try { return ClassHelper.forNameWithCallerClassLoader(qualifiedClassName, getClass()); } catch (ClassNotFoundException nf) { return super.findClass(qualifiedClassName); } }
@Override protected Class<?> findClass(String name) throws ClassNotFoundException { ClassFile cc = classFiles.get(name); if (cc == null) { return super.findClass(name); } byte[] byteCode = cc.getByteCode(); return defineClass(name, byteCode, 0, byteCode.length); }
@Override protected Class<?> findClass(String name) throws ClassNotFoundException { String filename = getClassFilename(name); if (filename != null) { try { return super.findClass(name); } catch (ClassNotFoundException e) { Log.debug("Hot swap", "file", filename); return reload(name, filename); } } else { return super.findClass(name); } }
@Override public Class<?> loadClass(String name) throws ClassNotFoundException { if (name.equals(getFullClassName("MissingClass"))) { throw new ClassNotFoundException(name); } return super.findClass(name); } }
protected synchronized Class<?> findClass(String qualifiedClassName) throws ClassNotFoundException { JavaFileObject file = classes.get(qualifiedClassName); if (file != null) { byte[] bytes = ((JavaFileObjectImpl) file).getBytes(); return defineClass(qualifiedClassName, bytes, 0, bytes.length); } try { return Class.forName(qualifiedClassName); } catch (ClassNotFoundException nf) { // Ignore } try { return Thread.currentThread().getContextClassLoader().loadClass(qualifiedClassName); } catch (ClassNotFoundException nf) { // Ignore } return super.findClass(qualifiedClassName); }
@Override protected Class<?> findClass(final String qualifiedClassName) throws ClassNotFoundException { JavaFileObject file = classes.get(qualifiedClassName); if (file != null) { byte[] bytes = ((JavaFileObjectImpl) file).getByteCode(); return defineClass(qualifiedClassName, bytes, 0, bytes.length); } try { return ClassHelper.forNameWithCallerClassLoader(qualifiedClassName, getClass()); } catch (ClassNotFoundException nf) { return super.findClass(qualifiedClassName); } }
@Override protected Class<?> findClass(final String qualifiedClassName) throws ClassNotFoundException { JavaFileObject file = classes.get(qualifiedClassName); if (file != null) { byte[] bytes = ((JavaFileObjectImpl) file).getByteCode(); return defineClass(qualifiedClassName, bytes, 0, bytes.length); } try { return ClassHelper.forNameWithCallerClassLoader(qualifiedClassName, getClass()); } catch (ClassNotFoundException nf) { return super.findClass(qualifiedClassName); } }
clazz = findClass(className);
@Override public Class<?> findClass(@DottedClassName String name) throws ClassNotFoundException { if (TypeQualifierValue.DEBUG_CLASSLOADING) { System.out.println("Looking for class data for " + name); } if (name.startsWith("javax.annotation")) { return Class.forName(name); } try { byte[] b = TypeQualifierValue.loadClassData(name); return findClass(name, b); } catch (CheckedAnalysisException e) { if (TypeQualifierValue.DEBUG_CLASSLOADING) { e.printStackTrace(); } return super.findClass(name); } catch (RuntimeException e) { if (TypeQualifierValue.DEBUG_CLASSLOADING) { e.printStackTrace(); } throw e; } }
@Override protected Class<?> findClass(final String qualifiedClassName) throws ClassNotFoundException { URI classUri = URIUtil.buildUri(StandardLocation.CLASS_OUTPUT, qualifiedClassName); if (registry.isRegistered(classUri)) { JavaFileObject result = registry.get(classUri); byte[] byteCode = JavaCodeFileObject.class.cast(result).getByteCode(); return defineClass(qualifiedClassName, byteCode, 0, byteCode.length); } Class<?> result = findClassInFileSystem(qualifiedClassName); if (result != null) { return result; } result = findClassInJarFile(qualifiedClassName); if (result != null) { return result; } try { result = Class.forName(qualifiedClassName); return result; } catch (ClassNotFoundException nf) { // Ignore and fall through } return super.findClass(qualifiedClassName); }
@Override protected Class<?> findClass(String name) throws ClassNotFoundException { String key = findKeyFromValue(name).orElseGet(() -> null); if(key == null) { return super.findClass(name); } String path = key.replace('.', '/').concat(".class"); try (InputStream resource = getResourceAsStream(path)) { ClassReader reader = new ClassReader(resource); ClassWriter writer = new ClassWriter(ClassWriter.COMPUTE_MAXS); Remapper remapper = new Remapper() { @Override public String map(String from) { String to = remappings.get(from.replace('/', '.')); if (to == null) { return from; } return to.replace('.', '/'); } }; reader.accept(new ClassRemapper(writer, remapper), ClassReader.EXPAND_FRAMES); byte[] classBytes = writer.toByteArray(); return defineClass(name, classBytes, 0, classBytes.length); } catch (IOException e) { throw new ClassNotFoundException("IOException while loading", e); } } }
@Override public Class<?> findClass(String name) throws ClassNotFoundException { return super.findClass(name); } }
@Override protected Class<?> findClass(String className) throws ClassNotFoundException { if (className.equals("org.MyClass")) { ClassWriter cw = new ClassWriter(ClassWriter.COMPUTE_FRAMES); cw.visit(Opcodes.V1_5, Opcodes.ACC_PUBLIC, "org/MyClass", null, "java/lang/Object", null); return defineClass(className, cw.toByteArray(), 0, cw.toByteArray().length); } else { return super.findClass(className); } } }
@Override protected Class<?> findClass(String className) throws ClassNotFoundException { if (className.equals("org.MyClass")) { ClassWriter cw = new ClassWriter(ClassWriter.COMPUTE_FRAMES); cw.visit(Opcodes.V1_5, Opcodes.ACC_PUBLIC, "org/MyClass", null, "java/lang/Object", null); return defineClass(className, cw.toByteArray(), 0, cw.toByteArray().length); } else { return super.findClass(className); } } }