@@ -379,57 +379,47 @@ private void attributeClasses(boolean leadingComma, Append writer, String prefix
379
379
writer .append ("}" );
380
380
}
381
381
382
- private void buildClassArray (Append writer , Set <String > values ) {
383
- writer .append ("new Class<?>[]" );
384
- writer .append ("{" );
385
- if (!values .isEmpty ()) {
386
- int c = 0 ;
387
- for (String value : values ) {
388
- if (c ++ > 0 ) {
389
- writer .append ("," );
390
- }
391
- writer .append (value ).append (".class" );
392
- }
393
- }
394
- writer .append ("}" );
395
- }
396
-
397
- void buildFields (Append writer ) {
382
+ void buildProvides (Append writer ) {
398
383
if (!provides .isEmpty ()) {
399
- writer .append (" private final Class<?>[] provides = " );
400
- buildClassArray (writer , provides );
401
- writer .append (";" ).eol ();
384
+ buildProvidesMethod (writer , "provides" , provides );
402
385
}
403
386
if (!requires .isEmpty ()) {
404
- writer .append (" private final Class<?>[] requires = " );
405
- buildClassArray (writer , requires );
406
- writer .append (";" ).eol ();
387
+ buildProvidesMethod (writer , "requires" , requires );
407
388
}
408
389
if (!requiresPackages .isEmpty ()) {
409
- writer .append (" private final Class<?>[] requiresPackages = " );
410
- buildClassArray (writer , requiresPackages );
411
- writer .append (";" ).eol ();
390
+ buildProvidesMethod (writer , "requiresPackages" , requiresPackages );
412
391
}
413
- writer .append (" private Builder builder;" ).eol ().eol ();
414
392
}
415
393
416
- void buildProvides (Append writer ) {
417
- if (!provides .isEmpty ()) {
418
- buildProvidesMethod (writer , "provides" );
394
+ private void buildProvidesMethod (Append writer , String fieldName , Set <String > types ) {
395
+ writer .append (" @Override" ).eol ();
396
+ writer .append (" public Class<?>[] %s() { return %s; }" , fieldName , fieldName ).eol ();
397
+ writer .append (" private final Class<?>[] %s = new Class<?>[]{" , fieldName ).eol ();
398
+ for (String rawType : types ) {
399
+ writer .append (" %s.class," , rawType ).eol ();
419
400
}
420
- if (!requires .isEmpty ()) {
421
- buildProvidesMethod (writer , "requires" );
401
+ writer .append (" };" ).eol ().eol ();
402
+ }
403
+
404
+ void buildAutoProvides (Append writer , Set <String > autoProvides ) {
405
+ autoProvides .removeAll (provides );
406
+ if (!autoProvides .isEmpty ()) {
407
+ buildProvidesMethod (writer , "autoProvides" , autoProvides );
422
408
}
423
- if (!requiresPackages .isEmpty ()) {
424
- buildProvidesMethod (writer , "requiresPackages" );
409
+ }
410
+
411
+ void buildAutoProvidesAspects (Append writer , Set <String > autoProvidesAspects ) {
412
+ autoProvidesAspects .removeAll (provides );
413
+ if (!autoProvidesAspects .isEmpty ()) {
414
+ buildProvidesMethod (writer , "autoProvidesAspects" , autoProvidesAspects );
425
415
}
426
416
}
427
417
428
- private void buildProvidesMethod (Append writer , String fieldName ) {
429
- writer . append ( " @Override" ). eol ( );
430
- writer . append ( " public Class<?>[] %s() {" , fieldName ). eol ();
431
- writer . append ( " return %s;" , fieldName ). eol ( );
432
- writer . append ( " }" ). eol (). eol ();
418
+ void buildAutoRequires (Append writer , Set < String > autoRequires ) {
419
+ autoRequires . removeAll ( requires );
420
+ if (! autoRequires . isEmpty ()) {
421
+ buildProvidesMethod ( writer , "autoRequires" , autoRequires );
422
+ }
433
423
}
434
424
435
425
void readModuleMetaData (TypeElement moduleType ) {
0 commit comments