< prev index next >
test/compiler/valhalla/valuetypes/ValueCapableClass2.java
Print this page
@@ -26,14 +26,29 @@
* type. The derived value type (DVT) is referred to as
* ValueCapableClass2$Value.
*/
package compiler.valhalla.valuetypes;
+import java.lang.invoke.MethodHandle;
+import java.lang.invoke.MethodHandles;
+import jdk.experimental.value.ValueType;
+
@jvm.internal.value.DeriveValueType
public final class ValueCapableClass2 {
public final long u;
+ public static final MethodHandle FACTORY;
+ static {
+ MethodHandles.Lookup lookup = MethodHandles.lookup();
+ ValueType<?> VT = ValueType.forClass(ValueCapableClass2.class);
+ try {
+ FACTORY = VT.unreflectWithers(lookup, true, VT.valueFields());
+ } catch(NoSuchFieldException|IllegalAccessException e) {
+ throw new RuntimeException("method handle lookup fails");
+ }
+ }
+
private ValueCapableClass2(long u) {
this.u = u;
}
public static ValueCapableClass2 create(long u) {
< prev index next >