docs: protected void invokeInvariants() {
      ClassContractHandle h = contracts.getClassHandle(ContractKind.INVARIANT);
      if (h == null) {
        return;
      }
  
      MethodNode contractMethod = injectContractMethod(h);
  
      Label skipInvariants = new Label();
      if (isConstructor) {
        loadThis();
        invokeVirtual(thisType, GET_CLASS_METHOD);
        loadThisClass();
        ifCmp(CLASS_TYPE, NE, skipInvariants);
      } else {
        loadLocal(checkInvariantsLocal);
        ifZCmp(EQ, skipInvariants);
      }
  
      if (!statik) {
        loadThis();
      }
      invokeContractMethod(contractMethod);
  
      mark(skipInvariants);
    }