@@ -96,13 +96,15 @@ public class ApplicationModules implements Iterable<ApplicationModule> {
9696 private boolean verified ;
9797
9898 protected ApplicationModules (ModulithMetadata metadata , Collection <String > packages ,
99- DescribedPredicate <JavaClass > ignored , boolean useFullyQualifiedModuleNames , ImportOption option ) {
99+ DescribedPredicate <? super JavaClass > ignored , boolean useFullyQualifiedModuleNames , ImportOption option ) {
100+
101+ DescribedPredicate <? super JavaClass > excluded = DescribedPredicate .or (ignored , IS_AOT_TYPE );
100102
101103 this .metadata = metadata ;
102104 this .allClasses = new ClassFileImporter () //
103105 .withImportOption (option ) //
104106 .importPackages (packages ) //
105- .that (not (ignored . or ( IS_AOT_TYPE ) ));
107+ .that (not (excluded ));
106108
107109 Classes classes = Classes .of (allClasses );
108110
@@ -185,7 +187,7 @@ public static ApplicationModules of(Class<?> modulithType) {
185187 * @param ignored must not be {@literal null}.
186188 * @return will never be {@literal null}.
187189 */
188- public static ApplicationModules of (Class <?> modulithType , DescribedPredicate <JavaClass > ignored ) {
190+ public static ApplicationModules of (Class <?> modulithType , DescribedPredicate <? super JavaClass > ignored ) {
189191
190192 CacheKey key = new TypeKey (modulithType , ignored );
191193
@@ -215,7 +217,7 @@ public static ApplicationModules of(String javaPackage) {
215217 * @param ignored must not be {@literal null}.
216218 * @return will never be {@literal null}.
217219 */
218- public static ApplicationModules of (String javaPackage , DescribedPredicate <JavaClass > ignored ) {
220+ public static ApplicationModules of (String javaPackage , DescribedPredicate <? super JavaClass > ignored ) {
219221
220222 CacheKey key = new PackageKey (javaPackage , ignored );
221223
@@ -613,23 +615,23 @@ private static interface CacheKey {
613615
614616 String getBasePackage ();
615617
616- DescribedPredicate <JavaClass > getIgnored ();
618+ DescribedPredicate <? super JavaClass > getIgnored ();
617619
618620 ModulithMetadata getMetadata ();
619621 }
620622
621623 private static final class TypeKey implements CacheKey {
622624
623625 private final Class <?> type ;
624- private final DescribedPredicate <JavaClass > ignored ;
626+ private final DescribedPredicate <? super JavaClass > ignored ;
625627
626628 /**
627629 * Creates a new {@link TypeKey} for the given type and {@link DescribedPredicate} of ignored {@link JavaClass}es.
628630 *
629631 * @param type must not be {@literal null}.
630632 * @param ignored must not be {@literal null}.
631633 */
632- TypeKey (Class <?> type , DescribedPredicate <JavaClass > ignored ) {
634+ TypeKey (Class <?> type , DescribedPredicate <? super JavaClass > ignored ) {
633635
634636 this .type = type ;
635637 this .ignored = ignored ;
@@ -658,7 +660,7 @@ public ModulithMetadata getMetadata() {
658660 * @see org.springframework.modulith.model.ApplicationModules.CacheKey#getIgnored()
659661 */
660662 @ Override
661- public DescribedPredicate <JavaClass > getIgnored () {
663+ public DescribedPredicate <? super JavaClass > getIgnored () {
662664 return ignored ;
663665 }
664666
@@ -694,7 +696,7 @@ public int hashCode() {
694696 private static final class PackageKey implements CacheKey {
695697
696698 private final String basePackage ;
697- private final DescribedPredicate <JavaClass > ignored ;
699+ private final DescribedPredicate <? super JavaClass > ignored ;
698700
699701 /**
700702 * Creates a new {@link PackageKey} for the given base package and {@link DescribedPredicate} of ignored
@@ -703,7 +705,7 @@ private static final class PackageKey implements CacheKey {
703705 * @param basePackage must not be {@literal null}.
704706 * @param ignored must not be {@literal null}.
705707 */
706- PackageKey (String basePackage , DescribedPredicate <JavaClass > ignored ) {
708+ PackageKey (String basePackage , DescribedPredicate <? super JavaClass > ignored ) {
707709
708710 this .basePackage = basePackage ;
709711 this .ignored = ignored ;
@@ -722,7 +724,7 @@ public String getBasePackage() {
722724 * (non-Javadoc)
723725 * @see org.springframework.modulith.model.ApplicationModules.CacheKey#getIgnored()
724726 */
725- public DescribedPredicate <JavaClass > getIgnored () {
727+ public DescribedPredicate <? super JavaClass > getIgnored () {
726728 return ignored ;
727729 }
728730
0 commit comments