Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
core: Rewrite builder class signatures to avoid internal class
This provides us a path forward with grpc#7211 (hiding AbstractManagedChannelImplBuilder and AbstractServerImplBuilder) while providing users a migration path to manage the ABI breakage (grpc#7552). We do a .class hack so that recompiling avoids the internal class reference yet the old methods are still available. Leaving the classes as-is causes javac to compile two versions of each method, one returning the public class (e.g. ServerBuilder) and one returning the internal class (e.g., AbstractServerImplBuilder). However, we rewrite the signature that is used at compile time so that new compilations will not reference internal-returning methods. This is intended to be temporary, just to give a migration path. Once we have given users some time to recompile we will remove this rewriting and change the generics to use public classes.
- Loading branch information