package net.minecraft.crash; import java.lang.management.ManagementFactory; import java.lang.management.RuntimeMXBean; import java.util.Iterator; import java.util.List; import java.util.concurrent.Callable; class CallableJVMFlags implements Callable { /** Reference to the CrashReport object. */ final CrashReport theCrashReport; CallableJVMFlags(CrashReport par1CrashReport) { this.theCrashReport = par1CrashReport; } /** * Returns the number of JVM Flags along with the passed JVM Flags. */ public String getJVMFlagsAsString() { RuntimeMXBean runtimemxbean = ManagementFactory.getRuntimeMXBean(); List list = runtimemxbean.getInputArguments(); int i = 0; StringBuilder stringbuilder = new StringBuilder(); Iterator iterator = list.iterator(); while (iterator.hasNext()) { String s = (String)iterator.next(); if (s.startsWith("-X")) { if (i++ > 0) { stringbuilder.append(" "); } stringbuilder.append(s); } } return String.format("%d total; %s", new Object[] {Integer.valueOf(i), stringbuilder.toString()}); } public Object call() { return this.getJVMFlagsAsString(); } }