332 |
332 |
333 PrintDirective(PrintWriter writer) { |
333 PrintDirective(PrintWriter writer) { |
334 this.writer = writer; |
334 this.writer = writer; |
335 } |
335 } |
336 |
336 |
337 @Override |
337 @Override @DefinedBy(Api.LANGUAGE_MODEL) |
338 public Void visitExports(ExportsDirective d, Void p) { |
338 public Void visitExports(ExportsDirective d, Void p) { |
339 // "exports package-name [to module-name-list]" |
339 // "exports package-name [to module-name-list]" |
340 writer.print("exports "); |
340 writer.print("exports "); |
341 writer.print(d.getPackage().getQualifiedName()); |
341 writer.print(d.getPackage().getQualifiedName()); |
342 printModuleList(d.getTargetModules()); |
342 printModuleList(d.getTargetModules()); |
343 return null; |
343 return null; |
344 } |
344 } |
345 |
345 |
346 @Override |
346 @Override @DefinedBy(Api.LANGUAGE_MODEL) |
347 public Void visitOpens(OpensDirective d, Void p) { |
347 public Void visitOpens(OpensDirective d, Void p) { |
348 // opens package-name [to module-name-list] |
348 // opens package-name [to module-name-list] |
349 writer.print("opens "); |
349 writer.print("opens "); |
350 writer.print(d.getPackage().getQualifiedName()); |
350 writer.print(d.getPackage().getQualifiedName()); |
351 printModuleList(d.getTargetModules()); |
351 printModuleList(d.getTargetModules()); |
352 return null; |
352 return null; |
353 } |
353 } |
354 |
354 |
355 @Override |
355 @Override @DefinedBy(Api.LANGUAGE_MODEL) |
356 public Void visitProvides(ProvidesDirective d, Void p) { |
356 public Void visitProvides(ProvidesDirective d, Void p) { |
357 // provides service-name with implementation-name |
357 // provides service-name with implementation-name |
358 writer.print("provides "); |
358 writer.print("provides "); |
359 writer.print(d.getService().getQualifiedName()); |
359 writer.print(d.getService().getQualifiedName()); |
360 writer.print(" with "); |
360 writer.print(" with "); |
361 printNameableList(d.getImplementations()); |
361 printNameableList(d.getImplementations()); |
362 return null; |
362 return null; |
363 } |
363 } |
364 |
364 |
365 @Override |
365 @Override @DefinedBy(Api.LANGUAGE_MODEL) |
366 public Void visitRequires(RequiresDirective d, Void p) { |
366 public Void visitRequires(RequiresDirective d, Void p) { |
367 // requires (static|transitive)* module-name |
367 // requires (static|transitive)* module-name |
368 writer.print("requires "); |
368 writer.print("requires "); |
369 if (d.isStatic()) |
369 if (d.isStatic()) |
370 writer.print("static "); |
370 writer.print("static "); |
372 writer.print("transitive "); |
372 writer.print("transitive "); |
373 writer.print(d.getDependency().getQualifiedName()); |
373 writer.print(d.getDependency().getQualifiedName()); |
374 return null; |
374 return null; |
375 } |
375 } |
376 |
376 |
377 @Override |
377 @Override @DefinedBy(Api.LANGUAGE_MODEL) |
378 public Void visitUses(UsesDirective d, Void p) { |
378 public Void visitUses(UsesDirective d, Void p) { |
379 // uses service-name |
379 // uses service-name |
380 writer.print("uses "); |
380 writer.print("uses "); |
381 writer.print(d.getService().getQualifiedName()); |
381 writer.print(d.getService().getQualifiedName()); |
382 return null; |
382 return null; |