On Mon, 23 Oct 2023 01:15:54 GMT, Chen Liang <li...@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))` I can't see such as method. > 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. I will use ClassDesc.ofDescriptor and passes the descriptor string of the type. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/16268#discussion_r1371686240 PR Review Comment: https://git.openjdk.org/jdk/pull/16268#discussion_r1371553152