Unweave
Everything undoing an install takes, the way Patch.Weave is everything applying one takes.
Properties
Runtime name of the patched type. Resolved to live copies at removal rather than snapshotted at install — a pending install's class may have loaded since — and a name is what retransform batches on.
Functions
Deregister only; the advice stays woven until a retransform covering className runs. Split from the retransform because that is where the cost is — a safepoint and a class reload — and N patches need one of those, not N.
Whether any copy of className is loaded right now. Live rather than an install-time flag, for the same reason retransform re-resolves by name: a pending patch's class can arrive at any time. Read only to explain a report, which keeps the scan off every other path.