CSR :
|
|
Relates :
|
Summary ------- Rename `ClassFile::transform` to `ClassFile::transformClass`. Problem ------- `ClassFile::transform` has a name too similar to `ClassBuilder::transform`; yet `ClassFile::transform` acts more like `ClassBuilder::transformMethod`, which transforms a subordinate class/method, while `ClassBuilder::transform` transform an equal object (the object of the built type) to this builder, allowing users to perform extra actions on the builder at the same time. Solution -------- Rename `ClassFile::transform` to `ClassFile::transformClass`, to match up with `ClassBuilder::transformMethod`, `ClassBuilder::transformField`, `MethodBuilder::transformCode`. Specification ------------- There are various updates of the method reference in other specifications; those are ignored. diff --git a/src/java.base/share/classes/java/lang/classfile/ClassFile.java b/src/java.base/share/classes/java/lang/classfile/ClassFile.java index 1997ffb487c..08745f7e1ba 100644 --- a/src/java.base/share/classes/java/lang/classfile/ClassFile.java +++ b/src/java.base/share/classes/java/lang/classfile/ClassFile.java @@ -435,15 +434,15 @@ default void buildModuleTo(Path path, * This method behaves as if: * {@snippet lang=java : * this.build(model.thisClass(), ConstantPoolBuilder.of(model), - * b -> b.transform(model, transform)); + * clb -> clb.transform(model, transform)); * } * * @param model the class model to transform * @param transform the transform * @return the bytes of the new class */ - default byte[] transform(ClassModel model, ClassTransform transform) { - return transform(model, model.thisClass(), transform); + default byte[] transformClass(ClassModel model, ClassTransform transform) { + return transformClass(model, model.thisClass(), transform); } /** @@ -458,8 +457,8 @@ default byte[] transform(ClassModel model, ClassTransform transform) { * @param transform the transform * @return the bytes of the new class */ - default byte[] transform(ClassModel model, ClassDesc newClassName, ClassTransform transform) { - return transform(model, TemporaryConstantPool.INSTANCE.classEntry(newClassName), transform); + default byte[] transformClass(ClassModel model, ClassDesc newClassName, ClassTransform transform) { + return transformClass(model, TemporaryConstantPool.INSTANCE.classEntry(newClassName), transform); } /** @@ -473,7 +472,7 @@ default byte[] transform(ClassModel model, ClassDesc newClassName, ClassTransfor * This method behaves as if: * {@snippet lang=java : * this.build(newClassName, ConstantPoolBuilder.of(model), - * b -> b.transform(model, transform)); + * clb -> clb.transform(model, transform)); * } * * @param model the class model to transform @@ -481,7 +480,7 @@ default byte[] transform(ClassModel model, ClassDesc newClassName, ClassTransfor * @param transform the transform * @return the bytes of the new class */ - byte[] transform(ClassModel model, ClassEntry newClassName, ClassTransform transform); + byte[] transformClass(ClassModel model, ClassEntry newClassName, ClassTransform transform); /** * Verify a classfile. Any verification errors found will be returned..