Enhance Java first party dependency inference to support unqualified, same-package references #22817
  Add this suggestion to a batch that can be applied as a single commit.
  This suggestion is invalid because no changes were made to the code.
  Suggestions cannot be applied while the pull request is closed.
  Suggestions cannot be applied while viewing a subset of changes.
  Only one suggestion per line can be applied in a batch.
  Add this suggestion to a batch that can be applied as a single commit.
  Applying suggestions on deleted lines is not supported.
  You must change the existing code in this line in order to create a valid suggestion.
  Outdated suggestions cannot be applied.
  This suggestion has been applied or marked resolved.
  Suggestions cannot be applied from pending reviews.
  Suggestions cannot be applied on multi-line comments.
  Suggestions cannot be applied while the pull request is queued to merge.
  Suggestion cannot be applied right now. Please check back later.
  
    
  
    
In Java, it's perfectly valid for a class in one package to reference another class in the same package without importing it. However, our current dependency inference code doesn't support this. Suppose we have two classes
com.example.Aandcom.example.BandAreferencesBwithout importing it. The Pants Java backend won't figure out on its own thatA.javadepends onB.javawithout an explicit dependency reference.This PR aims to enhance our first party dependency inference logic such that Pants will know that
A.javadepends onB.javaeven if we don't explicitly mention it or explicitlyimport com.example.BinA.java.This is my first contribution, so let me know if I'm missing anything obvious.
I ran
/pants test src/python/pants/backend/java/::and all of those tests are passing.I plan on testing this in a local repo with real code tomorrow.