< prev index next >
src/jdk.compiler/share/classes/com/sun/tools/javac/util/JDK9Wrappers.java
Print this page
*** 250,255 ****
--- 250,291 ----
throw new Abort(ex);
}
}
}
}
+
+
+ /**
+ * Helper class for new method in jdk.internal.misc.VM.
+ */
+ public static final class VMHelper {
+ public static final String VM_CLASSNAME = "jdk.internal.misc.VM";
+
+ @SuppressWarnings("unchecked")
+ public static String[] getRuntimeArguments() {
+ try {
+ init();
+ Object result = getRuntimeArgumentsMethod.invoke(null);
+ return (String[])result;
+ } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException
+ | SecurityException ex) {
+ throw new Abort(ex);
+ }
+ }
+
+ // -----------------------------------------------------------------------------------------
+
+ private static Class<?> vmClass = null;
+ private static Method getRuntimeArgumentsMethod = null;
+
+ private static void init() {
+ if (vmClass == null) {
+ try {
+ vmClass = Class.forName(VM_CLASSNAME, false, null);
+ getRuntimeArgumentsMethod = vmClass.getDeclaredMethod("getRuntimeArguments");
+ } catch (ClassNotFoundException | NoSuchMethodException | SecurityException ex) {
+ throw new Abort(ex);
+ }
+ }
+ }
+ }
}
< prev index next >