summaryrefslogtreecommitdiff
path: root/pcr/java-guava
diff options
context:
space:
mode:
Diffstat (limited to 'pcr/java-guava')
-rw-r--r--pcr/java-guava/PKGBUILD28
-rw-r--r--pcr/java-guava/guava-ignore_j2objc_annotations.patch1444
2 files changed, 1460 insertions, 12 deletions
diff --git a/pcr/java-guava/PKGBUILD b/pcr/java-guava/PKGBUILD
index 90f7aafe7..aaf5966b3 100644
--- a/pcr/java-guava/PKGBUILD
+++ b/pcr/java-guava/PKGBUILD
@@ -2,30 +2,35 @@
_pkgname=guava
pkgname=java-${_pkgname}
-pkgver=18.0
+pkgver=19.0
pkgrel=1
pkgdesc='Suite of Google common libraries for Java'
arch=('any')
url="https://github.com/google/guava"
license=('APACHE')
depends=('java-runtime')
-makedepends=('java-environment' 'java-atinject' 'jsr305' 'jh')
-source=("https://github.com/google/${_pkgname}/archive/v${pkgver}.tar.gz")
-sha256sums=('02d1cd2e97fd8e38ba32aeb5354b18df36be8a176c8a754bb0ef020cd6122e75')
+makedepends=('java-environment' 'java-animal-sniffer' 'jsr305' 'jh')
+source=("https://github.com/google/${_pkgname}/archive/v${pkgver}.tar.gz"
+ 'guava-ignore_j2objc_annotations.patch')
+sha256sums=('67a8f7a22c26bdbfc0455a3b74bdee753e170b30f3efb8437cb5aee8c62463ac'
+ 'e03f4dbfb92dcd688e5f8fd01c8fb0c2a5cb601a88af4d2aaa09afdd388e9cab')
prepare() {
cd "${srcdir}/${_pkgname}-${pkgver}"
- rm -rv {guava-gwt,guava-testlib,guava-tests}
- rm -v "${_pkgname}/lib/jdiff.jar"
+ rm -rv {guava-gwt,guava-testlib,guava-tests,util}
mkdir -p "${_pkgname}/build/classes"
+
+ patch -Np1 -i "${srcdir}/guava-ignore_j2objc_annotations.patch"
}
build() {
cd "${srcdir}/${_pkgname}-${pkgver}/${_pkgname}"
- CLASSPATH="/usr/share/java/javax.inject.jar:/usr/share/java/jsr305.jar"
- javac -cp $CLASSPATH -d "build/classes" -encoding UTF-8 $(find "src" -name \*.java)
- javadoc -classpath $CLASSPATH -d "build/javadoc" -encoding UTF-8 -sourcepath src -subpackages com
+ CLASSPATH="/usr/share/java/animal-sniffer-annotations.jar:/usr/share/java/jsr305.jar"
+ javac -cp $CLASSPATH -d "build/classes" -encoding UTF-8 \
+ $(find "src" -name \*.java)
+ javadoc -classpath $CLASSPATH -d "build/javadoc" -encoding UTF-8 \
+ -sourcepath src -subpackages com
jar -cvf "${_pkgname}.jar" -C build/classes .
}
@@ -42,14 +47,13 @@ package() {
# Install Maven artifacts
export DESTDIR=${pkgdir}
+ jh mvn-install "com.google.guava" "${_pkgname}-parent" ${pkgver} \
+ "${srcdir}/${_pkgname}-${pkgver}/pom.xml"
jh mvn-install "com.google.guava" ${_pkgname} ${pkgver} \
"pom.xml" \
"${_pkgname}.jar" \
"${_pkgname}-${pkgver}.jar"
- jh mvn-install "com.google.guava" "${_pkgname}-parent" ${pkgver} \
- "${srcdir}/${_pkgname}-${pkgver}/pom.xml"
-
ln -s "/usr/share/java/${_pkgname}-${pkgver}.jar" \
"${pkgdir}/usr/share/java/${_pkgname}.jar"
}
diff --git a/pcr/java-guava/guava-ignore_j2objc_annotations.patch b/pcr/java-guava/guava-ignore_j2objc_annotations.patch
new file mode 100644
index 000000000..43fdd0733
--- /dev/null
+++ b/pcr/java-guava/guava-ignore_j2objc_annotations.patch
@@ -0,0 +1,1444 @@
+--- guava-19.0.orig/guava/src/com/google/common/cache/LocalCache.java 2015-12-09 15:56:41.000000000 -0500
++++ guava-19.0/guava/src/com/google/common/cache/LocalCache.java 2016-05-19 09:30:49.310740801 -0500
+@@ -50,8 +50,6 @@
+ import com.google.common.util.concurrent.SettableFuture;
+ import com.google.common.util.concurrent.UncheckedExecutionException;
+ import com.google.common.util.concurrent.Uninterruptibles;
+-import com.google.j2objc.annotations.Weak;
+-import com.google.j2objc.annotations.WeakOuter;
+
+ import java.io.IOException;
+ import java.io.ObjectInputStream;
+@@ -2011,7 +2009,7 @@
+ * comments.
+ */
+
+- @Weak final LocalCache<K, V> map;
++ final LocalCache<K, V> map;
+
+ /**
+ * The number of live elements in this segment's region.
+@@ -4450,7 +4448,7 @@
+ }
+
+ abstract class AbstractCacheSet<T> extends AbstractSet<T> {
+- @Weak final ConcurrentMap<?, ?> map;
++ final ConcurrentMap<?, ?> map;
+
+ AbstractCacheSet(ConcurrentMap<?, ?> map) {
+ this.map = map;
+@@ -4492,7 +4490,6 @@
+ return result;
+ }
+
+- @WeakOuter
+ final class KeySet extends AbstractCacheSet<K> {
+
+ KeySet(ConcurrentMap<?, ?> map) {
+@@ -4515,7 +4512,6 @@
+ }
+ }
+
+- @WeakOuter
+ final class Values extends AbstractCollection<V> {
+ private final ConcurrentMap<?, ?> map;
+
+@@ -4559,7 +4555,6 @@
+ }
+ }
+
+- @WeakOuter
+ final class EntrySet extends AbstractCacheSet<Entry<K, V>> {
+
+ EntrySet(ConcurrentMap<?, ?> map) {
+--- guava-19.0.orig/guava/src/com/google/common/collect/AbstractBiMap.java 2015-12-09 15:56:41.000000000 -0500
++++ guava-19.0/guava/src/com/google/common/collect/AbstractBiMap.java 2016-05-19 09:33:34.006463421 -0500
+@@ -23,7 +23,6 @@
+ import com.google.common.annotations.GwtCompatible;
+ import com.google.common.annotations.GwtIncompatible;
+ import com.google.common.base.Objects;
+-import com.google.j2objc.annotations.WeakOuter;
+
+ import java.io.IOException;
+ import java.io.ObjectInputStream;
+@@ -189,7 +188,6 @@
+ return (result == null) ? keySet = new KeySet() : result;
+ }
+
+- @WeakOuter
+ private class KeySet extends ForwardingSet<K> {
+ @Override
+ protected Set<K> delegate() {
+@@ -238,7 +236,6 @@
+ return (result == null) ? valueSet = new ValueSet() : result;
+ }
+
+- @WeakOuter
+ private class ValueSet extends ForwardingSet<V> {
+ final Set<V> valuesDelegate = inverse.keySet();
+
+@@ -276,7 +273,6 @@
+ return (result == null) ? entrySet = new EntrySet() : result;
+ }
+
+- @WeakOuter
+ private class EntrySet extends ForwardingSet<Entry<K, V>> {
+ final Set<Entry<K, V>> esDelegate = delegate.entrySet();
+
+--- guava-19.0.orig/guava/src/com/google/common/collect/AbstractMapBasedMultimap.java 2015-12-09 15:56:41.000000000 -0500
++++ guava-19.0/guava/src/com/google/common/collect/AbstractMapBasedMultimap.java 2016-05-19 09:37:32.765430189 -0500
+@@ -23,7 +23,6 @@
+ import com.google.common.annotations.GwtCompatible;
+ import com.google.common.annotations.GwtIncompatible;
+ import com.google.common.collect.Maps.ViewCachingAbstractMap;
+-import com.google.j2objc.annotations.WeakOuter;
+
+ import java.io.Serializable;
+ import java.util.AbstractCollection;
+@@ -351,7 +350,6 @@
+ * removeIfEmpty}, and {@code addToMap} methods call the corresponding methods
+ * of the full wrapped collection.
+ */
+- @WeakOuter
+ private class WrappedCollection extends AbstractCollection<V> {
+ final K key;
+ Collection<V> delegate;
+@@ -611,7 +609,6 @@
+ }
+
+ /** Set decorator that stays in sync with the multimap values for a key. */
+- @WeakOuter
+ private class WrappedSet extends WrappedCollection implements Set<V> {
+ WrappedSet(@Nullable K key, Set<V> delegate) {
+ super(key, delegate, null);
+@@ -640,7 +637,6 @@
+ /**
+ * SortedSet decorator that stays in sync with the multimap values for a key.
+ */
+- @WeakOuter
+ private class WrappedSortedSet extends WrappedCollection implements SortedSet<V> {
+ WrappedSortedSet(@Nullable K key, SortedSet<V> delegate, @Nullable WrappedCollection ancestor) {
+ super(key, delegate, ancestor);
+@@ -696,7 +692,6 @@
+ }
+
+ @GwtIncompatible("NavigableSet")
+- @WeakOuter
+ class WrappedNavigableSet extends WrappedSortedSet implements NavigableSet<V> {
+ WrappedNavigableSet(
+ @Nullable K key, NavigableSet<V> delegate, @Nullable WrappedCollection ancestor) {
+@@ -771,7 +766,6 @@
+ }
+
+ /** List decorator that stays in sync with the multimap values for a key. */
+- @WeakOuter
+ private class WrappedList extends WrappedCollection implements List<V> {
+ WrappedList(@Nullable K key, List<V> delegate, @Nullable WrappedCollection ancestor) {
+ super(key, delegate, ancestor);
+@@ -932,7 +926,6 @@
+ : new KeySet(map);
+ }
+
+- @WeakOuter
+ private class KeySet extends Maps.KeySet<K, Collection<V>> {
+ KeySet(final Map<K, Collection<V>> subMap) {
+ super(subMap);
+@@ -1001,7 +994,6 @@
+ }
+ }
+
+- @WeakOuter
+ private class SortedKeySet extends KeySet implements SortedSet<K> {
+
+ SortedKeySet(SortedMap<K, Collection<V>> subMap) {
+@@ -1044,7 +1036,6 @@
+ }
+
+ @GwtIncompatible("NavigableSet")
+- @WeakOuter
+ class NavigableKeySet extends SortedKeySet implements NavigableSet<K> {
+ NavigableKeySet(NavigableMap<K, Collection<V>> subMap) {
+ super(subMap);
+@@ -1254,7 +1245,6 @@
+ : new AsMap(map);
+ }
+
+- @WeakOuter
+ private class AsMap extends ViewCachingAbstractMap<K, Collection<V>> {
+ /**
+ * Usually the same as map, but smaller for the headMap(), tailMap(), or
+@@ -1342,7 +1332,6 @@
+ return Maps.immutableEntry(key, wrapCollection(key, entry.getValue()));
+ }
+
+- @WeakOuter
+ class AsMapEntries extends Maps.EntrySet<K, Collection<V>> {
+ @Override
+ Map<K, Collection<V>> map() {
+@@ -1398,7 +1387,6 @@
+ }
+ }
+
+- @WeakOuter
+ private class SortedAsMap extends AsMap implements SortedMap<K, Collection<V>> {
+ SortedAsMap(SortedMap<K, Collection<V>> submap) {
+ super(submap);
+--- guava-19.0.orig/guava/src/com/google/common/collect/AbstractMultimap.java 2015-12-09 15:56:41.000000000 -0500
++++ guava-19.0/guava/src/com/google/common/collect/AbstractMultimap.java 2016-05-19 09:39:54.462215607 -0500
+@@ -19,7 +19,6 @@
+ import static com.google.common.base.Preconditions.checkNotNull;
+
+ import com.google.common.annotations.GwtCompatible;
+-import com.google.j2objc.annotations.WeakOuter;
+
+ import java.util.AbstractCollection;
+ import java.util.Collection;
+@@ -117,7 +116,6 @@
+ }
+ }
+
+- @WeakOuter
+ private class Entries extends Multimaps.Entries<K, V> {
+ @Override
+ Multimap<K, V> multimap() {
+@@ -130,7 +128,6 @@
+ }
+ }
+
+- @WeakOuter
+ private class EntrySet extends Entries implements Set<Entry<K, V>> {
+ @Override
+ public int hashCode() {
+@@ -181,7 +178,6 @@
+ return new Values();
+ }
+
+- @WeakOuter
+ class Values extends AbstractCollection<V> {
+ @Override
+ public Iterator<V> iterator() {
+--- guava-19.0.orig/guava/src/com/google/common/collect/AbstractMultiset.java 2015-12-09 15:56:41.000000000 -0500
++++ guava-19.0/guava/src/com/google/common/collect/AbstractMultiset.java 2016-05-19 09:41:07.505506888 -0500
+@@ -20,7 +20,6 @@
+
+ import com.google.common.annotations.GwtCompatible;
+ import com.google.common.base.Objects;
+-import com.google.j2objc.annotations.WeakOuter;
+
+ import java.util.AbstractCollection;
+ import java.util.Collection;
+@@ -160,7 +159,6 @@
+ return new ElementSet();
+ }
+
+- @WeakOuter
+ class ElementSet extends Multisets.ElementSet<E> {
+ @Override
+ Multiset<E> multiset() {
+@@ -183,7 +181,6 @@
+ return result;
+ }
+
+- @WeakOuter
+ class EntrySet extends Multisets.EntrySet<E> {
+ @Override
+ Multiset<E> multiset() {
+--- guava-19.0.orig/guava/src/com/google/common/collect/AbstractSortedMultiset.java 2015-12-09 15:56:41.000000000 -0500
++++ guava-19.0/guava/src/com/google/common/collect/AbstractSortedMultiset.java 2016-05-19 09:43:28.125675391 -0500
+@@ -17,7 +17,6 @@
+ import static com.google.common.base.Preconditions.checkNotNull;
+
+ import com.google.common.annotations.GwtCompatible;
+-import com.google.j2objc.annotations.WeakOuter;
+
+ import java.util.Comparator;
+ import java.util.Iterator;
+@@ -126,7 +125,6 @@
+ }
+
+ SortedMultiset<E> createDescendingMultiset() {
+- @WeakOuter
+ class DescendingMultisetImpl extends DescendingMultiset<E> {
+ @Override
+ SortedMultiset<E> forwardMultiset() {
+--- guava-19.0.orig/guava/src/com/google/common/collect/AbstractTable.java 2015-12-09 15:56:41.000000000 -0500
++++ guava-19.0/guava/src/com/google/common/collect/AbstractTable.java 2016-05-19 09:44:47.208687572 -0500
+@@ -15,7 +15,6 @@
+ package com.google.common.collect;
+
+ import com.google.common.annotations.GwtCompatible;
+-import com.google.j2objc.annotations.WeakOuter;
+
+ import java.util.AbstractCollection;
+ import java.util.AbstractSet;
+@@ -118,7 +117,6 @@
+
+ abstract Iterator<Table.Cell<R, C, V>> cellIterator();
+
+- @WeakOuter
+ class CellSet extends AbstractSet<Cell<R, C, V>> {
+ @Override
+ public boolean contains(Object o) {
+@@ -181,7 +179,6 @@
+ };
+ }
+
+- @WeakOuter
+ class Values extends AbstractCollection<V> {
+ @Override
+ public Iterator<V> iterator() {
+--- guava-19.0.orig/guava/src/com/google/common/collect/ArrayTable.java 2015-12-09 15:56:41.000000000 -0500
++++ guava-19.0/guava/src/com/google/common/collect/ArrayTable.java 2016-05-19 09:45:50.129113305 -0500
+@@ -25,7 +25,6 @@
+ import com.google.common.annotations.GwtIncompatible;
+ import com.google.common.base.Objects;
+ import com.google.common.collect.Maps.IteratorBasedAbstractMap;
+-import com.google.j2objc.annotations.WeakOuter;
+
+ import java.io.Serializable;
+ import java.lang.reflect.Array;
+@@ -627,7 +626,6 @@
+ return (map == null) ? columnMap = new ColumnMap() : map;
+ }
+
+- @WeakOuter
+ private class ColumnMap extends ArrayMap<C, Map<R, V>> {
+ private ColumnMap() {
+ super(columnKeyToIndex);
+@@ -717,7 +715,6 @@
+ return (map == null) ? rowMap = new RowMap() : map;
+ }
+
+- @WeakOuter
+ private class RowMap extends ArrayMap<R, Map<C, V>> {
+ private RowMap() {
+ super(rowKeyToIndex);
+--- guava-19.0.orig/guava/src/com/google/common/collect/ConcurrentHashMultiset.java 2015-12-09 15:56:41.000000000 -0500
++++ guava-19.0/guava/src/com/google/common/collect/ConcurrentHashMultiset.java 2016-05-19 09:47:18.861679573 -0500
+@@ -26,7 +26,6 @@
+ import com.google.common.collect.Serialization.FieldSetter;
+ import com.google.common.math.IntMath;
+ import com.google.common.primitives.Ints;
+-import com.google.j2objc.annotations.WeakOuter;
+
+ import java.io.IOException;
+ import java.io.ObjectInputStream;
+@@ -553,7 +552,6 @@
+ countMap.clear();
+ }
+
+- @WeakOuter
+ private class EntrySet extends AbstractMultiset<E>.EntrySet {
+ @Override
+ ConcurrentHashMultiset<E> multiset() {
+--- guava-19.0.orig/guava/src/com/google/common/collect/DenseImmutableTable.java 2015-12-09 15:56:41.000000000 -0500
++++ guava-19.0/guava/src/com/google/common/collect/DenseImmutableTable.java 2016-05-19 09:48:37.121396465 -0500
+@@ -18,7 +18,6 @@
+
+ import com.google.common.annotations.GwtCompatible;
+ import com.google.common.collect.ImmutableMap.IteratorBasedImmutableMap;
+-import com.google.j2objc.annotations.WeakOuter;
+
+ import java.util.Map;
+ import java.util.Map.Entry;
+@@ -183,7 +182,6 @@
+ }
+ }
+
+- @WeakOuter
+ private final class RowMap extends ImmutableArrayMap<R, Map<C, V>> {
+ private RowMap() {
+ super(rowCounts.length);
+@@ -205,7 +203,6 @@
+ }
+ }
+
+- @WeakOuter
+ private final class ColumnMap extends ImmutableArrayMap<C, Map<R, V>> {
+ private ColumnMap() {
+ super(columnCounts.length);
+--- guava-19.0.orig/guava/src/com/google/common/collect/DescendingMultiset.java 2015-12-09 15:56:41.000000000 -0500
++++ guava-19.0/guava/src/com/google/common/collect/DescendingMultiset.java 2016-05-19 09:49:37.685264430 -0500
+@@ -17,7 +17,6 @@
+ package com.google.common.collect;
+
+ import com.google.common.annotations.GwtCompatible;
+-import com.google.j2objc.annotations.WeakOuter;
+
+ import java.util.Comparator;
+ import java.util.Iterator;
+@@ -115,7 +114,6 @@
+ }
+
+ Set<Entry<E>> createEntrySet() {
+- @WeakOuter
+ class EntrySetImpl extends Multisets.EntrySet<E> {
+ @Override
+ Multiset<E> multiset() {
+--- guava-19.0.orig/guava/src/com/google/common/collect/FilteredEntryMultimap.java 2015-12-09 15:56:41.000000000 -0500
++++ guava-19.0/guava/src/com/google/common/collect/FilteredEntryMultimap.java 2016-05-19 09:51:16.544029425 -0500
+@@ -25,7 +25,6 @@
+ import com.google.common.base.MoreObjects;
+ import com.google.common.base.Predicate;
+ import com.google.common.collect.Maps.ViewCachingAbstractMap;
+-import com.google.j2objc.annotations.WeakOuter;
+
+ import java.util.Collection;
+ import java.util.Collections;
+@@ -165,7 +164,6 @@
+ return changed;
+ }
+
+- @WeakOuter
+ class AsMap extends ViewCachingAbstractMap<K, Collection<V>> {
+ @Override
+ public boolean containsKey(@Nullable Object key) {
+@@ -217,7 +215,6 @@
+
+ @Override
+ Set<K> createKeySet() {
+- @WeakOuter
+ class KeySetImpl extends Maps.KeySet<K, Collection<V>> {
+ KeySetImpl() {
+ super(AsMap.this);
+@@ -243,7 +240,6 @@
+
+ @Override
+ Set<Entry<K, Collection<V>>> createEntrySet() {
+- @WeakOuter
+ class EntrySetImpl extends Maps.EntrySet<K, Collection<V>> {
+ @Override
+ Map<K, Collection<V>> map() {
+@@ -292,7 +288,6 @@
+
+ @Override
+ Collection<Collection<V>> createValues() {
+- @WeakOuter
+ class ValuesImpl extends Maps.Values<K, Collection<V>> {
+ ValuesImpl() {
+ super(AsMap.this);
+@@ -341,7 +336,6 @@
+ return new Keys();
+ }
+
+- @WeakOuter
+ class Keys extends Multimaps.Keys<K, V> {
+ Keys() {
+ super(FilteredEntryMultimap.this);
+--- guava-19.0.orig/guava/src/com/google/common/collect/FilteredKeyMultimap.java 2015-12-09 15:56:41.000000000 -0500
++++ guava-19.0/guava/src/com/google/common/collect/FilteredKeyMultimap.java 2016-05-19 09:52:20.991051280 -0500
+@@ -19,7 +19,6 @@
+
+ import com.google.common.annotations.GwtCompatible;
+ import com.google.common.base.Predicate;
+-import com.google.j2objc.annotations.WeakOuter;
+
+ import java.util.Collection;
+ import java.util.Collections;
+@@ -181,7 +180,6 @@
+ return new Entries();
+ }
+
+- @WeakOuter
+ class Entries extends ForwardingCollection<Entry<K, V>> {
+ @Override
+ protected Collection<Entry<K, V>> delegate() {
+--- guava-19.0.orig/guava/src/com/google/common/collect/FilteredMultimapValues.java 2015-12-09 15:56:41.000000000 -0500
++++ guava-19.0/guava/src/com/google/common/collect/FilteredMultimapValues.java 2016-05-19 09:53:28.564595322 -0500
+@@ -20,7 +20,6 @@
+ import com.google.common.base.Objects;
+ import com.google.common.base.Predicate;
+ import com.google.common.base.Predicates;
+-import com.google.j2objc.annotations.Weak;
+
+ import java.util.AbstractCollection;
+ import java.util.Collection;
+@@ -37,7 +36,7 @@
+ */
+ @GwtCompatible
+ final class FilteredMultimapValues<K, V> extends AbstractCollection<V> {
+- @Weak private final FilteredMultimap<K, V> multimap;
++ private final FilteredMultimap<K, V> multimap;
+
+ FilteredMultimapValues(FilteredMultimap<K, V> multimap) {
+ this.multimap = checkNotNull(multimap);
+--- guava-19.0.orig/guava/src/com/google/common/collect/HashBiMap.java 2015-12-09 15:56:41.000000000 -0500
++++ guava-19.0/guava/src/com/google/common/collect/HashBiMap.java 2016-05-19 09:54:43.367805276 -0500
+@@ -23,7 +23,6 @@
+ import com.google.common.annotations.GwtIncompatible;
+ import com.google.common.base.Objects;
+ import com.google.common.collect.Maps.IteratorBasedAbstractMap;
+-import com.google.j2objc.annotations.WeakOuter;
+
+ import java.io.IOException;
+ import java.io.ObjectInputStream;
+@@ -428,7 +427,6 @@
+ return new KeySet();
+ }
+
+- @WeakOuter
+ private final class KeySet extends Maps.KeySet<K, V> {
+ KeySet() {
+ super(HashBiMap.this);
+@@ -578,7 +576,6 @@
+ return new InverseKeySet();
+ }
+
+- @WeakOuter
+ private final class InverseKeySet extends Maps.KeySet<V, K> {
+ InverseKeySet() {
+ super(Inverse.this);
+--- guava-19.0.orig/guava/src/com/google/common/collect/ImmutableMap.java 2015-12-09 15:56:41.000000000 -0500
++++ guava-19.0/guava/src/com/google/common/collect/ImmutableMap.java 2016-05-19 09:56:07.560581331 -0500
+@@ -22,7 +22,6 @@
+
+ import com.google.common.annotations.Beta;
+ import com.google.common.annotations.GwtCompatible;
+-import com.google.j2objc.annotations.WeakOuter;
+
+ import java.io.Serializable;
+ import java.util.Arrays;
+@@ -371,7 +370,6 @@
+
+ @Override
+ ImmutableSet<Entry<K, V>> createEntrySet() {
+- @WeakOuter
+ class EntrySetImpl extends ImmutableMapEntrySet<K, V> {
+ @Override
+ ImmutableMap<K, V> map() {
+@@ -533,7 +531,6 @@
+ : result;
+ }
+
+- @WeakOuter
+ private final class MapViewOfValuesAsSingletonSets
+ extends IteratorBasedImmutableMap<K, ImmutableSet<V>> {
+
+--- guava-19.0.orig/guava/src/com/google/common/collect/ImmutableMapEntrySet.java 2015-12-09 15:56:41.000000000 -0500
++++ guava-19.0/guava/src/com/google/common/collect/ImmutableMapEntrySet.java 2016-05-19 09:57:20.973855515 -0500
+@@ -18,7 +18,6 @@
+
+ import com.google.common.annotations.GwtCompatible;
+ import com.google.common.annotations.GwtIncompatible;
+-import com.google.j2objc.annotations.Weak;
+
+ import java.io.Serializable;
+ import java.util.Map.Entry;
+@@ -34,7 +33,7 @@
+ @GwtCompatible(emulated = true)
+ abstract class ImmutableMapEntrySet<K, V> extends ImmutableSet<Entry<K, V>> {
+ static final class RegularEntrySet<K, V> extends ImmutableMapEntrySet<K, V> {
+- @Weak private final transient ImmutableMap<K, V> map;
++ private final transient ImmutableMap<K, V> map;
+ private final transient Entry<K, V>[] entries;
+
+ RegularEntrySet(ImmutableMap<K, V> map, Entry<K, V>[] entries) {
+--- guava-19.0.orig/guava/src/com/google/common/collect/ImmutableMapKeySet.java 2015-12-09 15:56:41.000000000 -0500
++++ guava-19.0/guava/src/com/google/common/collect/ImmutableMapKeySet.java 2016-05-19 09:59:26.654714374 -0500
+@@ -18,7 +18,6 @@
+
+ import com.google.common.annotations.GwtCompatible;
+ import com.google.common.annotations.GwtIncompatible;
+-import com.google.j2objc.annotations.Weak;
+
+ import java.io.Serializable;
+
+@@ -32,7 +31,7 @@
+ */
+ @GwtCompatible(emulated = true)
+ final class ImmutableMapKeySet<K, V> extends ImmutableSet.Indexed<K> {
+- @Weak private final ImmutableMap<K, V> map;
++ private final ImmutableMap<K, V> map;
+
+ ImmutableMapKeySet(ImmutableMap<K, V> map) {
+ this.map = map;
+--- guava-19.0.orig/guava/src/com/google/common/collect/ImmutableMapValues.java 2015-12-09 15:56:41.000000000 -0500
++++ guava-19.0/guava/src/com/google/common/collect/ImmutableMapValues.java 2016-05-19 10:00:24.462043054 -0500
+@@ -18,7 +18,6 @@
+
+ import com.google.common.annotations.GwtCompatible;
+ import com.google.common.annotations.GwtIncompatible;
+-import com.google.j2objc.annotations.Weak;
+
+ import java.io.Serializable;
+ import java.util.Map.Entry;
+@@ -33,7 +32,7 @@
+ */
+ @GwtCompatible(emulated = true)
+ final class ImmutableMapValues<K, V> extends ImmutableCollection<V> {
+- @Weak private final ImmutableMap<K, V> map;
++ private final ImmutableMap<K, V> map;
+
+ ImmutableMapValues(ImmutableMap<K, V> map) {
+ this.map = map;
+--- guava-19.0.orig/guava/src/com/google/common/collect/ImmutableMultimap.java 2015-12-09 15:56:41.000000000 -0500
++++ guava-19.0/guava/src/com/google/common/collect/ImmutableMultimap.java 2016-05-19 10:02:28.049665310 -0500
+@@ -22,8 +22,6 @@
+ import com.google.common.annotations.Beta;
+ import com.google.common.annotations.GwtCompatible;
+ import com.google.common.annotations.GwtIncompatible;
+-import com.google.j2objc.annotations.Weak;
+-import com.google.j2objc.annotations.WeakOuter;
+
+ import java.io.Serializable;
+ import java.util.Arrays;
+@@ -514,7 +512,7 @@
+ }
+
+ private static class EntryCollection<K, V> extends ImmutableCollection<Entry<K, V>> {
+- @Weak final ImmutableMultimap<K, V> multimap;
++ final ImmutableMultimap<K, V> multimap;
+
+ EntryCollection(ImmutableMultimap<K, V> multimap) {
+ this.multimap = multimap;
+@@ -596,7 +594,6 @@
+ }
+
+ @SuppressWarnings("serial") // Uses writeReplace, not default serialization
+- @WeakOuter
+ class Keys extends ImmutableMultiset<K> {
+ @Override
+ public boolean contains(@Nullable Object object) {
+@@ -657,7 +654,7 @@
+ }
+
+ private static final class Values<K, V> extends ImmutableCollection<V> {
+- @Weak private final transient ImmutableMultimap<K, V> multimap;
++ private final transient ImmutableMultimap<K, V> multimap;
+
+ Values(ImmutableMultimap<K, V> multimap) {
+ this.multimap = multimap;
+--- guava-19.0.orig/guava/src/com/google/common/collect/ImmutableMultiset.java 2015-12-09 15:56:41.000000000 -0500
++++ guava-19.0/guava/src/com/google/common/collect/ImmutableMultiset.java 2016-05-19 10:03:33.903288831 -0500
+@@ -21,7 +21,6 @@
+ import com.google.common.annotations.GwtCompatible;
+ import com.google.common.annotations.GwtIncompatible;
+ import com.google.common.collect.Multiset.Entry;
+-import com.google.j2objc.annotations.WeakOuter;
+
+ import java.io.Serializable;
+ import java.util.Arrays;
+@@ -317,7 +316,6 @@
+
+ abstract Entry<E> getEntry(int index);
+
+- @WeakOuter
+ private final class EntrySet extends ImmutableSet.Indexed<Entry<E>> {
+ @Override
+ boolean isPartialView() {
+--- guava-19.0.orig/guava/src/com/google/common/collect/ImmutableSetMultimap.java 2015-12-09 15:56:41.000000000 -0500
++++ guava-19.0/guava/src/com/google/common/collect/ImmutableSetMultimap.java 2016-05-19 10:04:36.077082400 -0500
+@@ -22,7 +22,6 @@
+ import com.google.common.annotations.GwtCompatible;
+ import com.google.common.annotations.GwtIncompatible;
+ import com.google.common.base.MoreObjects;
+-import com.google.j2objc.annotations.Weak;
+
+ import java.io.IOException;
+ import java.io.InvalidObjectException;
+@@ -430,7 +429,7 @@
+ }
+
+ private static final class EntrySet<K, V> extends ImmutableSet<Entry<K, V>> {
+- @Weak private final transient ImmutableSetMultimap<K, V> multimap;
++ private final transient ImmutableSetMultimap<K, V> multimap;
+
+ EntrySet(ImmutableSetMultimap<K, V> multimap) {
+ this.multimap = multimap;
+--- guava-19.0.orig/guava/src/com/google/common/collect/ImmutableSortedMap.java 2015-12-09 15:56:41.000000000 -0500
++++ guava-19.0/guava/src/com/google/common/collect/ImmutableSortedMap.java 2016-05-19 10:06:02.496422230 -0500
+@@ -24,7 +24,6 @@
+ import com.google.common.annotations.Beta;
+ import com.google.common.annotations.GwtCompatible;
+ import com.google.common.collect.ImmutableMap.Builder;
+-import com.google.j2objc.annotations.WeakOuter;
+
+ import java.util.Arrays;
+ import java.util.Comparator;
+@@ -546,7 +545,6 @@
+
+ @Override
+ ImmutableSet<Entry<K, V>> createEntrySet() {
+- @WeakOuter
+ class EntrySet extends ImmutableMapEntrySet<K, V> {
+ @Override
+ public UnmodifiableIterator<Entry<K, V>> iterator() {
+--- guava-19.0.orig/guava/src/com/google/common/collect/LinkedHashMultimap.java 2015-12-09 15:56:41.000000000 -0500
++++ guava-19.0/guava/src/com/google/common/collect/LinkedHashMultimap.java 2016-05-19 10:07:37.708689066 -0500
+@@ -23,7 +23,6 @@
+ import com.google.common.annotations.GwtIncompatible;
+ import com.google.common.annotations.VisibleForTesting;
+ import com.google.common.base.Objects;
+-import com.google.j2objc.annotations.WeakOuter;
+
+ import java.io.IOException;
+ import java.io.ObjectInputStream;
+@@ -304,7 +303,6 @@
+ }
+
+ @VisibleForTesting
+- @WeakOuter
+ final class ValueSet extends Sets.ImprovedAbstractSet<V> implements ValueSetLink<K, V> {
+ /*
+ * We currently use a fixed load factor of 1.0, a bit higher than normal to reduce memory
+--- guava-19.0.orig/guava/src/com/google/common/collect/LinkedListMultimap.java 2015-12-09 15:56:41.000000000 -0500
++++ guava-19.0/guava/src/com/google/common/collect/LinkedListMultimap.java 2016-05-19 10:09:24.760408792 -0500
+@@ -23,7 +23,6 @@
+
+ import com.google.common.annotations.GwtCompatible;
+ import com.google.common.annotations.GwtIncompatible;
+-import com.google.j2objc.annotations.WeakOuter;
+
+ import java.io.IOException;
+ import java.io.ObjectInputStream;
+@@ -698,7 +697,6 @@
+
+ @Override
+ Set<K> createKeySet() {
+- @WeakOuter
+ class KeySetImpl extends Sets.ImprovedAbstractSet<K> {
+ @Override
+ public int size() {
+@@ -739,7 +737,6 @@
+
+ @Override
+ List<V> createValues() {
+- @WeakOuter
+ class ValuesImpl extends AbstractSequentialList<V> {
+ @Override
+ public int size() {
+@@ -790,7 +787,6 @@
+
+ @Override
+ List<Entry<K, V>> createEntries() {
+- @WeakOuter
+ class EntriesImpl extends AbstractSequentialList<Entry<K, V>> {
+ @Override
+ public int size() {
+--- guava-19.0.orig/guava/src/com/google/common/collect/MapConstraints.java 2015-12-09 15:56:41.000000000 -0500
++++ guava-19.0/guava/src/com/google/common/collect/MapConstraints.java 2016-05-19 10:10:41.436865515 -0500
+@@ -20,7 +20,6 @@
+
+ import com.google.common.annotations.Beta;
+ import com.google.common.annotations.GwtCompatible;
+-import com.google.j2objc.annotations.WeakOuter;
+
+ import java.io.Serializable;
+ import java.util.Collection;
+@@ -438,7 +437,6 @@
+ if (result == null) {
+ final Map<K, Collection<V>> asMapDelegate = delegate.asMap();
+
+- @WeakOuter
+ class AsMap extends ForwardingMap<K, Collection<V>> {
+ Set<Entry<K, Collection<V>>> entrySet;
+ Collection<Collection<V>> values;
+--- guava-19.0.orig/guava/src/com/google/common/collect/MapMakerInternalMap.java 2015-12-09 15:56:41.000000000 -0500
++++ guava-19.0/guava/src/com/google/common/collect/MapMakerInternalMap.java 2016-05-19 10:12:40.778017337 -0500
+@@ -25,8 +25,6 @@
+ import com.google.common.collect.MapMaker.RemovalListener;
+ import com.google.common.collect.MapMaker.RemovalNotification;
+ import com.google.common.primitives.Ints;
+-import com.google.j2objc.annotations.Weak;
+-import com.google.j2objc.annotations.WeakOuter;
+
+ import java.io.IOException;
+ import java.io.ObjectInputStream;
+@@ -2023,7 +2021,7 @@
+ * comments.
+ */
+
+- @Weak final MapMakerInternalMap<K, V> map;
++ final MapMakerInternalMap<K, V> map;
+
+ /**
+ * The number of live elements in this segment's region. This does not include unset elements
+@@ -3784,7 +3782,6 @@
+ }
+ }
+
+- @WeakOuter
+ final class KeySet extends SafeToArraySet<K> {
+
+ @Override
+@@ -3818,7 +3815,6 @@
+ }
+ }
+
+- @WeakOuter
+ final class Values extends AbstractCollection<V> {
+
+ @Override
+@@ -3860,7 +3856,6 @@
+ }
+ }
+
+- @WeakOuter
+ final class EntrySet extends SafeToArraySet<Entry<K, V>> {
+
+ @Override
+--- guava-19.0.orig/guava/src/com/google/common/collect/Maps.java 2015-12-09 15:56:41.000000000 -0500
++++ guava-19.0/guava/src/com/google/common/collect/Maps.java 2016-05-19 10:15:32.973393392 -0500
+@@ -37,8 +37,6 @@
+ import com.google.common.base.Predicates;
+ import com.google.common.collect.MapDifference.ValueDifference;
+ import com.google.common.primitives.Ints;
+-import com.google.j2objc.annotations.Weak;
+-import com.google.j2objc.annotations.WeakOuter;
+
+ import java.io.Serializable;
+ import java.util.AbstractCollection;
+@@ -826,7 +824,6 @@
+
+ @Override
+ protected Set<Entry<K, V>> createEntrySet() {
+- @WeakOuter
+ class EntrySetImpl extends EntrySet<K, V> {
+ @Override
+ Map<K, V> map() {
+@@ -2797,7 +2794,6 @@
+ return new EntrySet();
+ }
+
+- @WeakOuter
+ private class EntrySet extends ForwardingSet<Entry<K, V>> {
+ @Override
+ protected Set<Entry<K, V>> delegate() {
+@@ -2831,7 +2827,6 @@
+ return new KeySet();
+ }
+
+- @WeakOuter
+ class KeySet extends Maps.KeySet<K, V> {
+ KeySet() {
+ super(FilteredEntryMap.this);
+@@ -2907,7 +2902,6 @@
+ return new SortedKeySet();
+ }
+
+- @WeakOuter
+ class SortedKeySet extends KeySet implements SortedSet<K> {
+ @Override
+ public Comparator<? super K> comparator() {
+@@ -3611,7 +3605,7 @@
+ }
+
+ static class KeySet<K, V> extends Sets.ImprovedAbstractSet<K> {
+- @Weak final Map<K, V> map;
++ final Map<K, V> map;
+
+ KeySet(Map<K, V> map) {
+ this.map = checkNotNull(map);
+@@ -3791,7 +3785,7 @@
+ }
+
+ static class Values<K, V> extends AbstractCollection<V> {
+- @Weak final Map<K, V> map;
++ final Map<K, V> map;
+
+ Values(Map<K, V> map) {
+ this.map = checkNotNull(map);
+@@ -4056,7 +4050,6 @@
+ abstract Iterator<Entry<K, V>> entryIterator();
+
+ Set<Entry<K, V>> createEntrySet() {
+- @WeakOuter
+ class EntrySetImpl extends EntrySet<K, V> {
+ @Override
+ Map<K, V> map() {
+--- guava-19.0.orig/guava/src/com/google/common/collect/MinMaxPriorityQueue.java 2015-12-09 15:56:41.000000000 -0500
++++ guava-19.0/guava/src/com/google/common/collect/MinMaxPriorityQueue.java 2016-05-19 10:16:47.013305285 -0500
+@@ -25,8 +25,6 @@
+ import com.google.common.annotations.Beta;
+ import com.google.common.annotations.VisibleForTesting;
+ import com.google.common.math.IntMath;
+-import com.google.j2objc.annotations.Weak;
+-import com.google.j2objc.annotations.WeakOuter;
+
+ import java.util.AbstractQueue;
+ import java.util.ArrayDeque;
+@@ -503,10 +501,9 @@
+ * array for storage, but for efficiency's sake they are stored interleaved on
+ * alternate heap levels in the same array (MMPQ.queue).
+ */
+- @WeakOuter
+ private class Heap {
+ final Ordering<E> ordering;
+- @Weak Heap otherHeap;
++ Heap otherHeap;
+
+ Heap(Ordering<E> ordering) {
+ this.ordering = ordering;
+--- guava-19.0.orig/guava/src/com/google/common/collect/Multimaps.java 2015-12-09 15:56:41.000000000 -0500
++++ guava-19.0/guava/src/com/google/common/collect/Multimaps.java 2016-05-19 10:18:54.680396177 -0500
+@@ -28,8 +28,6 @@
+ import com.google.common.base.Predicates;
+ import com.google.common.base.Supplier;
+ import com.google.common.collect.Maps.EntryTransformer;
+-import com.google.j2objc.annotations.Weak;
+-import com.google.j2objc.annotations.WeakOuter;
+
+ import java.io.IOException;
+ import java.io.ObjectInputStream;
+@@ -1552,7 +1550,7 @@
+ }
+
+ static class Keys<K, V> extends AbstractMultiset<K> {
+- @Weak final Multimap<K, V> multimap;
++ final Multimap<K, V> multimap;
+
+ Keys(Multimap<K, V> multimap) {
+ this.multimap = multimap;
+@@ -1589,7 +1587,6 @@
+ return new KeysEntrySet();
+ }
+
+- @WeakOuter
+ class KeysEntrySet extends Multisets.EntrySet<K> {
+ @Override
+ Multiset<K> multiset() {
+@@ -1727,7 +1724,7 @@
+ * A skeleton implementation of {@link Multimap#asMap()}.
+ */
+ static final class AsMap<K, V> extends Maps.ViewCachingAbstractMap<K, Collection<V>> {
+- @Weak private final Multimap<K, V> multimap;
++ private final Multimap<K, V> multimap;
+
+ AsMap(Multimap<K, V> multimap) {
+ this.multimap = checkNotNull(multimap);
+@@ -1747,7 +1744,6 @@
+ multimap.keySet().remove(key);
+ }
+
+- @WeakOuter
+ class EntrySet extends Maps.EntrySet<K, Collection<V>> {
+ @Override
+ Map<K, Collection<V>> map() {
+--- guava-19.0.orig/guava/src/com/google/common/collect/RegularImmutableAsList.java 2015-12-09 15:56:41.000000000 -0500
++++ guava-19.0/guava/src/com/google/common/collect/RegularImmutableAsList.java 2016-05-19 10:20:03.737205001 -0500
+@@ -18,7 +18,6 @@
+
+ import com.google.common.annotations.GwtCompatible;
+ import com.google.common.annotations.GwtIncompatible;
+-import com.google.j2objc.annotations.Weak;
+
+ /**
+ * An {@link ImmutableAsList} implementation specialized for when the delegate collection is
+@@ -29,7 +28,7 @@
+ @GwtCompatible(emulated = true)
+ @SuppressWarnings("serial") // uses writeReplace, not default serialization
+ class RegularImmutableAsList<E> extends ImmutableAsList<E> {
+- @Weak private final ImmutableCollection<E> delegate;
++ private final ImmutableCollection<E> delegate;
+ private final ImmutableList<? extends E> delegateList;
+
+ RegularImmutableAsList(ImmutableCollection<E> delegate, ImmutableList<? extends E> delegateList) {
+--- guava-19.0.orig/guava/src/com/google/common/collect/RegularImmutableBiMap.java 2015-12-09 15:56:41.000000000 -0500
++++ guava-19.0/guava/src/com/google/common/collect/RegularImmutableBiMap.java 2016-05-19 10:21:40.576063324 -0500
+@@ -23,7 +23,6 @@
+
+ import com.google.common.annotations.GwtCompatible;
+ import com.google.common.collect.ImmutableMapEntry.NonTerminalImmutableBiMapEntry;
+-import com.google.j2objc.annotations.WeakOuter;
+
+ import java.io.Serializable;
+
+@@ -206,7 +205,6 @@
+ return new InverseEntrySet();
+ }
+
+- @WeakOuter
+ final class InverseEntrySet extends ImmutableMapEntrySet<V, K> {
+ @Override
+ ImmutableMap<V, K> map() {
+--- guava-19.0.orig/guava/src/com/google/common/collect/RegularImmutableMultiset.java 2015-12-09 15:56:41.000000000 -0500
++++ guava-19.0/guava/src/com/google/common/collect/RegularImmutableMultiset.java 2016-05-19 10:22:42.846519085 -0500
+@@ -20,7 +20,6 @@
+ import com.google.common.base.Objects;
+ import com.google.common.collect.Multisets.ImmutableEntry;
+ import com.google.common.primitives.Ints;
+-import com.google.j2objc.annotations.WeakOuter;
+
+ import java.util.Collection;
+
+@@ -141,7 +140,6 @@
+ return (result == null) ? elementSet = new ElementSet() : result;
+ }
+
+- @WeakOuter
+ private final class ElementSet extends ImmutableSet.Indexed<E> {
+
+ @Override
+--- guava-19.0.orig/guava/src/com/google/common/collect/RegularImmutableTable.java 2015-12-09 15:56:41.000000000 -0500
++++ guava-19.0/guava/src/com/google/common/collect/RegularImmutableTable.java 2016-05-19 10:23:44.100355157 -0500
+@@ -18,7 +18,6 @@
+
+ import com.google.common.annotations.GwtCompatible;
+ import com.google.common.collect.Table.Cell;
+-import com.google.j2objc.annotations.WeakOuter;
+
+ import java.util.Collections;
+ import java.util.Comparator;
+@@ -45,7 +44,6 @@
+ return isEmpty() ? ImmutableSet.<Cell<R, C, V>>of() : new CellSet();
+ }
+
+- @WeakOuter
+ private final class CellSet extends ImmutableSet.Indexed<Cell<R, C, V>> {
+ @Override
+ public int size() {
+@@ -80,7 +78,6 @@
+ return isEmpty() ? ImmutableList.<V>of() : new Values();
+ }
+
+- @WeakOuter
+ private final class Values extends ImmutableList<V> {
+ @Override
+ public int size() {
+--- guava-19.0.orig/guava/src/com/google/common/collect/SortedMultisets.java 2015-12-09 15:56:41.000000000 -0500
++++ guava-19.0/guava/src/com/google/common/collect/SortedMultisets.java 2016-05-19 10:24:45.397522561 -0500
+@@ -22,7 +22,6 @@
+ import com.google.common.annotations.GwtCompatible;
+ import com.google.common.annotations.GwtIncompatible;
+ import com.google.common.collect.Multiset.Entry;
+-import com.google.j2objc.annotations.Weak;
+
+ import java.util.Comparator;
+ import java.util.Iterator;
+@@ -46,7 +45,7 @@
+ * A skeleton implementation for {@link SortedMultiset#elementSet}.
+ */
+ static class ElementSet<E> extends Multisets.ElementSet<E> implements SortedSet<E> {
+- @Weak private final SortedMultiset<E> multiset;
++ private final SortedMultiset<E> multiset;
+
+ ElementSet(SortedMultiset<E> multiset) {
+ this.multiset = multiset;
+--- guava-19.0.orig/guava/src/com/google/common/collect/StandardRowSortedTable.java 2015-12-09 15:56:41.000000000 -0500
++++ guava-19.0/guava/src/com/google/common/collect/StandardRowSortedTable.java 2016-05-19 10:26:10.123607293 -0500
+@@ -20,7 +20,6 @@
+
+ import com.google.common.annotations.GwtCompatible;
+ import com.google.common.base.Supplier;
+-import com.google.j2objc.annotations.WeakOuter;
+
+ import java.util.Comparator;
+ import java.util.Map;
+@@ -91,7 +90,6 @@
+ return new RowSortedMap();
+ }
+
+- @WeakOuter
+ private class RowSortedMap extends RowMap implements SortedMap<R, Map<C, V>> {
+ @Override
+ public SortedSet<R> keySet() {
+--- guava-19.0.orig/guava/src/com/google/common/collect/StandardTable.java 2015-12-09 15:56:41.000000000 -0500
++++ guava-19.0/guava/src/com/google/common/collect/StandardTable.java 2016-05-19 10:29:18.411573006 -0500
+@@ -31,7 +31,6 @@
+ import com.google.common.collect.Maps.IteratorBasedAbstractMap;
+ import com.google.common.collect.Maps.ViewCachingAbstractMap;
+ import com.google.common.collect.Sets.ImprovedAbstractSet;
+-import com.google.j2objc.annotations.WeakOuter;
+
+ import java.io.Serializable;
+ import java.util.Collection;
+@@ -199,7 +198,6 @@
+ * Abstract set whose {@code isEmpty()} returns whether the table is empty and
+ * whose {@code clear()} clears all table mappings.
+ */
+- @WeakOuter
+ private abstract class TableSet<T> extends ImprovedAbstractSet<T> {
+ @Override
+ public boolean isEmpty() {
+@@ -450,7 +448,6 @@
+ return new EntrySet();
+ }
+
+- @WeakOuter
+ private class EntrySet extends ImprovedAbstractSet<Entry<R, V>> {
+ @Override
+ public Iterator<Entry<R, V>> iterator() {
+@@ -510,7 +507,6 @@
+ while (iterator.hasNext()) {
+ final Entry<R, Map<C, V>> entry = iterator.next();
+ if (entry.getValue().containsKey(columnKey)) {
+- @WeakOuter
+ class EntryImpl extends AbstractMapEntry<R, V> {
+ @Override
+ public R getKey() {
+@@ -539,7 +535,6 @@
+ return new KeySet();
+ }
+
+- @WeakOuter
+ private class KeySet extends Maps.KeySet<R, V> {
+ KeySet() {
+ super(Column.this);
+@@ -566,7 +561,6 @@
+ return new Values();
+ }
+
+- @WeakOuter
+ private class Values extends Maps.Values<R, V> {
+ Values() {
+ super(Column.this);
+@@ -611,7 +605,6 @@
+ return (result == null) ? columnKeySet = new ColumnKeySet() : result;
+ }
+
+- @WeakOuter
+ private class ColumnKeySet extends TableSet<C> {
+ @Override
+ public Iterator<C> iterator() {
+@@ -740,7 +733,6 @@
+ return new RowMap();
+ }
+
+- @WeakOuter
+ class RowMap extends ViewCachingAbstractMap<R, Map<C, V>> {
+ @Override
+ public boolean containsKey(Object key) {
+@@ -764,7 +756,6 @@
+ return new EntrySet();
+ }
+
+- @WeakOuter
+ class EntrySet extends TableSet<Entry<R, Map<C, V>>> {
+ @Override
+ public Iterator<Entry<R, Map<C, V>>> iterator() {
+@@ -815,7 +806,6 @@
+ return (result == null) ? columnMap = new ColumnMap() : result;
+ }
+
+- @WeakOuter
+ private class ColumnMap extends ViewCachingAbstractMap<C, Map<R, V>> {
+ // The cast to C occurs only when the key is in the map, implying that it
+ // has the correct type.
+@@ -850,7 +840,6 @@
+ return new ColumnMapValues();
+ }
+
+- @WeakOuter
+ class ColumnMapEntrySet extends TableSet<Entry<C, Map<R, V>>> {
+ @Override
+ public Iterator<Entry<C, Map<R, V>>> iterator() {
+@@ -920,7 +909,6 @@
+ }
+ }
+
+- @WeakOuter
+ private class ColumnMapValues extends Maps.Values<C, Map<R, V>> {
+ ColumnMapValues() {
+ super(ColumnMap.this);
+--- guava-19.0.orig/guava/src/com/google/common/collect/WellBehavedMap.java 2015-12-09 15:56:41.000000000 -0500
++++ guava-19.0/guava/src/com/google/common/collect/WellBehavedMap.java 2016-05-19 10:30:22.951923872 -0500
+@@ -17,7 +17,6 @@
+ package com.google.common.collect;
+
+ import com.google.common.annotations.GwtCompatible;
+-import com.google.j2objc.annotations.WeakOuter;
+
+ import java.util.Iterator;
+ import java.util.Map;
+@@ -67,7 +66,6 @@
+ return entrySet = new EntrySet();
+ }
+
+- @WeakOuter
+ private final class EntrySet extends Maps.EntrySet<K, V> {
+ @Override
+ Map<K, V> map() {
+--- guava-19.0.orig/guava/src/com/google/common/eventbus/Subscriber.java 2015-12-09 15:56:41.000000000 -0500
++++ guava-19.0/guava/src/com/google/common/eventbus/Subscriber.java 2016-05-19 10:31:23.145808926 -0500
+@@ -19,7 +19,6 @@
+ import static com.google.common.base.Preconditions.checkNotNull;
+
+ import com.google.common.annotations.VisibleForTesting;
+-import com.google.j2objc.annotations.Weak;
+
+ import java.lang.reflect.InvocationTargetException;
+ import java.lang.reflect.Method;
+@@ -48,7 +47,7 @@
+ }
+
+ /** The event bus this subscriber belongs to. */
+- @Weak private EventBus bus;
++ private EventBus bus;
+
+ /** Object sporting the subscriber method. */
+ @VisibleForTesting
+--- guava-19.0.orig/guava/src/com/google/common/eventbus/SubscriberRegistry.java 2015-12-09 15:56:41.000000000 -0500
++++ guava-19.0/guava/src/com/google/common/eventbus/SubscriberRegistry.java 2016-05-19 10:32:52.954992097 -0500
+@@ -35,7 +35,6 @@
+ import com.google.common.collect.Multimap;
+ import com.google.common.reflect.TypeToken;
+ import com.google.common.util.concurrent.UncheckedExecutionException;
+-import com.google.j2objc.annotations.Weak;
+
+ import java.lang.reflect.Method;
+ import java.util.Arrays;
+@@ -68,7 +67,7 @@
+ /**
+ * The event bus this registry belongs to.
+ */
+- @Weak private final EventBus bus;
++ private final EventBus bus;
+
+ SubscriberRegistry(EventBus bus) {
+ this.bus = checkNotNull(bus);
+--- guava-19.0.orig/guava/src/com/google/common/util/concurrent/AbstractIdleService.java 2015-12-09 15:56:41.000000000 -0500
++++ guava-19.0/guava/src/com/google/common/util/concurrent/AbstractIdleService.java 2016-05-19 10:34:32.320400334 -0500
+@@ -18,7 +18,6 @@
+
+ import com.google.common.annotations.Beta;
+ import com.google.common.base.Supplier;
+-import com.google.j2objc.annotations.WeakOuter;
+
+ import java.util.concurrent.Executor;
+ import java.util.concurrent.TimeUnit;
+@@ -40,7 +39,6 @@
+ /* Thread names will look like {@code "MyService STARTING"}. */
+ private final Supplier<String> threadNameSupplier = new ThreadNameSupplier();
+
+- @WeakOuter
+ private final class ThreadNameSupplier implements Supplier<String> {
+ @Override public String get() {
+ return serviceName() + " " + state();
+@@ -50,7 +48,6 @@
+ /* use AbstractService for state management */
+ private final Service delegate = new DelegateService();
+
+- @WeakOuter
+ private final class DelegateService extends AbstractService {
+ @Override protected final void doStart() {
+ MoreExecutors.renamingDecorator(executor(), threadNameSupplier)
+--- guava-19.0.orig/guava/src/com/google/common/util/concurrent/AbstractScheduledService.java 2015-12-09 15:56:41.000000000 -0500
++++ guava-19.0/guava/src/com/google/common/util/concurrent/AbstractScheduledService.java 2016-05-19 10:36:07.086021130 -0500
+@@ -22,7 +22,6 @@
+
+ import com.google.common.annotations.Beta;
+ import com.google.common.base.Supplier;
+-import com.google.j2objc.annotations.WeakOuter;
+
+ import java.util.concurrent.Callable;
+ import java.util.concurrent.Executor;
+@@ -163,7 +162,6 @@
+ /* use AbstractService for state management */
+ private final AbstractService delegate = new ServiceDelegate();
+
+- @WeakOuter
+ private final class ServiceDelegate extends AbstractService {
+
+ // A handle to the running task so that we can stop it when a shutdown has been requested.
+@@ -177,7 +175,6 @@
+ // lock.
+ private final ReentrantLock lock = new ReentrantLock();
+
+- @WeakOuter
+ class Task implements Runnable {
+ @Override public void run() {
+ lock.lock();
+@@ -307,7 +304,7 @@
+ * {@linkplain Service.State#TERMINATED fails}.
+ */
+ protected ScheduledExecutorService executor() {
+- @WeakOuter class ThreadFactoryImpl implements ThreadFactory {
++ class ThreadFactoryImpl implements ThreadFactory {
+ @Override public Thread newThread(Runnable runnable) {
+ return MoreExecutors.newThread(serviceName(), runnable);
+ }
+--- guava-19.0.orig/guava/src/com/google/common/util/concurrent/AbstractService.java 2015-12-09 15:56:41.000000000 -0500
++++ guava-19.0/guava/src/com/google/common/util/concurrent/AbstractService.java 2016-05-19 10:37:26.482352155 -0500
+@@ -30,7 +30,6 @@
+ import com.google.common.util.concurrent.ListenerCallQueue.Callback;
+ import com.google.common.util.concurrent.Monitor.Guard;
+ import com.google.common.util.concurrent.Service.State; // javadoc needs this
+-import com.google.j2objc.annotations.WeakOuter;
+
+ import java.util.ArrayList;
+ import java.util.Collections;
+@@ -99,7 +98,6 @@
+
+ private final Guard isStartable = new IsStartableGuard();
+
+- @WeakOuter
+ private final class IsStartableGuard extends Guard {
+ IsStartableGuard() {
+ super(AbstractService.this.monitor);
+@@ -112,7 +110,6 @@
+
+ private final Guard isStoppable = new IsStoppableGuard();
+
+- @WeakOuter
+ private final class IsStoppableGuard extends Guard {
+ IsStoppableGuard() {
+ super(AbstractService.this.monitor);
+@@ -125,7 +122,6 @@
+
+ private final Guard hasReachedRunning = new HasReachedRunningGuard();
+
+- @WeakOuter
+ private final class HasReachedRunningGuard extends Guard {
+ HasReachedRunningGuard() {
+ super(AbstractService.this.monitor);
+@@ -138,7 +134,6 @@
+
+ private final Guard isStopped = new IsStoppedGuard();
+
+- @WeakOuter
+ private final class IsStoppedGuard extends Guard {
+ IsStoppedGuard() {
+ super(AbstractService.this.monitor);
+--- guava-19.0.orig/guava/src/com/google/common/util/concurrent/AggregateFuture.java 2015-12-09 15:56:41.000000000 -0500
++++ guava-19.0/guava/src/com/google/common/util/concurrent/AggregateFuture.java 2016-05-19 10:38:34.039230292 -0500
+@@ -24,7 +24,6 @@
+ import com.google.common.annotations.GwtCompatible;
+ import com.google.common.annotations.GwtIncompatible;
+ import com.google.common.collect.ImmutableCollection;
+-import com.google.j2objc.annotations.WeakOuter;
+
+ import java.util.Set;
+ import java.util.concurrent.ExecutionException;
+@@ -87,7 +86,6 @@
+ runningState.init();
+ }
+
+- @WeakOuter
+ abstract class RunningState extends AggregateFutureState implements Runnable {
+ private ImmutableCollection<? extends ListenableFuture<? extends InputT>> futures;
+ private final boolean allMustSucceed;
+--- guava-19.0.orig/guava/src/com/google/common/util/concurrent/CollectionFuture.java 2015-12-09 15:56:41.000000000 -0500
++++ guava-19.0/guava/src/com/google/common/util/concurrent/CollectionFuture.java 2016-05-19 10:39:25.950164775 -0500
+@@ -23,7 +23,6 @@
+ import com.google.common.collect.ImmutableCollection;
+ import com.google.common.collect.ImmutableList;
+ import com.google.common.collect.Lists;
+-import com.google.j2objc.annotations.WeakOuter;
+
+ import java.util.List;
+
+@@ -35,7 +34,6 @@
+ @GwtCompatible
+ abstract class CollectionFuture<V, C> extends AggregateFuture<V, C> {
+
+- @WeakOuter
+ abstract class CollectionFutureRunningState extends RunningState {
+ private List<Optional<V>> values;
+
+--- guava-19.0.orig/guava/src/com/google/common/util/concurrent/CycleDetectingLockFactory.java 2015-12-09 15:56:41.000000000 -0500
++++ guava-19.0/guava/src/com/google/common/util/concurrent/CycleDetectingLockFactory.java 2016-05-19 10:40:56.809299427 -0500
+@@ -27,7 +27,6 @@
+ import com.google.common.collect.MapMaker;
+ import com.google.common.collect.Maps;
+ import com.google.common.collect.Sets;
+-import com.google.j2objc.annotations.Weak;
+
+ import java.util.ArrayList;
+ import java.util.Arrays;
+@@ -910,7 +909,7 @@
+ private class CycleDetectingReentrantReadLock
+ extends ReentrantReadWriteLock.ReadLock {
+
+- @Weak final CycleDetectingReentrantReadWriteLock readWriteLock;
++ final CycleDetectingReentrantReadWriteLock readWriteLock;
+
+ CycleDetectingReentrantReadLock(
+ CycleDetectingReentrantReadWriteLock readWriteLock) {
+@@ -972,7 +971,7 @@
+ private class CycleDetectingReentrantWriteLock
+ extends ReentrantReadWriteLock.WriteLock {
+
+- @Weak final CycleDetectingReentrantReadWriteLock readWriteLock;
++ final CycleDetectingReentrantReadWriteLock readWriteLock;
+
+ CycleDetectingReentrantWriteLock(
+ CycleDetectingReentrantReadWriteLock readWriteLock) {
+--- guava-19.0.orig/guava/src/com/google/common/util/concurrent/FuturesGetChecked.java 2015-12-09 15:56:41.000000000 -0500
++++ guava-19.0/guava/src/com/google/common/util/concurrent/FuturesGetChecked.java 2016-05-19 10:42:22.155355510 -0500
+@@ -21,7 +21,6 @@
+ import com.google.common.annotations.VisibleForTesting;
+ import com.google.common.base.Function;
+ import com.google.common.collect.Ordering;
+-import com.google.j2objc.annotations.J2ObjCIncompatible;
+
+ import org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement;
+
+@@ -99,7 +98,6 @@
+ return GetCheckedTypeValidatorHolder.WeakSetValidator.INSTANCE;
+ }
+
+- @J2ObjCIncompatible // ClassValue
+ @VisibleForTesting
+ static GetCheckedTypeValidator classValueValidator() {
+ return GetCheckedTypeValidatorHolder.ClassValueValidator.INSTANCE;
+@@ -119,7 +117,6 @@
+ static final GetCheckedTypeValidator BEST_VALIDATOR = getBestValidator();
+
+ @IgnoreJRERequirement // getChecked falls back to another implementation if necessary
+- @J2ObjCIncompatible // ClassValue
+ enum ClassValueValidator implements GetCheckedTypeValidator {
+ INSTANCE;
+
+--- guava-19.0.orig/guava/src/com/google/common/util/concurrent/Monitor.java 2015-12-09 15:56:41.000000000 -0500
++++ guava-19.0/guava/src/com/google/common/util/concurrent/Monitor.java 2016-05-19 10:43:17.539462828 -0500
+@@ -20,7 +20,6 @@
+
+ import com.google.common.annotations.Beta;
+ import com.google.common.base.Throwables;
+-import com.google.j2objc.annotations.Weak;
+
+ import java.util.concurrent.TimeUnit;
+ import java.util.concurrent.locks.Condition;
+@@ -304,7 +303,7 @@
+ @Beta
+ public abstract static class Guard {
+
+- @Weak final Monitor monitor;
++ final Monitor monitor;
+ final Condition condition;
+
+ @GuardedBy("monitor.lock")
+--- guava-19.0.orig/guava/src/com/google/common/util/concurrent/ServiceManager.java 2015-12-09 15:56:41.000000000 -0500
++++ guava-19.0/guava/src/com/google/common/util/concurrent/ServiceManager.java 2016-05-19 10:44:19.793252692 -0500
+@@ -51,7 +51,6 @@
+ import com.google.common.collect.SetMultimap;
+ import com.google.common.util.concurrent.ListenerCallQueue.Callback;
+ import com.google.common.util.concurrent.Service.State;
+-import com.google.j2objc.annotations.WeakOuter;
+
+ import java.lang.ref.WeakReference;
+ import java.util.ArrayList;
+@@ -433,7 +432,6 @@
+ */
+ final Monitor.Guard awaitHealthGuard = new AwaitHealthGuard();
+
+- @WeakOuter
+ final class AwaitHealthGuard extends Monitor.Guard {
+ AwaitHealthGuard() {
+ super(ServiceManagerState.this.monitor);
+@@ -453,7 +451,6 @@
+ */
+ final Monitor.Guard stoppedGuard = new StoppedGuard();
+
+- @WeakOuter
+ final class StoppedGuard extends Monitor.Guard {
+ StoppedGuard() {
+ super(ServiceManagerState.this.monitor);
+--- guava-19.0.orig/guava/src/com/google/common/util/concurrent/TrustedListenableFutureTask.java 2015-12-09 15:56:41.000000000 -0500
++++ guava-19.0/guava/src/com/google/common/util/concurrent/TrustedListenableFutureTask.java 2016-05-19 10:45:19.070513437 -0500
+@@ -20,7 +20,6 @@
+
+ import com.google.common.annotations.GwtCompatible;
+ import com.google.common.annotations.GwtIncompatible;
+-import com.google.j2objc.annotations.WeakOuter;
+
+ import java.util.concurrent.Callable;
+ import java.util.concurrent.Executors;
+@@ -93,7 +92,6 @@
+ }
+ }
+
+- @WeakOuter
+ private final class TrustedFutureInterruptibleTask extends InterruptibleTask {
+ private final Callable<V> callable;
+