diff options
author | jfrijters <jfrijters> | 2014-10-29 09:09:22 +0300 |
---|---|---|
committer | jfrijters <jfrijters> | 2014-10-29 09:09:22 +0300 |
commit | 56a809ed939a746900b54b44cd21679cff66373b (patch) | |
tree | ba1704067cd856473f5ae5f43bde9dcdc2d52c40 | |
parent | 1a9aa65dd656c1cb1d627af452e36e3e3a22fb73 (diff) |
Workaround for https://bugs.openjdk.java.net/browse/JDK-8062335
-rw-r--r-- | openjdk/com/sun/java/util/jar/pack/PackageReader.java | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/openjdk/com/sun/java/util/jar/pack/PackageReader.java b/openjdk/com/sun/java/util/jar/pack/PackageReader.java index 000a643f..27cdcd13 100644 --- a/openjdk/com/sun/java/util/jar/pack/PackageReader.java +++ b/openjdk/com/sun/java/util/jar/pack/PackageReader.java @@ -1203,6 +1203,16 @@ class PackageReader extends BandStructure { // flesh out the local constant pool ConstantPool.completeReferencesIn(cpRefs, true, bsms); + // remove the attr previously set, otherwise add the bsm and + // references as required + if (bsms.isEmpty()) { + cls.attributes.remove(Package.attrBootstrapMethodsEmpty.canonicalInstance()); + } else { + cpRefs.add(Package.getRefString("BootstrapMethods")); + Collections.sort(bsms); + cls.setBootstrapMethods(bsms); + } + // Now that we know all our local class references, // compute the InnerClasses attribute. int changed = cls.expandLocalICs(); @@ -1221,16 +1231,6 @@ class PackageReader extends BandStructure { ConstantPool.completeReferencesIn(cpRefs, true, bsms); } - // remove the attr previously set, otherwise add the bsm and - // references as required - if (bsms.isEmpty()) { - cls.attributes.remove(Package.attrBootstrapMethodsEmpty.canonicalInstance()); - } else { - cpRefs.add(Package.getRefString("BootstrapMethods")); - Collections.sort(bsms); - cls.setBootstrapMethods(bsms); - } - // construct a local constant pool int numDoubles = 0; for (Entry e : cpRefs) { |