RepoPilot

google / guava

Search google/guava

GitHub

Code

How google/guava is laid out, and where to start for common changes.

There is no import map for this report yet.

Where to start reading

  1. Repository root
  2. Repository root
  3. Suggested starting pointAI
  4. Suggested starting pointAI
  5. Suggested starting pointAI
  6. Suggested starting pointAI
  7. Suggested starting pointAI
  8. Suggested starting pointAI

Find files for a task

AI

Add a new utility method to base package

  • Create or edit the appropriate class in guava/src/com/google/common/base/ (e.g., Strings.java, Objects.java) matching functional area.
  • Add @Beta annotation if API is unstable, @GwtCompatible if safe for transpilation, document with Javadoc.
  • Use Preconditions.checkNotNull() and Preconditions.checkArgument() for input validation following library conventions.

Add a new collection type

  • Extend an appropriate abstract base class in guava/src/com/google/common/collect/ (e.g., AbstractMultimap or AbstractTable).
  • Implement required abstract methods and ensure immutability guarantees; add factory methods to related builder or factory class.
  • Verify cross-platform compatibility by checking Platform.java for conditional logic and adding @GwtCompatible/@GwtIncompatible as needed.

Extend cache functionality

  • Implement RemovalListener to react to eviction events or extend CacheBuilder configuration for new cache policy parameters.
  • Modify LocalCache.java if adding new eviction strategies or internal segment management logic.
  • Ensure thread-safety for concurrent access and document any performance characteristics or JRE version requirements.

Add or update tests

Change build or automation

RepoPilot lists up to 500 files, so a file missing here may still exist.

  • No public API or start-up file could be picked out from the file names.

Code quality and hotspots

Largest source files

  • Branch points108 per file on average
  • Code issues0 errors, 79 warnings
  • Largest file4,997 lines
  • Hotspot load6 high-risk files

Static checks on the 15 largest source files.

Tests, CI and tooling

  • CIGitHub Actions2 workflows
  • Tests1,290 test filesJUnit · 0.64 test files per source file (file count, not coverage)
  • Dependency updatesNo config detected

Test folders: android/guava-testlib/test/com/google/common/collect/testing · android/guava-testlib/test/com/google/common/testing · android/guava-tests/test/com/google/common/base

Hotspots

Files that change often and branch heavily, highest first. Branch points count if, loop, case, catch, ternary, && and || in the file.