Avoid redundant map lookups in cast/js/rhino
#1813
Merged
+13
−19
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.
Remove some redundant
Maplookups, such as callingcontainsKeyimmediately beforeget. That's redundant as long as we never map tonull, which appears to be the case for the maps we're modifying here.Also codify the existing
null-avoidance policy for these maps by adding JSpecify annotations. It's not clear how thoroughly current tools check this annotation when used on aMap's value type. But even if current tools don't check them, it's worth adding these annotations as documentation and (hopefully) as hints for future checkers.