34 */
35 Object newMemberName();
36
37 /**
38 * Returns the name for the given MemberName. Used by {@see StackFrameInfo}.
39 */
40 String getName(Object mname);
41
42 /**
43 * Returns {@code true} if the given MemberName is a native method. Used by
44 * {@see StackFrameInfo}.
45 */
46 boolean isNative(Object mname);
47
48 /**
49 * Returns a {@code byte[]} containing the bytecode for a class implementing
50 * DirectMethodHandle of each pairwise combination of {@code MethodType} and
51 * an {@code int} representing method type. Used by
52 * GenerateJLIClassesPlugin to generate such a class during the jlink phase.
53 */
54 byte[] generateDMHClassBytes(String className, MethodType[] methodTypes,
55 int[] types);
56
57 /**
58 * Returns a {@code byte[]} containing the bytecode for a BoundMethodHandle
59 * species class implementing the signature defined by {@code types}. Used
60 * by GenerateBMHClassesPlugin to enable generation of such classes during
61 * the jlink phase. Should do some added validation since this string may be
62 * user provided.
63 */
64 Map.Entry<String, byte[]> generateConcreteBMHClassBytes(
65 final String types);
66 }
|
34 */
35 Object newMemberName();
36
37 /**
38 * Returns the name for the given MemberName. Used by {@see StackFrameInfo}.
39 */
40 String getName(Object mname);
41
42 /**
43 * Returns {@code true} if the given MemberName is a native method. Used by
44 * {@see StackFrameInfo}.
45 */
46 boolean isNative(Object mname);
47
48 /**
49 * Returns a {@code byte[]} containing the bytecode for a class implementing
50 * DirectMethodHandle of each pairwise combination of {@code MethodType} and
51 * an {@code int} representing method type. Used by
52 * GenerateJLIClassesPlugin to generate such a class during the jlink phase.
53 */
54 byte[] generateDirectMethodHandleHolderClassBytes(String className,
55 MethodType[] methodTypes, int[] types);
56
57 /**
58 * Returns a {@code byte[]} containing the bytecode for a class implementing
59 * DelegatingMethodHandles of each {@code MethodType} kind in the
60 * {@code methodTypes} argument. Used by GenerateJLIClassesPlugin to
61 * generate such a class during the jlink phase.
62 */
63 byte[] generateDelegatingMethodHandleHolderClassBytes(String className,
64 MethodType[] methodTypes);
65
66 /**
67 * Returns a {@code byte[]} containing the bytecode for a BoundMethodHandle
68 * species class implementing the signature defined by {@code types}. Used
69 * by GenerateBMHClassesPlugin to enable generation of such classes during
70 * the jlink phase. Should do some added validation since this string may be
71 * user provided.
72 */
73 Map.Entry<String, byte[]> generateConcreteBMHClassBytes(
74 final String types);
75 }
|