< prev index next >

src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/SystemModulesPlugin.java

Print this page




 754                 // os name, arch, version
 755                 targetPlatform(md.osName().orElse(null),
 756                                md.osArch().orElse(null),
 757                                md.osVersion().orElse(null));
 758 
 759                 putModuleDescriptor();
 760             }
 761 
 762             void newBuilder() {
 763                 mv.visitTypeInsn(NEW, MODULE_DESCRIPTOR_BUILDER);
 764                 mv.visitInsn(DUP);
 765                 mv.visitLdcInsn(md.name());
 766                 mv.visitMethodInsn(INVOKESPECIAL, MODULE_DESCRIPTOR_BUILDER,
 767                     "<init>", "(Ljava/lang/String;)V", false);
 768                 mv.visitVarInsn(ASTORE, BUILDER_VAR);
 769                 mv.visitVarInsn(ALOAD, BUILDER_VAR);
 770 
 771                 if (md.isOpen()) {
 772                     setModuleBit("open", true);
 773                 }
 774                 if (md.isSynthetic()) {
 775                     setModuleBit("synthetic", true);
 776                 }
 777             }
 778 
 779             /*
 780              * Invoke Builder.<methodName>(boolean value)
 781              */
 782             void setModuleBit(String methodName, boolean value) {
 783                 mv.visitVarInsn(ALOAD, BUILDER_VAR);
 784                 if (value) {
 785                     mv.visitInsn(ICONST_1);
 786                 } else {
 787                     mv.visitInsn(ICONST_0);
 788                 }
 789                 mv.visitMethodInsn(INVOKEVIRTUAL, MODULE_DESCRIPTOR_BUILDER,
 790                     methodName, BOOLEAN_SIG, false);
 791                 mv.visitInsn(POP);
 792             }
 793 
 794             /*




 754                 // os name, arch, version
 755                 targetPlatform(md.osName().orElse(null),
 756                                md.osArch().orElse(null),
 757                                md.osVersion().orElse(null));
 758 
 759                 putModuleDescriptor();
 760             }
 761 
 762             void newBuilder() {
 763                 mv.visitTypeInsn(NEW, MODULE_DESCRIPTOR_BUILDER);
 764                 mv.visitInsn(DUP);
 765                 mv.visitLdcInsn(md.name());
 766                 mv.visitMethodInsn(INVOKESPECIAL, MODULE_DESCRIPTOR_BUILDER,
 767                     "<init>", "(Ljava/lang/String;)V", false);
 768                 mv.visitVarInsn(ASTORE, BUILDER_VAR);
 769                 mv.visitVarInsn(ALOAD, BUILDER_VAR);
 770 
 771                 if (md.isOpen()) {
 772                     setModuleBit("open", true);
 773                 }
 774                 if (md.modifiers().contains(ModuleDescriptor.Modifier.SYNTHETIC)) {
 775                     setModuleBit("synthetic", true);
 776                 }
 777             }
 778 
 779             /*
 780              * Invoke Builder.<methodName>(boolean value)
 781              */
 782             void setModuleBit(String methodName, boolean value) {
 783                 mv.visitVarInsn(ALOAD, BUILDER_VAR);
 784                 if (value) {
 785                     mv.visitInsn(ICONST_1);
 786                 } else {
 787                     mv.visitInsn(ICONST_0);
 788                 }
 789                 mv.visitMethodInsn(INVOKEVIRTUAL, MODULE_DESCRIPTOR_BUILDER,
 790                     methodName, BOOLEAN_SIG, false);
 791                 mv.visitInsn(POP);
 792             }
 793 
 794             /*


< prev index next >