1# TODO(user,user): Resolve cycles 2 3NAMESPACE com.google.common.collect.testing 4NAMESPACE com.google.common.collect.testing.google 5NAMESPACE com.google.common.escape 6NAMESPACE com.google.common.escape.testing 7NAMESPACE com.google.common.io 8NAMESPACE com.google.common.net 9NAMESPACE com.google.common.testing 10 11# Allow our dependencies for now. 12NAMESPACE junit.framework 13NAMESPACE org.junit 14 15# ***** REAL CYCLES ***** 16# Inverses (currently not solvable by weakening a reference) 17FIELD com.google.common.base.Converter.reverse 18 19# ***** FALSE POSITIVES ***** 20 21# The Runnable type is so generic that it produces too many false positives. 22TYPE java.lang.Runnable 23 24FIELD com.google.common.collect.AbstractBiMap.EntrySet.iterator.$.entry com.google.common.collect.AbstractBiMap.EntrySet.iterator.$.next.$ 25FIELD com.google.common.collect.AbstractMapBasedMultimap.map 26FIELD com.google.common.collect.AbstractMultimap.asMap com.google.common.collect.AbstractMapBasedMultimap.NavigableAsMap 27FIELD com.google.common.collect.AbstractMultimap.values com.google.common.collect.LinkedListMultimap.get.$ 28FIELD com.google.common.collect.AbstractMultimap.values com.google.common.collect.Multimaps.MapMultimap.get.$ 29FIELD com.google.common.collect.AbstractMultiset.entrySet com.google.common.collect.FilteredEntryMultimap.Keys.entrySet.$ 30FIELD com.google.common.collect.ConcurrentHashMultiset.countMap 31FIELD com.google.common.collect.ImmutableMultiset.asList 32FIELD com.google.common.collect.ImmutableRangeMap.ranges 33FIELD com.google.common.collect.ImmutableRangeSet.ranges 34FIELD com.google.common.collect.ImmutableSet.asList 35FIELD com.google.common.collect.Maps.FilteredMapValues.unfiltered 36FIELD com.google.common.collect.Sets.SubSet.inputSet 37FIELD com.google.common.collect.TreeTraverser.PostOrderNode.childIterator 38FIELD com.google.common.collect.TreeTraverser.PreOrderIterator.stack 39FIELD com.google.common.util.concurrent.AbstractFuture.Listener.executor com.google.common.util.concurrent.MoreExecutors.rejectionPropagatingExecutor.$ 40FIELD com.google.common.util.concurrent.AbstractService.listeners 41# Real cycle, but the runningState field is null'ed on completion of the future. 42FIELD com.google.common.util.concurrent.AggregateFuture.runningState 43FIELD java.util.AbstractMap.keySet com.google.common.collect.AbstractMapBasedMultimap.NavigableKeySet 44FIELD java.util.AbstractMap.keySet com.google.common.collect.Maps.FilteredEntryNavigableMap.navigableKeySet.$ 45FIELD java.util.AbstractMap.keySet com.google.common.collect.TreeRangeMap.SubRangeMap.SubRangeMapAsMap.keySet.$ 46FIELD java.util.AbstractMap.values com.google.common.collect.TreeRangeMap.SubRangeMap.SubRangeMapAsMap.values.$ 47OUTER com.google.common.collect.StandardTable.Row 48OUTER com.google.common.collect.TreeBasedTable.TreeRow 49