DRAFT ServiceLoader implementation for J2CL+Closure #245
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.
Adds a custom compiler pass that optimizes a particular pattern of JS code, with a simple integration test that confirms that the fully-optimized output contains only the expected implementation, and no strings remain from the unused implementation.
Before merging, the JS example should be rewritten to handmade java (plus required shim JS), to specify an expected pattern to follow. Should also consider a "service loader version" to ensure that any given implementation confirms to these expectations, should they need to evolve further.
By itself, this will not work with a multi-stage build - another custom pass could be required, or requiring the use of
goog.LOCALEto drive the selected property.Partial #244