package immibis.bon; import immibis.bon.org.objectweb.asm.tree.ClassNode; import java.util.ArrayList; import java.util.Collection; /** * Similar to ClassCollection, but contains less information. * You can now pass ReferenceData objects (which are much smaller) instead of ClassCollection objects * as references when remapping. * This avoids having to e.g. load the entire standard library. */ public class ReferenceDataCollection { private NameSet nameset; private Collection<ClassReferenceData> classes = new ArrayList<>(); public ReferenceDataCollection(NameSet nameset) { this.nameset = nameset; } public NameSet getNameSet() { return nameset; } public Collection<ClassReferenceData> getAllClasses() { return classes; } public static ReferenceDataCollection fromClassCollection(ClassCollection cc) { ReferenceDataCollection rdc = new ReferenceDataCollection(cc.getNameSet()); for(ClassNode cn : cc.getAllClasses()) rdc.classes.add(ClassReferenceData.fromClassNode(cn)); return rdc; } }