public static DeclaredClass load()

in core/src/main/java/com/spotify/missinglink/ClassLoader.java [89:109]


  public static DeclaredClass load(InputStream in) throws IOException {
    ClassNode classNode = readClassNode(in);

    Set<ClassTypeDescriptor> parents = readParents(classNode);
    Set<DeclaredField> declaredFields = readDeclaredFields(classNode);

    Map<MethodDescriptor, DeclaredMethod> declaredMethods = new HashMap<>();
    Set<ClassTypeDescriptor> loadedClasses = new HashSet<>();

    for (MethodNode method : classNode.methods) {
      analyseMethod(classNode.name, method, declaredMethods, loadedClasses);
    }

    return new DeclaredClassBuilder()
        .className(TypeDescriptors.fromClassName(classNode.name))
        .methods(declaredMethods)
        .parents(parents)
        .loadedClasses(loadedClasses)
        .fields(declaredFields)
        .build();
  }