refactor!: Use IVariableMap instead of VariableMap by gonfunko · Pull Request #8401 · RaspberryPiFoundation/blockly

The basics

-[x] I validated my changes

The details

Resolves

Fixes #8371, #8079, #8075

Proposed Changes

This PR uses IVariableMap in place of hardcoding VariableMap. It also refactors variable deletion handling; the VariableMap methods getVariableUsesById and deleteVariableById are deprecated and moved to the Variables namespace.

Breaking Change

The VariableMap.deleteVariable method now unconditionally deletes uses of the variable in question as well.