private int getSpecialLabel(int label) {
    /*
     * The label is bitwise-complemented so that mistakes where
     * LABEL is used instead of getSpecialLabel(LABEL) cause a
     * failure at block construction time, since negative labels
     * are illegal. 0..maxLabel (exclusive) are the original blocks and
     * maxLabel..(maxLabel + method.getCatches().size()) are reserved for exception handler
     * setup blocks (see getAvailableLabel(), exceptionSetupLabelAllocator).
     */
    return maxLabel + method.getCatches().size() + ~label;
  }
Gets the label for the given special-purpose block. The given label should be one of the static
constants defined by this class.

@param label {@code < 0;} the special label constant
@return {@code >= 0;} the actual label value to use
android/android_framework/dex-maker/src/main/java/com/android/dx/cf/code/Ropper.java