Class for the registry of context menu items. This is intended to be a singleton. You should not create a new instance, and only access this class from Blockly.ContextMenuRegistry.registry.
Gets the valid context menu options for the given scope type (e.g. block or workspace) and scope. Blocks are only shown if the preconditionFn shows they should not be hidden.
Type of scope where menu should be shown (e.g. on a block or on a workspace)
Current scope of context menu (i.e., the exact workspace or block being clicked on)
the list of ContextMenuOptions
The ID of the RegistryItem to get.
RegistryItem or null if not found
Fake class which should be extended to avoid inheriting static properties