private void scanClasses()

in src/main/java/org/apache/jackrabbit/filevault/maven/packaging/impl/ImportPackageBuilder.java [390:420]


    private void scanClasses() throws IOException {
        for (File file : classFiles) {
            try {
                Clazz clazz = new Clazz(analyzer, file.getPath(), new FileResource(file));
                clazz.parseClassFile();
                ClassInfo info = new ClassInfo(clazz);
                classes.put(info.getName(), info);

                String myPackage = getPackageName(info.getName());
                for (Descriptors.PackageRef ref : clazz.getReferred()) {
                    String importPkgName = ref.getFQN();
                    if (!importPkgName.equals(myPackage)) {
                        registerPackageReference(info, importPkgName);
                    }
                }

                // checking for super classes
                io.github.classgraph.ClassInfo clzInfo = scanResult.getClassInfo(clazz.getFQN());
                if (clzInfo != null) {
                    for (String name: clzInfo.getInterfaces().getNames()) {
                        registerPackageReference(info, getPackageName(name));
                    }
                    for (String name: clzInfo.getSuperclasses().getNames()) {
                        registerPackageReference(info, getPackageName(name));
                    }
                }
            } catch (Exception e) {
                throw new IOException("Error while parsing class: " + file.getPath(), e);
            }
        }
    }