Replace looseSignature with a better and fine grained annotation #8829
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.
If one method of a shadow class uses the Class that brought by newer SDK than user's
compileSdk
, and it will cause compiling error for user because Robolectri'sShadows
loads this shadow class, and trigger this shadow class to load this new Class. In previous experience, we uselooseSignatures
to mark shadow class and useObject
to replace all input parameters of this method to avoid compiling error and ensureShadowWrangle
can find this method.looseSignatures
work fine now, but it's coarse-grained.ClassName
can be used to mark the input parameter that has new Class type only, andShadowWrangle
will provide type checking for real input parameter to ensure real passed input parameters match to expected class types.Close #6888.
Moved from #7770 with a correct branch name.