private void verify()

in src/main/java/org/apache/bcel/verifier/VerifierAppFrame.java [291:345]


    private void verify() throws ClassNotFoundException {
        setTitle("PLEASE WAIT");
        final Verifier v = VerifierFactory.getVerifier(currentClass);
        v.flush(); // Don't cache the verification result for this class.
        VerificationResult vr;
        vr = v.doPass1();
        if (vr.getStatus() == VerificationResult.VERIFIED_REJECTED) {
            pass1TextPane.setText(vr.getMessage());
            pass1TextPane.setBackground(Color.red);
            pass2TextPane.setText("");
            pass2TextPane.setBackground(Color.yellow);
            pass3aTextPane.setText("");
            pass3aJList.setListData(ArrayUtils.EMPTY_STRING_ARRAY);
            pass3aTextPane.setBackground(Color.yellow);
            pass3bTextPane.setText("");
            pass3bJList.setListData(ArrayUtils.EMPTY_STRING_ARRAY);
            pass3bTextPane.setBackground(Color.yellow);
        } else { // Must be VERIFIED_OK, Pass 1 does not know VERIFIED_NOTYET
            pass1TextPane.setBackground(Color.green);
            pass1TextPane.setText(vr.getMessage());
            vr = v.doPass2();
            if (vr.getStatus() == VerificationResult.VERIFIED_REJECTED) {
                pass2TextPane.setText(vr.getMessage());
                pass2TextPane.setBackground(Color.red);
                pass3aTextPane.setText("");
                pass3aTextPane.setBackground(Color.yellow);
                pass3aJList.setListData(ArrayUtils.EMPTY_STRING_ARRAY);
                pass3bTextPane.setText("");
                pass3bTextPane.setBackground(Color.yellow);
                pass3bJList.setListData(ArrayUtils.EMPTY_STRING_ARRAY);
            } else { // must be Verified_OK, because Pass1 was OK (cannot be Verified_NOTYET).
                pass2TextPane.setText(vr.getMessage());
                pass2TextPane.setBackground(Color.green);
                final JavaClass jc = Repository.lookupClass(currentClass);
                /*
                 * boolean all3aok = true; boolean all3bok = true; String all3amsg = ""; String all3bmsg = "";
                 */
                final String[] methodNames = new String[jc.getMethods().length];
                Arrays.setAll(methodNames, i -> jc.getMethods()[i].toString().replace('\n', ' ').replace('\t', ' '));
                pass3aJList.setListData(methodNames);
                pass3aJList.setSelectionInterval(0, jc.getMethods().length - 1);
                pass3bJList.setListData(methodNames);
                pass3bJList.setSelectionInterval(0, jc.getMethods().length - 1);
            }
        }
        final String[] msgs = v.getMessages();
        messagesTextPane.setBackground(msgs.length == 0 ? Color.green : Color.yellow);
        final StringBuilder allmsgs = new StringBuilder();
        for (int i = 0; i < msgs.length; i++) {
            msgs[i] = msgs[i].replace('\n', ' ');
            allmsgs.append(msgs[i]).append("\n\n");
        }
        messagesTextPane.setText(allmsgs.toString());
        setTitle(currentClass + " - " + Verifier.NAME);
    }