src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/OptionsVerifierTest.java
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File
*** old/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/OptionsVerifierTest.java Mon Mar 20 17:37:32 2017
--- new/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/OptionsVerifierTest.java Mon Mar 20 17:37:32 2017
*** 39,77 ****
--- 39,75 ----
import java.util.HashSet;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.ServiceLoader;
import java.util.Set;
import org.junit.Test;
import org.graalvm.compiler.options.OptionDescriptor;
import org.graalvm.compiler.options.OptionDescriptors;
! import org.graalvm.compiler.options.OptionValue;
! import org.graalvm.compiler.options.OptionKey;
+ import org.graalvm.compiler.options.OptionsParser;
import org.graalvm.compiler.test.GraalTest;
- import jdk.internal.org.objectweb.asm.ClassReader;
- import jdk.internal.org.objectweb.asm.ClassVisitor;
- import jdk.internal.org.objectweb.asm.Label;
- import jdk.internal.org.objectweb.asm.MethodVisitor;
- import jdk.internal.org.objectweb.asm.Opcodes;
- import jdk.internal.org.objectweb.asm.Type;
+ import org.junit.Test;
/**
! * Verifies a class declaring one or more {@linkplain OptionValue options} has a class initializer
! * Verifies a class declaring one or more {@linkplain OptionKey options} has a class initializer
* that only initializes the option(s). This sanity check mitigates the possibility of an option
* value being used before being set.
*/
public class OptionsVerifierTest {
@Test
public void verifyOptions() throws IOException {
try (Classpath cp = new Classpath()) {
HashSet<Class<?>> checked = new HashSet<>();
! for (OptionDescriptors opts : ServiceLoader.load(OptionDescriptors.class, getClass().getClassLoader())) {
! for (OptionDescriptors opts : OptionsParser.getOptionsLoader()) {
for (OptionDescriptor desc : opts) {
OptionsVerifier.checkClass(desc.getDeclaringClass(), desc, checked, cp);
}
}
}
*** 257,267 ****
--- 255,265 ----
* Checks whether a given method is allowed to be called.
*/
private boolean checkInvokeTarget(Executable method) {
Class<?> holder = method.getDeclaringClass();
if (method instanceof Constructor) {
! if (OptionValue.class.isAssignableFrom(holder)) {
! if (OptionKey.class.isAssignableFrom(holder)) {
return true;
}
} else if (Arrays.asList(boxingTypes).contains(holder)) {
return method.getName().equals("valueOf");
} else if (method.getDeclaringClass().equals(Class.class)) {
src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/OptionsVerifierTest.java
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File