in dataenum-processor/src/main/java/com/spotify/dataenum/processor/AccessSelector.java [47:68]
private List<PackageAndAccess> parseAnnotatedPackages(
Set<? extends Element> visibilityAnnotatedPackages) {
ArrayList<PackageAndAccess> result = new ArrayList<>(visibilityAnnotatedPackages.size());
for (Element element : visibilityAnnotatedPackages) {
if (!(element instanceof PackageElement)) {
throw new IllegalArgumentException(
"received a access annotated element that is not a package: " + element);
}
PackageElement packageElement = (PackageElement) element;
result.add(
new PackageAndAccess(
packageElement.getQualifiedName().toString(),
element.getAnnotation(ConstructorAccess.class).value()));
}
result.sort((o1, o2) -> o2.packageName.length() - o1.packageName.length());
return result;
}