updateShadow

Allows for efficient modification of multiple shadow properties at once, pausing potentially redundant internal operations until block completes. This functionality is particularly helpful in recycling Adapters that set more than one shadow property.

The target View itself is passed as block's receiver, allowing for unqualified access to its properties. The receiver is not restricted in any way, and all of its members may be accessed like normal within block, but the library pauses only its own operations.

This function should always be used to modify multiple properties whenever ShadowGadgets.throwOnUnhandledErrors is true, in order to avoid potential illegal states during multistep updates.