public DataInputFullStream getClassStream(String qualifiedClassName) throws IOException { Link link = mapClassLinks.get(qualifiedClassName); return link == null ? null : getClassStream(link.externalPath, link.internalPath); }
public ConstantPool loadPool(String classname) { try (DataInputFullStream in = getClassStream(classname)) { if (in != null) { in.discard(8); return new ConstantPool(in); } return null; } catch (IOException ex) { throw new RuntimeException(ex); } }
public void reload(LazyLoader loader) throws IOException { List<StructClass> lstClasses = new ArrayList<>(); for (StructClass cl : classes) { String oldName = cl.qualifiedName; StructClass newCl; try (DataInputFullStream in = loader.getClassStream(oldName)) { newCl = new StructClass(in, cl.isOwn(), loader); } lstClasses.add(newCl); Link lnk = loader.getClassLink(oldName); loader.removeClassLink(oldName); loader.addClassLink(newCl.qualifiedName, lnk); } classes = lstClasses; }
try (DataInputFullStream in = loader.getClassStream(file.getAbsolutePath(), null)) { StructClass cl = new StructClass(in, isOwn, loader); classes.put(cl.qualifiedName, cl);
public byte[] loadBytecode(StructMethod mt, int codeFullLength) { String className = mt.getClassStruct().qualifiedName; try (DataInputFullStream in = getClassStream(className)) { if (in != null) { in.discard(8);
public DataInputFullStream getClassStream(String qualifiedClassName) throws IOException { Link link = mapClassLinks.get(qualifiedClassName); return link == null ? null : getClassStream(link.externalPath, link.internalPath); }
public ConstantPool loadPool(String classname) { try (DataInputFullStream in = getClassStream(classname)) { if (in != null) { in.discard(8); return new ConstantPool(in); } return null; } catch (IOException ex) { throw new RuntimeException(ex); } }
public void reload(LazyLoader loader) throws IOException { List<StructClass> lstClasses = new ArrayList<>(); for (StructClass cl : classes) { String oldName = cl.qualifiedName; StructClass newCl; try (DataInputFullStream in = loader.getClassStream(oldName)) { newCl = new StructClass(in, cl.isOwn(), loader); } lstClasses.add(newCl); Link lnk = loader.getClassLink(oldName); loader.removeClassLink(oldName); loader.addClassLink(newCl.qualifiedName, lnk); } classes = lstClasses; }
try (DataInputFullStream in = loader.getClassStream(file.getAbsolutePath(), null)) { StructClass cl = new StructClass(in, isOwn, loader); classes.put(cl.qualifiedName, cl);
public byte[] loadBytecode(StructMethod mt, int codeFullLength) { String className = mt.getClassStruct().qualifiedName; try (DataInputFullStream in = getClassStream(className)) { if (in != null) { in.discard(8);