release method

void release()
inherited

Releases the reference to the underlying ObjC block held by this wrapper. Throws a StateError if this wrapper doesn't currently hold a reference.

Implementation

void release() {
  if (_pendingRelease) {
    _pendingRelease = false;
    _lib._Block_release(_id.cast());
    _lib._objc_releaseFinalizer11.detach(this);
  } else {
    throw StateError(
        'Released an ObjC block that was unowned or already released.');
  }
}