| # TODO(user): Resolve cycles |
| |
| NAMESPACE com.google.common.collect.testing |
| NAMESPACE com.google.common.collect.testing.google |
| NAMESPACE com.google.common.escape |
| NAMESPACE com.google.common.escape.testing |
| NAMESPACE com.google.common.io |
| NAMESPACE com.google.common.net |
| NAMESPACE com.google.common.testing |
| |
| # Allow our dependencies for now. |
| NAMESPACE junit.framework |
| NAMESPACE org.junit |
| |
| # ***** REAL CYCLES ***** |
| # Cycle exists until future completes |
| FIELD com.google.common.util.concurrent.AbstractFuture.Listener.executor com.google.common.util.concurrent.ExecutionSequencer.TaskNonReentrantExecutor |
| |
| # ***** FALSE POSITIVES ***** |
| |
| # The Runnable type is so generic that it produces too many false positives. |
| TYPE java.lang.Runnable |
| |
| FIELD com.google.common.base.Converter.reverse |
| FIELD com.google.common.collect.AbstractBiMap.EntrySet.iterator.$.entry com.google.common.collect.AbstractBiMap.EntrySet.iterator.$.next.$ |
| FIELD com.google.common.collect.AbstractMapBasedMultimap.map |
| FIELD com.google.common.collect.AbstractMultimap.asMap com.google.common.collect.AbstractMapBasedMultimap.NavigableAsMap |
| FIELD com.google.common.collect.AbstractMultimap.values com.google.common.collect.LinkedListMultimap.get.$ |
| FIELD com.google.common.collect.AbstractMultimap.values com.google.common.collect.Multimaps.MapMultimap.get.$ |
| FIELD com.google.common.collect.AbstractMultiset.entrySet com.google.common.collect.FilteredEntryMultimap.Keys.entrySet.$ |
| FIELD com.google.common.collect.ConcurrentHashMultiset.countMap |
| FIELD com.google.common.collect.ImmutableMultiset.asList |
| FIELD com.google.common.collect.ImmutableRangeMap.ranges |
| FIELD com.google.common.collect.ImmutableRangeSet.ranges |
| FIELD com.google.common.collect.ImmutableSet.asList |
| FIELD com.google.common.collect.Maps.FilteredMapValues.unfiltered |
| FIELD com.google.common.collect.Sets.SubSet.inputSet |
| FIELD com.google.common.collect.SingletonImmutableBiMap.inverse |
| FIELD com.google.common.collect.TreeTraverser.PostOrderNode.childIterator |
| FIELD com.google.common.collect.TreeTraverser.PreOrderIterator.stack |
| FIELD com.google.common.util.concurrent.AbstractFuture.Listener.executor com.google.common.util.concurrent.MoreExecutors.rejectionPropagatingExecutor.$ |
| FIELD com.google.common.util.concurrent.AbstractService.listeners |
| # NonReentrantExecutor is not exposed to this field |
| FIELD com.google.common.util.concurrent.ExecutionSequencer.ThreadConfinedTaskQueue.nextExecutor com.google.common.util.concurrent.ExecutionSequencer.TaskNonReentrantExecutor |
| # Real cycle, but the runningState field is null'ed on completion of the future. |
| FIELD com.google.common.util.concurrent.AggregateFuture.runningState |
| FIELD java.util.AbstractMap.keySet com.google.common.collect.AbstractMapBasedMultimap.NavigableKeySet |
| FIELD java.util.AbstractMap.keySet com.google.common.collect.Maps.FilteredEntryNavigableMap.navigableKeySet.$ |
| FIELD java.util.AbstractMap.keySet com.google.common.collect.TreeRangeMap.SubRangeMap.SubRangeMapAsMap.keySet.$ |
| FIELD java.util.AbstractMap.values com.google.common.collect.TreeRangeMap.SubRangeMap.SubRangeMapAsMap.values.$ |
| OUTER com.google.common.collect.StandardTable.Row |
| OUTER com.google.common.collect.TreeBasedTable.TreeRow |