On Thu, 19 Oct 2023 14:37:06 GMT, Mourad Abbay <mab...@openjdk.org> wrote:
> early experimental version of the bytecode library is bundled under: > test/jdk/lib/testlibrary/bytecode > > following tests reference it: > test/jdk/java/lang/invoke/common/test/java/lang/invoke/lib/InstructionHelper.java > test/jdk/java/lang/invoke/condy/CondyWithGarbageTest.java > test/jdk/java/lang/invoke/condy/CondyReturnPrimitiveTest.java > test/jdk/java/lang/invoke/condy/CondyWrongType.java > test/jdk/java/lang/invoke/condy/CondyNestedTest.java > test/jdk/java/lang/invoke/condy/CondyStaticArgumentsTest.java > test/jdk/java/lang/invoke/condy/BootstrapMethodJumboArgsTest.java > test/jdk/java/lang/invoke/condy/ConstantBootstrapsTest.java > test/jdk/java/lang/invoke/condy/CondyRepeatFailedResolution.java > test/jdk/java/lang/invoke/condy/CondyBSMInvocation.java > test/jdk/java/lang/invoke/condy/CondyTypeValidationTest.java > test/jdk/java/lang/invoke/condy/CondyBSMValidationTest.java > test/jdk/java/lang/invoke/condy/CondyNameValidationTest.java > test/jdk/java/lang/invoke/condy/CondyBSMException.java > test/jdk/java/lang/invoke/condy/CondyInterfaceWithOverpassMethods.java test/jdk/java/lang/invoke/common/test/java/lang/invoke/lib/InstructionHelper.java line 71: > 69: for (int i = 0; i < > type.parameterCount(); i++) { > 70: > codeBuilder.loadInstruction(TypeKind.fromDescriptor( > 71: > type.parameterType(i).descriptorString()), i); You can just use `TypeKind.from(type.parameterType(i))` test/jdk/java/lang/invoke/common/test/java/lang/invoke/lib/InstructionHelper.java line 76: > 74: MethodHandleDesc.ofMethod( > 75: > DirectMethodHandleDesc.Kind.STATIC, > 76: > ClassDesc.of(l.lookupClass().getCanonicalName()), Despite this being part of the original code, `getCanonicalName` is unreliable for bytecode engineering, for it cannot distinguish packages from nested/inner classes. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/16268#discussion_r1368033145 PR Review Comment: https://git.openjdk.org/jdk/pull/16268#discussion_r1368033622