< prev index next >

src/java.base/share/classes/jdk/internal/classfile/impl/ClassRemapperImpl.java

Print this page

 39 import java.lang.classfile.FieldModel;
 40 import java.lang.classfile.FieldTransform;
 41 import java.lang.classfile.Interfaces;
 42 import java.lang.classfile.MethodBuilder;
 43 import java.lang.classfile.MethodElement;
 44 import java.lang.classfile.MethodModel;
 45 import java.lang.classfile.MethodSignature;
 46 import java.lang.classfile.MethodTransform;
 47 import java.lang.classfile.Signature;
 48 import java.lang.classfile.Superclass;
 49 import java.lang.classfile.TypeAnnotation;
 50 import java.lang.classfile.attribute.AnnotationDefaultAttribute;
 51 import java.lang.classfile.attribute.EnclosingMethodAttribute;
 52 import java.lang.classfile.attribute.ExceptionsAttribute;
 53 import java.lang.classfile.attribute.InnerClassInfo;
 54 import java.lang.classfile.attribute.InnerClassesAttribute;
 55 import java.lang.classfile.attribute.ModuleAttribute;
 56 import java.lang.classfile.attribute.ModuleProvideInfo;
 57 import java.lang.classfile.attribute.NestHostAttribute;
 58 import java.lang.classfile.attribute.NestMembersAttribute;

 59 import java.lang.classfile.attribute.PermittedSubclassesAttribute;
 60 import java.lang.classfile.attribute.RecordAttribute;
 61 import java.lang.classfile.attribute.RecordComponentInfo;
 62 import java.lang.classfile.attribute.RuntimeInvisibleAnnotationsAttribute;
 63 import java.lang.classfile.attribute.RuntimeInvisibleParameterAnnotationsAttribute;
 64 import java.lang.classfile.attribute.RuntimeInvisibleTypeAnnotationsAttribute;
 65 import java.lang.classfile.attribute.RuntimeVisibleAnnotationsAttribute;
 66 import java.lang.classfile.attribute.RuntimeVisibleParameterAnnotationsAttribute;
 67 import java.lang.classfile.attribute.RuntimeVisibleTypeAnnotationsAttribute;
 68 import java.lang.classfile.attribute.SignatureAttribute;
 69 import java.lang.classfile.components.ClassRemapper;
 70 import java.lang.classfile.constantpool.Utf8Entry;
 71 import java.lang.classfile.instruction.ConstantInstruction.LoadConstantInstruction;
 72 import java.lang.classfile.instruction.ExceptionCatch;
 73 import java.lang.classfile.instruction.FieldInstruction;
 74 import java.lang.classfile.instruction.InvokeDynamicInstruction;
 75 import java.lang.classfile.instruction.InvokeInstruction;
 76 import java.lang.classfile.instruction.LocalVariable;
 77 import java.lang.classfile.instruction.LocalVariableType;
 78 import java.lang.classfile.instruction.NewMultiArrayInstruction;

125                         .map(this::mapRecordComponent).toList()));
126             case ModuleAttribute ma ->
127                 clb.with(ModuleAttribute.of(ma.moduleName(), ma.moduleFlagsMask(),
128                         ma.moduleVersion().orElse(null),
129                         ma.requires(), ma.exports(), ma.opens(),
130                         ma.uses().stream().map(ce ->
131                                 clb.constantPool().classEntry(map(ce.asSymbol()))).toList(),
132                         ma.provides().stream().map(mp ->
133                                 ModuleProvideInfo.of(map(mp.provides().asSymbol()),
134                                         mp.providesWith().stream().map(pw ->
135                                                 map(pw.asSymbol())).toList())).toList()));
136             case NestHostAttribute nha ->
137                 clb.with(NestHostAttribute.of(map(nha.nestHost().asSymbol())));
138             case NestMembersAttribute nma ->
139                 clb.with(NestMembersAttribute.ofSymbols(nma.nestMembers().stream()
140                         .map(nm -> map(nm.asSymbol())).toList()));
141             case PermittedSubclassesAttribute psa ->
142                 clb.with(PermittedSubclassesAttribute.ofSymbols(
143                         psa.permittedSubclasses().stream().map(ps ->
144                                 map(ps.asSymbol())).toList()));




145             case RuntimeVisibleAnnotationsAttribute aa ->
146                 clb.with(RuntimeVisibleAnnotationsAttribute.of(
147                         mapAnnotations(aa.annotations())));
148             case RuntimeInvisibleAnnotationsAttribute aa ->
149                 clb.with(RuntimeInvisibleAnnotationsAttribute.of(
150                         mapAnnotations(aa.annotations())));
151             case RuntimeVisibleTypeAnnotationsAttribute aa ->
152                 clb.with(RuntimeVisibleTypeAnnotationsAttribute.of(
153                         mapTypeAnnotations(aa.annotations())));
154             case RuntimeInvisibleTypeAnnotationsAttribute aa ->
155                 clb.with(RuntimeInvisibleTypeAnnotationsAttribute.of(
156                         mapTypeAnnotations(aa.annotations())));
157             default ->
158                 clb.with(cle);
159         }
160     }
161 
162     @Override
163     public FieldTransform asFieldTransform() {
164         return (FieldBuilder fb, FieldElement fe) -> {

 39 import java.lang.classfile.FieldModel;
 40 import java.lang.classfile.FieldTransform;
 41 import java.lang.classfile.Interfaces;
 42 import java.lang.classfile.MethodBuilder;
 43 import java.lang.classfile.MethodElement;
 44 import java.lang.classfile.MethodModel;
 45 import java.lang.classfile.MethodSignature;
 46 import java.lang.classfile.MethodTransform;
 47 import java.lang.classfile.Signature;
 48 import java.lang.classfile.Superclass;
 49 import java.lang.classfile.TypeAnnotation;
 50 import java.lang.classfile.attribute.AnnotationDefaultAttribute;
 51 import java.lang.classfile.attribute.EnclosingMethodAttribute;
 52 import java.lang.classfile.attribute.ExceptionsAttribute;
 53 import java.lang.classfile.attribute.InnerClassInfo;
 54 import java.lang.classfile.attribute.InnerClassesAttribute;
 55 import java.lang.classfile.attribute.ModuleAttribute;
 56 import java.lang.classfile.attribute.ModuleProvideInfo;
 57 import java.lang.classfile.attribute.NestHostAttribute;
 58 import java.lang.classfile.attribute.NestMembersAttribute;
 59 import java.lang.classfile.attribute.PreloadAttribute;
 60 import java.lang.classfile.attribute.PermittedSubclassesAttribute;
 61 import java.lang.classfile.attribute.RecordAttribute;
 62 import java.lang.classfile.attribute.RecordComponentInfo;
 63 import java.lang.classfile.attribute.RuntimeInvisibleAnnotationsAttribute;
 64 import java.lang.classfile.attribute.RuntimeInvisibleParameterAnnotationsAttribute;
 65 import java.lang.classfile.attribute.RuntimeInvisibleTypeAnnotationsAttribute;
 66 import java.lang.classfile.attribute.RuntimeVisibleAnnotationsAttribute;
 67 import java.lang.classfile.attribute.RuntimeVisibleParameterAnnotationsAttribute;
 68 import java.lang.classfile.attribute.RuntimeVisibleTypeAnnotationsAttribute;
 69 import java.lang.classfile.attribute.SignatureAttribute;
 70 import java.lang.classfile.components.ClassRemapper;
 71 import java.lang.classfile.constantpool.Utf8Entry;
 72 import java.lang.classfile.instruction.ConstantInstruction.LoadConstantInstruction;
 73 import java.lang.classfile.instruction.ExceptionCatch;
 74 import java.lang.classfile.instruction.FieldInstruction;
 75 import java.lang.classfile.instruction.InvokeDynamicInstruction;
 76 import java.lang.classfile.instruction.InvokeInstruction;
 77 import java.lang.classfile.instruction.LocalVariable;
 78 import java.lang.classfile.instruction.LocalVariableType;
 79 import java.lang.classfile.instruction.NewMultiArrayInstruction;

126                         .map(this::mapRecordComponent).toList()));
127             case ModuleAttribute ma ->
128                 clb.with(ModuleAttribute.of(ma.moduleName(), ma.moduleFlagsMask(),
129                         ma.moduleVersion().orElse(null),
130                         ma.requires(), ma.exports(), ma.opens(),
131                         ma.uses().stream().map(ce ->
132                                 clb.constantPool().classEntry(map(ce.asSymbol()))).toList(),
133                         ma.provides().stream().map(mp ->
134                                 ModuleProvideInfo.of(map(mp.provides().asSymbol()),
135                                         mp.providesWith().stream().map(pw ->
136                                                 map(pw.asSymbol())).toList())).toList()));
137             case NestHostAttribute nha ->
138                 clb.with(NestHostAttribute.of(map(nha.nestHost().asSymbol())));
139             case NestMembersAttribute nma ->
140                 clb.with(NestMembersAttribute.ofSymbols(nma.nestMembers().stream()
141                         .map(nm -> map(nm.asSymbol())).toList()));
142             case PermittedSubclassesAttribute psa ->
143                 clb.with(PermittedSubclassesAttribute.ofSymbols(
144                         psa.permittedSubclasses().stream().map(ps ->
145                                 map(ps.asSymbol())).toList()));
146             case PreloadAttribute pa ->
147                 clb.with(PreloadAttribute.ofSymbols(
148                         pa.preloads().stream().map(pc ->
149                                 map(pc.asSymbol())).toList()));
150             case RuntimeVisibleAnnotationsAttribute aa ->
151                 clb.with(RuntimeVisibleAnnotationsAttribute.of(
152                         mapAnnotations(aa.annotations())));
153             case RuntimeInvisibleAnnotationsAttribute aa ->
154                 clb.with(RuntimeInvisibleAnnotationsAttribute.of(
155                         mapAnnotations(aa.annotations())));
156             case RuntimeVisibleTypeAnnotationsAttribute aa ->
157                 clb.with(RuntimeVisibleTypeAnnotationsAttribute.of(
158                         mapTypeAnnotations(aa.annotations())));
159             case RuntimeInvisibleTypeAnnotationsAttribute aa ->
160                 clb.with(RuntimeInvisibleTypeAnnotationsAttribute.of(
161                         mapTypeAnnotations(aa.annotations())));
162             default ->
163                 clb.with(cle);
164         }
165     }
166 
167     @Override
168     public FieldTransform asFieldTransform() {
169         return (FieldBuilder fb, FieldElement fe) -> {
< prev index next >