< prev index next >

src/jdk.compiler/share/classes/com/sun/tools/javac/processing/PrintingProcessor.java

Print this page

485 
486             switch (kind) {
487             case ANNOTATION_TYPE:
488             case INTERFACE:
489                 modifiers.remove(Modifier.ABSTRACT);
490                 break;
491 
492             case ENUM:
493                 modifiers.remove(Modifier.FINAL);
494                 modifiers.remove(Modifier.ABSTRACT);
495                 modifiers.remove(Modifier.SEALED);
496                 break;
497 
498             case RECORD:
499                 modifiers.remove(Modifier.FINAL);
500                 break;
501 
502             case METHOD:
503             case FIELD:
504                 Element enclosingElement = e.getEnclosingElement();
505                 if (enclosingElement != null &&
506                     enclosingElement.getKind().isInterface()) {
507                     modifiers.remove(Modifier.PUBLIC);
508                     modifiers.remove(Modifier.ABSTRACT); // only for methods
509                     modifiers.remove(Modifier.STATIC);   // only for fields
510                     modifiers.remove(Modifier.FINAL);    // only for fields



511                 }
512                 break;
513 
514             }
515             if (!modifiers.isEmpty()) {
516                 writer.print(modifiers.stream()
517                              .map(Modifier::toString)
518                              .collect(Collectors.joining(" ", "", " ")));
519             }
520         }
521 
522         private void printFormalTypeParameters(Parameterizable e,
523                                                boolean pad) {
524             List<? extends TypeParameterElement> typeParams = e.getTypeParameters();
525             if (!typeParams.isEmpty()) {
526                 writer.print(typeParams.stream()
527                              .map(tpe -> annotationsToString(tpe) + tpe.toString())
528                              .collect(Collectors.joining(", ", "<", ">")));
529                 if (pad)
530                     writer.print(" ");

485 
486             switch (kind) {
487             case ANNOTATION_TYPE:
488             case INTERFACE:
489                 modifiers.remove(Modifier.ABSTRACT);
490                 break;
491 
492             case ENUM:
493                 modifiers.remove(Modifier.FINAL);
494                 modifiers.remove(Modifier.ABSTRACT);
495                 modifiers.remove(Modifier.SEALED);
496                 break;
497 
498             case RECORD:
499                 modifiers.remove(Modifier.FINAL);
500                 break;
501 
502             case METHOD:
503             case FIELD:
504                 Element enclosingElement = e.getEnclosingElement();
505                 if (enclosingElement != null) {
506                     if (enclosingElement.getKind().isInterface()) {
507                         modifiers.remove(Modifier.PUBLIC);
508                         modifiers.remove(Modifier.ABSTRACT); // only for methods
509                         modifiers.remove(Modifier.STATIC);   // only for fields
510                         modifiers.remove(Modifier.FINAL);    // only for fields
511                     } else if (enclosingElement.getKind() == RECORD) {
512                         modifiers.remove(Modifier.STRICTFP);
513                     }
514                 }
515                 break;
516 
517             }
518             if (!modifiers.isEmpty()) {
519                 writer.print(modifiers.stream()
520                              .map(Modifier::toString)
521                              .collect(Collectors.joining(" ", "", " ")));
522             }
523         }
524 
525         private void printFormalTypeParameters(Parameterizable e,
526                                                boolean pad) {
527             List<? extends TypeParameterElement> typeParams = e.getTypeParameters();
528             if (!typeParams.isEmpty()) {
529                 writer.print(typeParams.stream()
530                              .map(tpe -> annotationsToString(tpe) + tpe.toString())
531                              .collect(Collectors.joining(", ", "<", ">")));
532                 if (pad)
533                     writer.print(" ");
< prev index next >