< prev index next >
test/jdk/valhalla/valuetypes/MethodHandleTest.java
Print this page
*** 23,42 ****
/*
* @test
* @summary test MethodHandle/VarHandle on value types
! * @build Point Line MutablePath
! * @compile -XDallowFlattenabilityModifiers MethodHandleTest.java
* @run testng/othervm -XX:+EnableValhalla MethodHandleTest
*/
import java.lang.invoke.*;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
import java.util.*;
- import java.util.stream.Stream;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
import static org.testng.Assert.*;
--- 23,40 ----
/*
* @test
* @summary test MethodHandle/VarHandle on value types
! * @compile -XDallowFlattenabilityModifiers Point.java Line.java MutablePath.java MixedValues.java
* @run testng/othervm -XX:+EnableValhalla MethodHandleTest
*/
import java.lang.invoke.*;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
import java.util.*;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
import static org.testng.Assert.*;
*** 83,93 ****
@Test
public static void testMixedValues() throws Throwable {
MixedValues mv = new MixedValues(P, L, PATH, "mixed", "types");
MethodHandleTest test =
! new MethodHandleTest("MethodHandleTest$MixedValues", mv, "p", "l", "mutablePath", "list", "nfp");
test.run();
Point p = Point.makePoint(100, 200);
Line l = Line.makeLine(100, 200, 300, 400);
test.setValueField("p", mv, p);
--- 81,91 ----
@Test
public static void testMixedValues() throws Throwable {
MixedValues mv = new MixedValues(P, L, PATH, "mixed", "types");
MethodHandleTest test =
! new MethodHandleTest("MixedValues", mv, "p", "l", "mutablePath", "list", "nfp");
test.run();
Point p = Point.makePoint(100, 200);
Line l = Line.makeLine(100, 200, 300, 400);
test.setValueField("p", mv, p);
*** 304,327 ****
boolean isFlattenable(Field f) {
return (f.getModifiers() & 0x00000100) == 0x00000100;
}
- static class MixedValues {
- static Point staticPoint = Point.makePoint(10, 10);
- static Line staticLine; // LW1 allows null static value field
- Point p;
- Line l;
- MutablePath mutablePath;
- List<String> list;
- __NotFlattened Point nfp;
-
- public MixedValues(Point p, Line l, MutablePath path, String... names) {
- this.p = p;
- this.l = l;
- this.mutablePath = path;
- this.list = List.of(names);
- this.nfp = p;
- }
- }
-
}
--- 302,307 ----
< prev index next >