Use of reflection to access hidden APIs is prone to runtime failures (see e.g., the recent #8795) and circumvents our verification baselining.
The regression reported in #8795 could have been avoided.
- If we hadn't used reflection, we'd have seen a static compilation failure.
- If we had used reflection but had it under-test, we would have detected when the API broke.
To protect against future issues, I propose a few next steps.
- Review all the places we're using reflection and remove them where possible and add tests where not.
- Explore a verification mechanism whereby new uses of reflection are detected (akin to our baseline verifier).
(This is an umbrella issue for the Flutter AND Dart plugins.)
Use of reflection to access hidden APIs is prone to runtime failures (see e.g., the recent #8795) and circumvents our verification baselining.
The regression reported in #8795 could have been avoided.
To protect against future issues, I propose a few next steps.
(This is an umbrella issue for the Flutter AND Dart plugins.)