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# Cycle exists until future completes 17FIELD com.google.common.util.concurrent.AbstractFuture.Listener.executor com.google.common.util.concurrent.ExecutionSequencer.TaskNonReentrantExecutor 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.base.Converter.reverse 25FIELD com.google.common.collect.AbstractBiMap.EntrySet.iterator.$.entry com.google.common.collect.AbstractBiMap.EntrySet.iterator.$.next.$ 26FIELD com.google.common.collect.AbstractMapBasedMultimap.map 27FIELD com.google.common.collect.AbstractMultimap.asMap com.google.common.collect.AbstractMapBasedMultimap.NavigableAsMap 28FIELD com.google.common.collect.AbstractMultimap.values com.google.common.collect.LinkedListMultimap.get.$ 29FIELD com.google.common.collect.AbstractMultimap.values com.google.common.collect.Multimaps.MapMultimap.get.$ 30FIELD com.google.common.collect.AbstractMultiset.entrySet com.google.common.collect.FilteredEntryMultimap.Keys.entrySet.$ 31FIELD com.google.common.collect.ConcurrentHashMultiset.countMap 32FIELD com.google.common.collect.ImmutableMultiset.asList 33FIELD com.google.common.collect.ImmutableRangeMap.ranges 34FIELD com.google.common.collect.ImmutableRangeSet.ranges 35FIELD com.google.common.collect.ImmutableSet.asList 36FIELD com.google.common.collect.Maps.FilteredMapValues.unfiltered 37FIELD com.google.common.collect.Sets.SubSet.inputSet 38FIELD com.google.common.collect.SingletonImmutableBiMap.inverse 39FIELD com.google.common.collect.TreeTraverser.PostOrderNode.childIterator 40FIELD com.google.common.collect.TreeTraverser.PreOrderIterator.stack 41FIELD com.google.common.util.concurrent.AbstractFuture.Listener.executor com.google.common.util.concurrent.MoreExecutors.rejectionPropagatingExecutor.$ 42FIELD com.google.common.util.concurrent.AbstractService.listeners 43# NonReentrantExecutor is not exposed to this field 44FIELD com.google.common.util.concurrent.ExecutionSequencer.ThreadConfinedTaskQueue.nextExecutor com.google.common.util.concurrent.ExecutionSequencer.TaskNonReentrantExecutor 45# Real cycle, but the runningState field is null'ed on completion of the future. 46FIELD com.google.common.util.concurrent.AggregateFuture.runningState 47FIELD java.util.AbstractMap.keySet com.google.common.collect.AbstractMapBasedMultimap.NavigableKeySet 48FIELD java.util.AbstractMap.keySet com.google.common.collect.Maps.FilteredEntryNavigableMap.navigableKeySet.$ 49FIELD java.util.AbstractMap.keySet com.google.common.collect.TreeRangeMap.SubRangeMap.SubRangeMapAsMap.keySet.$ 50FIELD java.util.AbstractMap.values com.google.common.collect.TreeRangeMap.SubRangeMap.SubRangeMapAsMap.values.$ 51OUTER com.google.common.collect.StandardTable.Row 52OUTER com.google.common.collect.TreeBasedTable.TreeRow 53