diff --git a/7133138.patch b/7133138.patch new file mode 100644 index 0000000..882f15f --- /dev/null +++ b/7133138.patch @@ -0,0 +1,38 @@ +--- sun/tools/javazic/Mappings.java.orig 2015-04-13 12:44:10.000000000 -0400 ++++ sun/tools/javazic/Mappings.java 2015-04-13 12:45:28.000000000 -0400 +@@ -1,5 +1,5 @@ + /* +- * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. ++ * Copyright (c) 2000, 2012, 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 +@@ -26,6 +26,7 @@ + package sun.tools.javazic; + + import java.util.ArrayList; ++import java.util.HashMap; + import java.util.LinkedList; + import java.util.List; + import java.util.Map; +@@ -162,6 +163,20 @@ + for (String key : toBeRemoved) { + aliases.remove(key); + } ++ // Eliminate any alias-to-alias mappings. For example, if ++ // there are A->B and B->C, A->B is changed to A->C. ++ Map newMap = new HashMap(); ++ for (String key : aliases.keySet()) { ++ String realid = aliases.get(key); ++ String leaf = realid; ++ while (aliases.get(leaf) != null) { ++ leaf = aliases.get(leaf); ++ } ++ if (!realid.equals(leaf)) { ++ newMap.put(key, leaf); ++ } ++ } ++ aliases.putAll(newMap); + } + + Map getAliases() {