< prev index next >

test/jdk/java/foreign/TestSegments.java

Print this page

304         List<SegmentMember> members = new ArrayList<>();
305         for (Method m : MemorySegment.class.getDeclaredMethods()) {
306             //skip statics and method declared in j.l.Object
307             if (m.getDeclaringClass().equals(Object.class) ||
308                     (m.getModifiers() & Modifier.STATIC) != 0) continue;
309             Object[] args = Stream.of(m.getParameterTypes())
310                     .map(TestSegments::defaultValue)
311                     .toArray();
312             members.add(new SegmentMember(m, args));
313         }
314         return members.stream().map(ms -> new Object[] { ms }).toArray(Object[][]::new);
315     }
316 
317     static class SegmentMember {
318         final Method method;
319         final Object[] params;
320 
321         final static List<String> CONFINED_NAMES = List.of(
322                 "close",
323                 "fill",

324                 "toByteArray",
325                 "withOwnerThread"
326         );
327 
328         public SegmentMember(Method method, Object[] params) {
329             this.method = method;
330             this.params = params;
331         }
332 
333         boolean isConfined() {
334             return CONFINED_NAMES.contains(method.getName());
335         }
336 
337         @Override
338         public String toString() {
339             return method.getName();
340         }
341     }
342 
343     static Object defaultValue(Class<?> c) {

304         List<SegmentMember> members = new ArrayList<>();
305         for (Method m : MemorySegment.class.getDeclaredMethods()) {
306             //skip statics and method declared in j.l.Object
307             if (m.getDeclaringClass().equals(Object.class) ||
308                     (m.getModifiers() & Modifier.STATIC) != 0) continue;
309             Object[] args = Stream.of(m.getParameterTypes())
310                     .map(TestSegments::defaultValue)
311                     .toArray();
312             members.add(new SegmentMember(m, args));
313         }
314         return members.stream().map(ms -> new Object[] { ms }).toArray(Object[][]::new);
315     }
316 
317     static class SegmentMember {
318         final Method method;
319         final Object[] params;
320 
321         final static List<String> CONFINED_NAMES = List.of(
322                 "close",
323                 "fill",
324                 "copyFrom",
325                 "toByteArray",
326                 "withOwnerThread"
327         );
328 
329         public SegmentMember(Method method, Object[] params) {
330             this.method = method;
331             this.params = params;
332         }
333 
334         boolean isConfined() {
335             return CONFINED_NAMES.contains(method.getName());
336         }
337 
338         @Override
339         public String toString() {
340             return method.getName();
341         }
342     }
343 
344     static Object defaultValue(Class<?> c) {
< prev index next >