< prev index next >

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

Print this page

        

*** 321,383 **** return this; } private void printDirective(ModuleElement.Directive directive) { indent(); ! switch (directive.getKind()) { ! case EXPORTS: // "exports package-name [to module-name-list]" ! { ! ExportsDirective exportsDirective = (ExportsDirective) directive; writer.print("exports "); ! writer.print(exportsDirective.getPackage().getQualifiedName()); ! printModuleList(exportsDirective.getTargetModules()); } - break; ! case OPENS: // opens package-name [to module-name-list] ! { ! OpensDirective opensDirective = (OpensDirective) directive; writer.print("opens "); ! writer.print(opensDirective.getPackage().getQualifiedName()); ! printModuleList(opensDirective.getTargetModules()); } - break; ! case PROVIDES: // provides service-name with implementation-name ! { ! ProvidesDirective providesDirective = (ProvidesDirective) directive; writer.print("provides "); ! writer.print(providesDirective.getService().getQualifiedName()); writer.print(" with "); ! printNameableList(providesDirective.getImplementations()); } - break; ! case REQUIRES: // requires (static|transitive)* module-name ! { ! RequiresDirective requiresDirective = (RequiresDirective) directive; writer.print("requires "); ! if (requiresDirective.isStatic()) writer.print("static "); ! if (requiresDirective.isTransitive()) writer.print("transitive "); ! writer.print(requiresDirective.getDependency().getQualifiedName()); } - break; ! case USES: // uses service-name ! { ! UsesDirective usesDirective = (UsesDirective) directive; writer.print("uses "); ! writer.print(usesDirective.getService().getQualifiedName()); ! } ! break; ! ! default: ! throw new UnsupportedOperationException("unknown directive " + directive); ! } ! writer.println(";"); } private void printModuleList(List<? extends ModuleElement> modules) { if (modules != null) { writer.print(" to "); --- 321,387 ---- return this; } private void printDirective(ModuleElement.Directive directive) { indent(); ! (new PrintDirective(writer)).visit(directive); ! writer.println(";"); ! } ! ! private static class PrintDirective implements ModuleElement.DirectiveVisitor<Void, Void> { ! private final PrintWriter writer; ! ! PrintDirective(PrintWriter writer) { ! this.writer = writer; ! } ! ! @Override ! public Void visitExports(ExportsDirective d, Void p) { ! // "exports package-name [to module-name-list]" writer.print("exports "); ! writer.print(d.getPackage().getQualifiedName()); ! printModuleList(d.getTargetModules()); ! return null; } ! @Override ! public Void visitOpens(OpensDirective d, Void p) { ! // opens package-name [to module-name-list] writer.print("opens "); ! writer.print(d.getPackage().getQualifiedName()); ! printModuleList(d.getTargetModules()); ! return null; } ! @Override ! public Void visitProvides(ProvidesDirective d, Void p) { ! // provides service-name with implementation-name writer.print("provides "); ! writer.print(d.getService().getQualifiedName()); writer.print(" with "); ! printNameableList(d.getImplementations()); ! return null; } ! @Override ! public Void visitRequires(RequiresDirective d, Void p) { ! // requires (static|transitive)* module-name writer.print("requires "); ! if (d.isStatic()) writer.print("static "); ! if (d.isTransitive()) writer.print("transitive "); ! writer.print(d.getDependency().getQualifiedName()); ! return null; } ! @Override ! public Void visitUses(UsesDirective d, Void p) { ! // uses service-name writer.print("uses "); ! writer.print(d.getService().getQualifiedName()); ! return null; } private void printModuleList(List<? extends ModuleElement> modules) { if (modules != null) { writer.print(" to ");
*** 388,397 **** --- 392,402 ---- private void printNameableList(List<? extends QualifiedNameable> nameables) { writer.print(nameables.stream(). map(QualifiedNameable::getQualifiedName). collect(Collectors.joining(", "))); } + } public void flush() { writer.flush(); }
< prev index next >