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
- Repository root
- Repository root
- Suggested starting pointAI
- Suggested starting pointAI
- Suggested starting pointAI
- Suggested starting pointAI
- Suggested starting pointAI
- Suggested starting pointAI
Find files for a task
AIAdd 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.