< prev index next >

test/java/lang/Class/getDeclaredField/FieldSetAccessibleTest.java

Print this page

        

*** 1,7 **** /* ! * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. --- 1,7 ---- /* ! * Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation.
*** 26,35 **** --- 26,36 ---- import java.lang.reflect.AccessibleObject; import java.lang.reflect.Field; import java.lang.reflect.Module; import java.lang.reflect.Modifier; import java.lang.reflect.InaccessibleObjectException; + import java.lang.reflect.Layer; import java.lang.reflect.ReflectPermission; import java.net.URI; import java.nio.file.FileSystem; import java.nio.file.FileSystems; import java.nio.file.Files;
*** 45,56 **** --- 46,59 ---- import java.util.Collections; import java.util.Enumeration; import java.util.Iterator; import java.util.List; import java.util.PropertyPermission; + import java.util.Set; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicLong; + import java.util.stream.Collectors; import java.util.stream.Stream; import jdk.internal.module.Modules; /**
*** 246,265 **** --- 249,273 ---- static class ClassNameJrtStreamBuilder implements Iterable<String>{ final FileSystem jrt; final List<Path> roots = new ArrayList<>(); + final Set<String> availableModules; ClassNameJrtStreamBuilder() { + availableModules = Layer.boot().modules().stream() + .map(Module::getName).collect(Collectors.toSet()); jrt = FileSystems.getFileSystem(URI.create("jrt:/")); for (Path root : jrt.getRootDirectories()) { roots.add(root); } } Stream<String> build() { return roots.stream().flatMap(this::toStream) .filter(x -> x.getNameCount() > 2) + .filter(x -> x.getName(0).toString().equals("modules")) + .filter(x -> availableModules.contains(x.getName(1).toString())) .map( x-> x.subpath(2, x.getNameCount())) .map( x -> x.toString()) .filter(s -> s.endsWith(".class") && !s.endsWith("module-info.class")); }
< prev index next >