diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java --- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java 2013-02-17 18:47:55.000000000 +0000 +++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java 2013-02-20 01:19:23.757194433 +0000 @@ -350,18 +350,15 @@ if (attrCommands != null) { Attribute.Layout lkey = Attribute.keyForLookup(ctype, name); String cmd = attrCommands.get(lkey); - if (cmd != null) { - switch (cmd) { - case "pass": - String message1 = "passing attribute bitwise in " + h; - throw new Attribute.FormatException(message1, ctype, name, cmd); - case "error": - String message2 = "attribute not allowed in " + h; - throw new Attribute.FormatException(message2, ctype, name, cmd); - case "strip": - skip(length, name + " attribute in " + h); - continue; - } + if ("pass".equals(cmd)) { + String message1 = "passing attribute bitwise in " + h; + throw new Attribute.FormatException(message1, ctype, name, cmd); + } else if ("error".equals(cmd)) { + String message2 = "attribute not allowed in " + h; + throw new Attribute.FormatException(message2, ctype, name, cmd); + } else if ("strip".equals(cmd)) { + skip(length, name + " attribute in " + h); + continue; } } // Find canonical instance of the requested attribute. diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java --- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java 2013-02-17 18:47:55.000000000 +0000 +++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java 2013-02-20 01:19:23.757194433 +0000 @@ -73,16 +73,14 @@ { // Non-standard, undocumented "--unpack" switch enables unpack mode. String arg0 = av.isEmpty() ? "" : av.get(0); - switch (arg0) { - case "--pack": + if ("--pack".equals(arg0)) av.remove(0); - break; - case "--unpack": - av.remove(0); - doPack = false; - doUnpack = true; - break; - } + else if ("--unpack".equals(arg0)) + { + av.remove(0); + doPack = false; + doUnpack = true; + } } // Collect engine properties here: @@ -182,21 +180,16 @@ // Deal with remaining non-engine properties: for (String opt : avProps.keySet()) { String val = avProps.get(opt); - switch (opt) { - case "--repack": - doRepack = true; - break; - case "--no-gzip": - doZip = (val == null); - break; - case "--log-file=": - logFile = val; - break; - default: - throw new InternalError(MessageFormat.format( - RESOURCE.getString(DriverResource.BAD_OPTION), - opt, avProps.get(opt))); - } + if ("--repack".equals(opt)) + doRepack = true; + else if ("--no-gzip".equals(opt)) + doZip = (val == null); + else if ("--log-file=".equals(opt)) + logFile = val; + else + throw new InternalError(MessageFormat.format( + RESOURCE.getString(DriverResource.BAD_OPTION), + opt, avProps.get(opt))); } if (logFile != null && !logFile.equals("")) { diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java --- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java 2013-02-17 18:47:55.000000000 +0000 +++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java 2013-02-20 01:19:23.757194433 +0000 @@ -1107,30 +1107,25 @@ // what is one of { Debug, Compile, Constant, Exceptions, InnerClasses } if (verbose > 0) Utils.log.info("Stripping "+what.toLowerCase()+" data and attributes..."); - switch (what) { - case "Debug": - strip("SourceFile"); - strip("LineNumberTable"); - strip("LocalVariableTable"); - strip("LocalVariableTypeTable"); - break; - case "Compile": - // Keep the inner classes normally. - // Although they have no effect on execution, - // the Reflection API exposes them, and JCK checks them. - // NO: // strip("InnerClasses"); - strip("Deprecated"); - strip("Synthetic"); - break; - case "Exceptions": - // Keep the exceptions normally. - // Although they have no effect on execution, - // the Reflection API exposes them, and JCK checks them. - strip("Exceptions"); - break; - case "Constant": - stripConstantFields(); - break; + if ("Debug".equals(what)) { + strip("SourceFile"); + strip("LineNumberTable"); + strip("LocalVariableTable"); + strip("LocalVariableTypeTable"); + } else if ("Compile".equals(what)) { + // Keep the inner classes normally. + // Although they have no effect on execution, + // the Reflection API exposes them, and JCK checks them. + // NO: // strip("InnerClasses"); + strip("Deprecated"); + strip("Synthetic"); + } else if ("Exceptions".equals(what)) { + // Keep the exceptions normally. + // Although they have no effect on execution, + // the Reflection API exposes them, and JCK checks them. + strip("Exceptions"); + } else if ("Constant".equals(what)) { + stripConstantFields(); } } diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/security/ntlm/NTLM.java openjdk-boot/jdk/src/share/classes/com/sun/security/ntlm/NTLM.java --- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/ntlm/NTLM.java 2013-02-17 18:47:55.000000000 +0000 +++ openjdk-boot/jdk/src/share/classes/com/sun/security/ntlm/NTLM.java 2013-02-20 01:19:23.757194433 +0000 @@ -64,17 +64,23 @@ protected NTLM(String version) throws NTLMException { if (version == null) version = "LMv2/NTLMv2"; - switch (version) { - case "LM": v = NTLM; writeLM = true; writeNTLM = false; break; - case "NTLM": v = NTLM; writeLM = false; writeNTLM = true; break; - case "LM/NTLM": v = NTLM; writeLM = writeNTLM = true; break; - case "NTLM2": v = NTLM2; writeLM = writeNTLM = true; break; - case "LMv2": v = NTLMv2; writeLM = true; writeNTLM = false; break; - case "NTLMv2": v = NTLMv2; writeLM = false; writeNTLM = true; break; - case "LMv2/NTLMv2": v = NTLMv2; writeLM = writeNTLM = true; break; - default: throw new NTLMException(NTLMException.BAD_VERSION, - "Unknown version " + version); - } + if (version.equals("LM")) + { v = NTLM; writeLM = true; writeNTLM = false; } + else if (version.equals("NTLM")) + { v = NTLM; writeLM = false; writeNTLM = true; } + else if (version.equals("LM/NTLM")) + { v = NTLM; writeLM = writeNTLM = true; } + else if (version.equals("NTLM2")) + { v = NTLM2; writeLM = writeNTLM = true; } + else if (version.equals("LMv2")) + { v = NTLMv2; writeLM = true; writeNTLM = false; } + else if (version.equals("NTLMv2")) + { v = NTLMv2; writeLM = false; writeNTLM = true; } + else if (version.equals("LMv2/NTLMv2")) + { v = NTLMv2; writeLM = writeNTLM = true; } + else + throw new NTLMException(NTLMException.BAD_VERSION, + "Unknown version " + version); try { fac = SecretKeyFactory.getInstance ("DES"); cipher = Cipher.getInstance ("DES/ECB/NoPadding"); diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodHandleNatives.java openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandleNatives.java --- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodHandleNatives.java 2013-02-17 18:47:55.000000000 +0000 +++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandleNatives.java 2013-02-20 01:35:29.564524781 +0000 @@ -411,111 +411,106 @@ static boolean isCallerSensitive(MemberName mem) { if (!mem.isInvocable()) return false; // fields are not caller sensitive Class defc = mem.getDeclaringClass(); - switch (mem.getName()) { - case "doPrivileged": - case "doPrivilegedWithCombiner": + String memName = mem.getName(); + if ("doPrivileged".equals(memName) || + "doPrivilegedWithCombiner".equals(memName)) { return defc == java.security.AccessController.class; - case "checkMemberAccess": + } else if ("checkMemberAccess".equals(memName)) { return canBeCalledVirtual(mem, java.lang.SecurityManager.class); - case "getUnsafe": + } else if ("getUnsafe".equals(memName)) { return defc == sun.misc.Unsafe.class; - case "lookup": + } else if ("lookup".equals(memName)) { return defc == java.lang.invoke.MethodHandles.class; - case "findStatic": - case "findVirtual": - case "findConstructor": - case "findSpecial": - case "findGetter": - case "findSetter": - case "findStaticGetter": - case "findStaticSetter": - case "bind": - case "unreflect": - case "unreflectSpecial": - case "unreflectConstructor": - case "unreflectGetter": - case "unreflectSetter": + } else if ("findStatic".equals(memName) || + "findVirtual".equals(memName) || + "findConstructor".equals(memName) || + "findSpecial".equals(memName) || + "findGetter".equals(memName) || + "findSetter".equals(memName) || + "findStaticGetter".equals(memName) || + "findStaticSetter".equals(memName) || + "bind".equals(memName) || + "unreflect".equals(memName) || + "unreflectSpecial".equals(memName) || + "unreflectConstructor".equals(memName) || + "unreflectGetter".equals(memName) || + "unreflectSetter".equals(memName)) { return defc == java.lang.invoke.MethodHandles.Lookup.class; - case "invoke": + } else if ("invoke".equals(memName)) { return defc == java.lang.reflect.Method.class; - case "get": - case "getBoolean": - case "getByte": - case "getChar": - case "getShort": - case "getInt": - case "getLong": - case "getFloat": - case "getDouble": - case "set": - case "setBoolean": - case "setByte": - case "setChar": - case "setShort": - case "setInt": - case "setLong": - case "setFloat": - case "setDouble": + } else if ("get".equals(memName) || + "getBoolean".equals(memName) || + "getByte".equals(memName) || + "getChar".equals(memName) || + "getShort".equals(memName) || + "getInt".equals(memName) || + "getFloat".equals(memName) || + "getDouble".equals(memName) || + "set".equals(memName) || + "setBoolean".equals(memName) || + "setByte".equals(memName) || + "setChar".equals(memName) || + "setShort".equals(memName) || + "setInt".equals(memName) || + "setLong".equals(memName) || + "setFloat".equals(memName) || + "setDouble".equals(memName)) { return defc == java.lang.reflect.Field.class; - case "newInstance": + } else if ("newInstance".equals(memName)) { if (defc == java.lang.reflect.Constructor.class) return true; if (defc == java.lang.Class.class) return true; - break; - case "forName": - case "getClassLoader": - case "getClasses": - case "getFields": - case "getMethods": - case "getConstructors": - case "getDeclaredClasses": - case "getDeclaredFields": - case "getDeclaredMethods": - case "getDeclaredConstructors": - case "getField": - case "getMethod": - case "getConstructor": - case "getDeclaredField": - case "getDeclaredMethod": - case "getDeclaredConstructor": + } else if ("forName".equals(memName) || + "getClassLoader".equals(memName) || + "getClasses".equals(memName) || + "getFields".equals(memName) || + "getMethods".equals(memName) || + "getConstructors".equals(memName) || + "getDeclaredClasses".equals(memName) || + "getDeclaredFields".equals(memName) || + "getDeclaredMethods".equals(memName) || + "getDeclaredConstructors".equals(memName) || + "getField".equals(memName) || + "getMethod".equals(memName) || + "getConstructor".equals(memName) || + "getDeclaredField".equals(memName) || + "getDeclaredMethod".equals(memName) || + "getDeclaredConstructor".equals(memName)) { return defc == java.lang.Class.class; - case "getConnection": - case "getDriver": - case "getDrivers": - case "deregisterDriver": + } else if ("getConnection".equals(memName) || + "getDriver".equals(memName) || + "getDrivers".equals(memName) || + "deregisterDriver".equals(memName)) { return defc == java.sql.DriverManager.class; - case "newUpdater": + } else if ("newUpdater".equals(memName)) { if (defc == java.util.concurrent.atomic.AtomicIntegerFieldUpdater.class) return true; if (defc == java.util.concurrent.atomic.AtomicLongFieldUpdater.class) return true; if (defc == java.util.concurrent.atomic.AtomicReferenceFieldUpdater.class) return true; - break; - case "getContextClassLoader": + } else if ("getContextClassLoader".equals(memName)) { return canBeCalledVirtual(mem, java.lang.Thread.class); - case "getPackage": - case "getPackages": + } else if ("getPackage".equals(memName) || + "getPackages".equals(memName)) { return defc == java.lang.Package.class; - case "getParent": - case "getSystemClassLoader": + } else if ("getParent".equals(memName) || + "getSystemClassLoader".equals(memName)) { return defc == java.lang.ClassLoader.class; - case "load": - case "loadLibrary": + } else if ("load".equals(memName) || + "loadLibrary".equals(memName)) { if (defc == java.lang.Runtime.class) return true; if (defc == java.lang.System.class) return true; - break; - case "getCallerClass": + } else if ("getCallerClass".equals(memName)) { if (defc == sun.reflect.Reflection.class) return true; if (defc == java.lang.System.class) return true; - break; - case "getCallerClassLoader": + } else if ("getCallerClassLoader".equals(memName)) { return defc == java.lang.ClassLoader.class; - case "registerAsParallelCapable": + } else if ("registerAsParallelCapable".equals(memName)) { return canBeCalledVirtual(mem, java.lang.ClassLoader.class); - case "getProxyClass": - case "newProxyInstance": + } else if ("getProxyClass".equals(memName) || + "newProxyInstance".equals(memName)) { return defc == java.lang.reflect.Proxy.class; - case "asInterfaceInstance": + } else if ("asInterfaceInstance".equals(memName)) { return defc == java.lang.invoke.MethodHandleProxies.class; - case "getBundle": - case "clearCache": + } else if ("getBundle".equals(memName) || + "clearCache".equals(memName)) { return defc == java.util.ResourceBundle.class; } return false; diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodHandleProxies.java openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandleProxies.java --- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodHandleProxies.java 2013-02-17 18:47:55.000000000 +0000 +++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandleProxies.java 2013-02-20 01:19:23.757194433 +0000 @@ -268,14 +268,16 @@ private static boolean isObjectMethod(Method m) { - switch (m.getName()) { - case "toString": + String name = m.getName(); + if ("toString".equals(name)) { return (m.getReturnType() == String.class && m.getParameterTypes().length == 0); - case "hashCode": + } + if ("hashCode".equals(name)) { return (m.getReturnType() == int.class && m.getParameterTypes().length == 0); - case "equals": + } + if ("equals".equals(name)) { return (m.getReturnType() == boolean.class && m.getParameterTypes().length == 1 && m.getParameterTypes()[0] == Object.class); @@ -286,12 +288,14 @@ private static Object callObjectMethod(Object self, Method m, Object[] args) { assert(isObjectMethod(m)) : m; - switch (m.getName()) { - case "toString": + String name = m.getName(); + if ("toString".equals(name)) { return self.getClass().getName() + "@" + Integer.toHexString(self.hashCode()); - case "hashCode": + } + if ("hashCode".equals(name)) { return System.identityHashCode(self); - case "equals": + } + if ("equals".equals(name)) { return (self == args[0]); } return null; diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/launcher/LauncherHelper.java openjdk-boot/jdk/src/share/classes/sun/launcher/LauncherHelper.java --- openjdk-boot.orig/jdk/src/share/classes/sun/launcher/LauncherHelper.java 2013-02-17 18:47:55.000000000 +0000 +++ openjdk-boot/jdk/src/share/classes/sun/launcher/LauncherHelper.java 2013-02-20 01:19:23.757194433 +0000 @@ -119,24 +119,20 @@ String optStr = (opts.length > 1 && opts[1] != null) ? opts[1].trim() : "all"; - switch (optStr) { - case "vm": + if ("vm".equals(optStr)) + printVmSettings(ostream, initialHeapSize, maxHeapSize, + stackSize, isServer); + else if ("properties".equals(optStr)) + printProperties(ostream); + else if ("locale".equals(optStr)) + printLocale(ostream); + else + { printVmSettings(ostream, initialHeapSize, maxHeapSize, - stackSize, isServer); - break; - case "properties": + stackSize, isServer); printProperties(ostream); - break; - case "locale": printLocale(ostream); - break; - default: - printVmSettings(ostream, initialHeapSize, maxHeapSize, - stackSize, isServer); - printProperties(ostream); - printLocale(ostream); - break; - } + } } /* diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java openjdk-boot/jdk/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java --- openjdk-boot.orig/jdk/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java 2013-02-17 18:47:55.000000000 +0000 +++ openjdk-boot/jdk/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java 2013-02-20 01:19:23.757194433 +0000 @@ -378,19 +378,23 @@ GE; // ">=" static Operator of(String s) { - switch (s) { - case "==": - return EQ; - case "!=": - return NE; - case "<": - return LT; - case "<=": - return LE; - case ">": - return GT; - case ">=": - return GE; + if ("==".equals(s)) { + return EQ; + } + if ("!=".equals(s)) { + return NE; + } + if ("<".equals(s)) { + return LT; + } + if ("<=".equals(s)) { + return LE; + } + if (">".equals(s)) { + return GT; + } + if (">=".equals(s)) { + return GE; } throw new IllegalArgumentException(