//# 0 errors, 168 messages
//#
/*
    //#InstallerListener.java:1:1: class: com.dmdirc.installer.InstallerListener
    //#InstallerListener.java:1:1: method: com.dmdirc.installer.InstallerListener.com.dmdirc.installer.InstallerListener__static_init
 * 
 * Copyright (c) 2006-2008 Chris Smith, Shane Mc Cormack, Gregory Holmes
 * 
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 * 
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 * 
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 * SOFTWARE.
 */

package com.dmdirc.installer;

import com.dmdirc.installer.Installer.ShortcutType;
import com.dmdirc.installer.ui.InstallerDialog;

/**
 * Listeners to all wizard and step changes and responds accordingly.
 */
public class InstallerListener implements WizardListener, StepListener {

    private Main main;

    /**
     * Instantiates a new installer listener.
     *
     * @param main Installer entry point
     */
    public InstallerListener(final Main main) {
    //#InstallerListener.java:41: method: void com.dmdirc.installer.InstallerListener.com.dmdirc.installer.InstallerListener(Main)
    //#input(void com.dmdirc.installer.InstallerListener(Main)): main
    //#input(void com.dmdirc.installer.InstallerListener(Main)): this
    //#output(void com.dmdirc.installer.InstallerListener(Main)): this.main
    //#post(void com.dmdirc.installer.InstallerListener(Main)): this.main == main
    //#post(void com.dmdirc.installer.InstallerListener(Main)): init'ed(this.main)
        this.main = main;
    }
    //#InstallerListener.java:43: end of method: void com.dmdirc.installer.InstallerListener.com.dmdirc.installer.InstallerListener(Main)

    /** {@inheritDoc} */
    @Override
    public void wizardFinished() {
        main.disposeOfInstaller();
    //#InstallerListener.java:48: method: void com.dmdirc.installer.InstallerListener.wizardFinished()
    //#InstallerListener.java:48: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.installer.Main:disposeOfInstaller()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.installer.InstallerListener
    //#    method: void wizardFinished()
    //#    unanalyzed callee: void com.dmdirc.installer.Main:disposeOfInstaller()
    //#input(void wizardFinished()): this
    //#input(void wizardFinished()): this.main
    //#pre[2] (void wizardFinished()): this.main != null
    //#presumption(void wizardFinished()): com.dmdirc.installer.Main:getWizardFrame(...)@49 != null
        Main.getWizardFrame().dispose();
    //#InstallerListener.java:49: Warning: method not available - call not analyzed
    //#    call on InstallerDialog com.dmdirc.installer.Main:getWizardFrame()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.installer.InstallerListener
    //#    method: void wizardFinished()
    //#    unanalyzed callee: InstallerDialog com.dmdirc.installer.Main:getWizardFrame()
    //#InstallerListener.java:49: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.installer.ui.InstallerDialog:dispose()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.installer.InstallerListener
    //#    method: void wizardFinished()
    //#    unanalyzed callee: void com.dmdirc.installer.ui.InstallerDialog:dispose()
    }
    //#InstallerListener.java:50: end of method: void com.dmdirc.installer.InstallerListener.wizardFinished()

    /** {@inheritDoc} */
    @Override
    public void wizardCancelled() {
        if (!"Install".equals(Main.getWizardFrame().getCurrentStepName()) && Main.getWizardFrame().
    //#InstallerListener.java:55: method: void com.dmdirc.installer.InstallerListener.wizardCancelled()
    //#InstallerListener.java:55: Warning: method not available - call not analyzed
    //#    call on InstallerDialog com.dmdirc.installer.Main:getWizardFrame()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.installer.InstallerListener
    //#    method: void wizardCancelled()
    //#    unanalyzed callee: InstallerDialog com.dmdirc.installer.Main:getWizardFrame()
    //#InstallerListener.java:55: Warning: method not available - call not analyzed
    //#    call on String com.dmdirc.installer.ui.InstallerDialog:getCurrentStepName()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.installer.InstallerListener
    //#    method: void wizardCancelled()
    //#    unanalyzed callee: String com.dmdirc.installer.ui.InstallerDialog:getCurrentStepName()
    //#InstallerListener.java:55: Warning: method not available - call not analyzed
    //#    call on bool com.dmdirc.installer.ui.InstallerDialog:showCancelConfirmation()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.installer.InstallerListener
    //#    method: void wizardCancelled()
    //#    unanalyzed callee: bool com.dmdirc.installer.ui.InstallerDialog:showCancelConfirmation()
    //#presumption(void wizardCancelled()): com.dmdirc.installer.Main:getWizardFrame(...)@55 != null
    //#presumption(void wizardCancelled()): com.dmdirc.installer.Main:getWizardFrame(...)@55 != null
    //#presumption(void wizardCancelled()): com.dmdirc.installer.Main:getWizardFrame(...)@57 != null
    //#test_vector(void wizardCancelled()): com.dmdirc.installer.ui.InstallerDialog:showCancelConfirmation(...)@55: {0}, {1}
    //#test_vector(void wizardCancelled()): java.lang.String:equals(...)@55: {1}, {0}
                showCancelConfirmation()) {
            Main.getWizardFrame().dispose();
    //#InstallerListener.java:57: Warning: method not available - call not analyzed
    //#    call on InstallerDialog com.dmdirc.installer.Main:getWizardFrame()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.installer.InstallerListener
    //#    method: void wizardCancelled()
    //#    unanalyzed callee: InstallerDialog com.dmdirc.installer.Main:getWizardFrame()
    //#InstallerListener.java:57: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.installer.ui.InstallerDialog:dispose()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.installer.InstallerListener
    //#    method: void wizardCancelled()
    //#    unanalyzed callee: void com.dmdirc.installer.ui.InstallerDialog:dispose()
        }
    }
    //#InstallerListener.java:59: end of method: void com.dmdirc.installer.InstallerListener.wizardCancelled()

    /** {@inheritDoc} */
    @Override
    public void stepAboutToDisplay(final Step step) {
        if ("Install".equals(step.getStepName())) {
    //#InstallerListener.java:64: method: void com.dmdirc.installer.InstallerListener.stepAboutToDisplay(Step)
    //#InstallerListener.java:64: Warning: method not available - call not analyzed
    //#    call on String com.dmdirc.installer.Step:getStepName()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.installer.InstallerListener
    //#    method: void stepAboutToDisplay(Step)
    //#    unanalyzed callee: String com.dmdirc.installer.Step:getStepName()
    //#input(void stepAboutToDisplay(Step)): " - Create "._tainted
    //#input(void stepAboutToDisplay(Step)): " - Create Quick Launch shortcut&#10;"._tainted
    //#input(void stepAboutToDisplay(Step)): " - Create desktop shortcut&#10;"._tainted
    //#input(void stepAboutToDisplay(Step)): " - Make DMDirc handle irc:.. links&#10;"._tainted
    //#input(void stepAboutToDisplay(Step)): " shortcut&#10;"._tainted
    //#input(void stepAboutToDisplay(Step)): ""._tainted
    //#input(void stepAboutToDisplay(Step)): "&#10;"._tainted
    //#input(void stepAboutToDisplay(Step)): "If you wish to change "._tainted
    //#input(void stepAboutToDisplay(Step)): "Please review your chosen settings:&#10;&#10; - Install Location:&#10;    "._tainted
    //#input(void stepAboutToDisplay(Step)): "any of these settings, press the "Previous" "._tainted
    //#input(void stepAboutToDisplay(Step)): "button, otherwise click "Next" to begin the installation"._tainted
    //#input(void stepAboutToDisplay(Step)): "menu"._tainted
    //#input(void stepAboutToDisplay(Step)): com/dmdirc/installer/Installer$ShortcutType.DESKTOP
    //#input(void stepAboutToDisplay(Step)): com/dmdirc/installer/Installer$ShortcutType.MENU
    //#input(void stepAboutToDisplay(Step)): com/dmdirc/installer/Installer$ShortcutType.PROTOCOL
    //#input(void stepAboutToDisplay(Step)): com/dmdirc/installer/Installer$ShortcutType.QUICKLAUNCH
    //#input(void stepAboutToDisplay(Step)): com/dmdirc/installer/Installer.__Descendant_Table[com/dmdirc/installer/Installer]
    //#input(void stepAboutToDisplay(Step)): com/dmdirc/installer/Installer.__Descendant_Table[others]
    //#input(void stepAboutToDisplay(Step)): com/dmdirc/installer/Installer.__Dispatch_Table.getMenuName()Ljava/lang/String;
    //#input(void stepAboutToDisplay(Step)): com/dmdirc/installer/Installer.__Dispatch_Table.supportsShortcut(Lcom/dmdirc/installer/Installer$ShortcutType;)Z
    //#input(void stepAboutToDisplay(Step)): step
    //#input(void stepAboutToDisplay(Step)): this
    //#pre[1] (void stepAboutToDisplay(Step)): step != null
    //#unanalyzed(void stepAboutToDisplay(Step)): Effects-of-calling:com.dmdirc.installer.Main:getWizardFrame
    //#unanalyzed(void stepAboutToDisplay(Step)): Effects-of-calling:com.dmdirc.installer.ui.InstallerDialog:enableNextStep
    //#unanalyzed(void stepAboutToDisplay(Step)): Effects-of-calling:com.dmdirc.installer.ui.InstallerDialog:enablePreviousStep
    //#unanalyzed(void stepAboutToDisplay(Step)): Effects-of-calling:com.dmdirc.installer.Main:getInstaller
    //#unanalyzed(void stepAboutToDisplay(Step)): Effects-of-calling:com.dmdirc.installer.ui.InstallerDialog:getStep
    //#unanalyzed(void stepAboutToDisplay(Step)): Effects-of-calling:com.dmdirc.installer.Installer:start
    //#unanalyzed(void stepAboutToDisplay(Step)): Effects-of-calling:com.dmdirc.installer.Settings:getShortcutMenuState
    //#unanalyzed(void stepAboutToDisplay(Step)): Effects-of-calling:java.lang.StringBuilder
    //#unanalyzed(void stepAboutToDisplay(Step)): Effects-of-calling:java.lang.StringBuilder:append
    //#unanalyzed(void stepAboutToDisplay(Step)): Effects-of-calling:java.lang.StringBuilder:toString
    //#unanalyzed(void stepAboutToDisplay(Step)): Effects-of-calling:com.dmdirc.installer.Settings:getShortcutDesktopState
    //#unanalyzed(void stepAboutToDisplay(Step)): Effects-of-calling:com.dmdirc.installer.Settings:getShortcutQuickState
    //#unanalyzed(void stepAboutToDisplay(Step)): Effects-of-calling:com.dmdirc.installer.Settings:getShortcutProtocolState
    //#unanalyzed(void stepAboutToDisplay(Step)): Effects-of-calling:com.dmdirc.installer.Settings:getInstallLocation
    //#unanalyzed(void stepAboutToDisplay(Step)): Effects-of-calling:com.dmdirc.installer.TextStep:instanceof
    //#unanalyzed(void stepAboutToDisplay(Step)): Effects-of-calling:java.lang.String:isEmpty
    //#unanalyzed(void stepAboutToDisplay(Step)): Effects-of-calling:com.dmdirc.installer.TextStep:setText
    //#test_vector(void stepAboutToDisplay(Step)): java.lang.String:equals(...)@64: {0}, {1}
    //#test_vector(void stepAboutToDisplay(Step)): java.lang.String:equals(...)@66: {0}, {1}
            installerToBeDisplayed(step);
        } else if ("Confirm".equals(step.getStepName())) {
    //#InstallerListener.java:66: Warning: method not available - call not analyzed
    //#    call on String com.dmdirc.installer.Step:getStepName()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.installer.InstallerListener
    //#    method: void stepAboutToDisplay(Step)
    //#    unanalyzed callee: String com.dmdirc.installer.Step:getStepName()
            confirmToBeDisplayed(step);
        }
    }
    //#InstallerListener.java:69: end of method: void com.dmdirc.installer.InstallerListener.stepAboutToDisplay(Step)

    /** {@inheritDoc} */
    @Override
    public void stepHidden(final Step step) {
        //Ignore
    }
    //#InstallerListener.java:75: method: void com.dmdirc.installer.InstallerListener.stepHidden(Step)
    //#InstallerListener.java:75: end of method: void com.dmdirc.installer.InstallerListener.stepHidden(Step)

    private void installerToBeDisplayed(final Step step) {
        final InstallerDialog dialog = Main.getWizardFrame();
    //#InstallerListener.java:78: method: void com.dmdirc.installer.InstallerListener.installerToBeDisplayed(Step)
    //#InstallerListener.java:78: Warning: method not available - call not analyzed
    //#    call on InstallerDialog com.dmdirc.installer.Main:getWizardFrame()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.installer.InstallerListener
    //#    method: void installerToBeDisplayed(Step)
    //#    unanalyzed callee: InstallerDialog com.dmdirc.installer.Main:getWizardFrame()
    //#presumption(void installerToBeDisplayed(Step)): com.dmdirc.installer.Main:getInstaller(...)@81 != null
    //#presumption(void installerToBeDisplayed(Step)): com.dmdirc.installer.Main:getInstaller(...)@82 != null
    //#presumption(void installerToBeDisplayed(Step)): com.dmdirc.installer.Main:getWizardFrame(...)@78 != null
        dialog.enableNextStep(false);
    //#InstallerListener.java:79: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.installer.ui.InstallerDialog:enableNextStep(bool)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.installer.InstallerListener
    //#    method: void installerToBeDisplayed(Step)
    //#    unanalyzed callee: void com.dmdirc.installer.ui.InstallerDialog:enableNextStep(bool)
        dialog.enablePreviousStep(false);
    //#InstallerListener.java:80: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.installer.ui.InstallerDialog:enablePreviousStep(bool)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.installer.InstallerListener
    //#    method: void installerToBeDisplayed(Step)
    //#    unanalyzed callee: void com.dmdirc.installer.ui.InstallerDialog:enablePreviousStep(bool)
        Main.getInstaller().setInstallStep((TextStep) dialog.getStep("Install"));
    //#InstallerListener.java:81: Warning: method not available - call not analyzed
    //#    call on Installer com.dmdirc.installer.Main:getInstaller()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.installer.InstallerListener
    //#    method: void installerToBeDisplayed(Step)
    //#    unanalyzed callee: Installer com.dmdirc.installer.Main:getInstaller()
    //#InstallerListener.java:81: Warning: method not available - call not analyzed
    //#    call on Step com.dmdirc.installer.ui.InstallerDialog:getStep(String)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.installer.InstallerListener
    //#    method: void installerToBeDisplayed(Step)
    //#    unanalyzed callee: Step com.dmdirc.installer.ui.InstallerDialog:getStep(String)
        Main.getInstaller().start();
    //#InstallerListener.java:82: Warning: method not available - call not analyzed
    //#    call on Installer com.dmdirc.installer.Main:getInstaller()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.installer.InstallerListener
    //#    method: void installerToBeDisplayed(Step)
    //#    unanalyzed callee: Installer com.dmdirc.installer.Main:getInstaller()
    //#InstallerListener.java:82: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.installer.Installer:start()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.installer.InstallerListener
    //#    method: void installerToBeDisplayed(Step)
    //#    unanalyzed callee: void com.dmdirc.installer.Installer:start()
    }
    //#InstallerListener.java:83: end of method: void com.dmdirc.installer.InstallerListener.installerToBeDisplayed(Step)

    private void confirmToBeDisplayed(final Step step) {
        String shortcutText = "";
    //#InstallerListener.java:86: method: void com.dmdirc.installer.InstallerListener.confirmToBeDisplayed(Step)
    //#input(void confirmToBeDisplayed(Step)): " - Create "._tainted
    //#input(void confirmToBeDisplayed(Step)): " - Create Quick Launch shortcut&#10;"._tainted
    //#input(void confirmToBeDisplayed(Step)): " - Create desktop shortcut&#10;"._tainted
    //#input(void confirmToBeDisplayed(Step)): " - Make DMDirc handle irc:.. links&#10;"._tainted
    //#input(void confirmToBeDisplayed(Step)): " shortcut&#10;"._tainted
    //#input(void confirmToBeDisplayed(Step)): ""._tainted
    //#input(void confirmToBeDisplayed(Step)): "&#10;"._tainted
    //#input(void confirmToBeDisplayed(Step)): "If you wish to change "._tainted
    //#input(void confirmToBeDisplayed(Step)): "Please review your chosen settings:&#10;&#10; - Install Location:&#10;    "._tainted
    //#input(void confirmToBeDisplayed(Step)): "any of these settings, press the "Previous" "._tainted
    //#input(void confirmToBeDisplayed(Step)): "button, otherwise click "Next" to begin the installation"._tainted
    //#input(void confirmToBeDisplayed(Step)): "menu"._tainted
    //#input(void confirmToBeDisplayed(Step)): com/dmdirc/installer/Installer$ShortcutType.DESKTOP
    //#input(void confirmToBeDisplayed(Step)): com/dmdirc/installer/Installer$ShortcutType.MENU
    //#input(void confirmToBeDisplayed(Step)): com/dmdirc/installer/Installer$ShortcutType.PROTOCOL
    //#input(void confirmToBeDisplayed(Step)): com/dmdirc/installer/Installer$ShortcutType.QUICKLAUNCH
    //#input(void confirmToBeDisplayed(Step)): com/dmdirc/installer/Installer.__Descendant_Table[com/dmdirc/installer/Installer]
    //#input(void confirmToBeDisplayed(Step)): com/dmdirc/installer/Installer.__Descendant_Table[others]
    //#input(void confirmToBeDisplayed(Step)): com/dmdirc/installer/Installer.__Dispatch_Table.getMenuName()Ljava/lang/String;
    //#input(void confirmToBeDisplayed(Step)): com/dmdirc/installer/Installer.__Dispatch_Table.supportsShortcut(Lcom/dmdirc/installer/Installer$ShortcutType;)Z
    //#input(void confirmToBeDisplayed(Step)): step
    //#presumption(void confirmToBeDisplayed(Step)): com.dmdirc.installer.Main:getInstaller(...).__Tag@101 == com/dmdirc/installer/Installer
    //#presumption(void confirmToBeDisplayed(Step)): com.dmdirc.installer.Main:getInstaller(...).__Tag@106 == com/dmdirc/installer/Installer
    //#presumption(void confirmToBeDisplayed(Step)): com.dmdirc.installer.Main:getInstaller(...).__Tag@90 == com/dmdirc/installer/Installer
    //#presumption(void confirmToBeDisplayed(Step)): com.dmdirc.installer.Main:getInstaller(...).__Tag@96 == com/dmdirc/installer/Installer
    //#presumption(void confirmToBeDisplayed(Step)): com.dmdirc.installer.Main:getInstaller(...)@101 != null
    //#presumption(void confirmToBeDisplayed(Step)): com.dmdirc.installer.Main:getInstaller(...)@106 != null
    //#presumption(void confirmToBeDisplayed(Step)): com.dmdirc.installer.Main:getInstaller(...)@90 != null
    //#presumption(void confirmToBeDisplayed(Step)): com.dmdirc.installer.Main:getInstaller(...)@96 != null
    //#presumption(void confirmToBeDisplayed(Step)): com.dmdirc.installer.Main:getWizardFrame(...)@122 != null
    //#presumption(void confirmToBeDisplayed(Step)): com.dmdirc.installer.Main:getWizardFrame(...)@130 != null
    //#presumption(void confirmToBeDisplayed(Step)): com.dmdirc.installer.Main:getWizardFrame(...)@88 != null
    //#presumption(void confirmToBeDisplayed(Step)): com.dmdirc.installer.Settings:getInstallLocation(...)@113 != null
    //#presumption(void confirmToBeDisplayed(Step)): com.dmdirc.installer.ui.InstallerDialog:getStep(...)@88 != null
    //#test_vector(void confirmToBeDisplayed(Step)): java.lang.String:isEmpty(...)@118: {0}, {1}

        final Settings settings = (Settings) Main.getWizardFrame().getStep(1);
    //#InstallerListener.java:88: Warning: method not available - call not analyzed
    //#    call on InstallerDialog com.dmdirc.installer.Main:getWizardFrame()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.installer.InstallerListener
    //#    method: void confirmToBeDisplayed(Step)
    //#    unanalyzed callee: InstallerDialog com.dmdirc.installer.Main:getWizardFrame()
    //#InstallerListener.java:88: Warning: method not available - call not analyzed
    //#    call on Step com.dmdirc.installer.ui.InstallerDialog:getStep(int)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.installer.InstallerListener
    //#    method: void confirmToBeDisplayed(Step)
    //#    unanalyzed callee: Step com.dmdirc.installer.ui.InstallerDialog:getStep(int)

        if (Main.getInstaller().supportsShortcut(ShortcutType.MENU) && settings.
    //#InstallerListener.java:90: Warning: method not available - call not analyzed
    //#    call on Installer com.dmdirc.installer.Main:getInstaller()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.installer.InstallerListener
    //#    method: void confirmToBeDisplayed(Step)
    //#    unanalyzed callee: Installer com.dmdirc.installer.Main:getInstaller()
    //#InstallerListener.java:90: Warning: test always goes same way
    //#    Test predetermined because supportsShortcut(...) == 0
    //#    severity: LOW
    //#    class: com.dmdirc.installer.InstallerListener
    //#    method: void confirmToBeDisplayed(Step)
    //#    from bb: Entry_BB_1
    //#    live edge: Entry_BB_1-->bb_4
    //#    tested vn: 0
    //#    tested vn values: {0}
    //#InstallerListener.java:90: Warning: dead code
    //#    Dead code here because supportsShortcut(...) == 0
    //#    severity: LOW
    //#    class: com.dmdirc.installer.InstallerListener
    //#    method: void confirmToBeDisplayed(Step)
    //#    dead bb: bb_2
                getShortcutMenuState()) {
            shortcutText = shortcutText + " - Create " + Main.getInstaller().
    //#InstallerListener.java:92: Warning: dead code continues
    //#    Dead code continues
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.installer.InstallerListener
    //#    method: void confirmToBeDisplayed(Step)
    //#    dead bb: bb_3
                    getMenuName() + " shortcut\n";
        }

        if (Main.getInstaller().supportsShortcut(ShortcutType.DESKTOP) &&
    //#InstallerListener.java:96: Warning: method not available - call not analyzed
    //#    call on Installer com.dmdirc.installer.Main:getInstaller()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.installer.InstallerListener
    //#    method: void confirmToBeDisplayed(Step)
    //#    unanalyzed callee: Installer com.dmdirc.installer.Main:getInstaller()
    //#InstallerListener.java:96: Warning: test always goes same way
    //#    Test predetermined because supportsShortcut(...) == 0
    //#    severity: LOW
    //#    class: com.dmdirc.installer.InstallerListener
    //#    method: void confirmToBeDisplayed(Step)
    //#    from bb: bb_4
    //#    live edge: bb_4-->bb_7
    //#    tested vn: 0
    //#    tested vn values: {0}
    //#InstallerListener.java:96: Warning: dead code
    //#    Dead code here because supportsShortcut(...) == 0
    //#    severity: LOW
    //#    class: com.dmdirc.installer.InstallerListener
    //#    method: void confirmToBeDisplayed(Step)
    //#    dead bb: bb_5
            settings.getShortcutDesktopState()) {
            shortcutText = shortcutText + " - Create desktop shortcut\n";
    //#InstallerListener.java:98: Warning: dead code continues
    //#    Dead code continues
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.installer.InstallerListener
    //#    method: void confirmToBeDisplayed(Step)
    //#    dead bb: bb_6
        }

        if (Main.getInstaller().supportsShortcut(ShortcutType.QUICKLAUNCH) &&
    //#InstallerListener.java:101: Warning: method not available - call not analyzed
    //#    call on Installer com.dmdirc.installer.Main:getInstaller()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.installer.InstallerListener
    //#    method: void confirmToBeDisplayed(Step)
    //#    unanalyzed callee: Installer com.dmdirc.installer.Main:getInstaller()
    //#InstallerListener.java:101: Warning: test always goes same way
    //#    Test predetermined because supportsShortcut(...) == 0
    //#    severity: LOW
    //#    class: com.dmdirc.installer.InstallerListener
    //#    method: void confirmToBeDisplayed(Step)
    //#    from bb: bb_7
    //#    live edge: bb_7-->bb_10
    //#    tested vn: 0
    //#    tested vn values: {0}
    //#InstallerListener.java:101: Warning: dead code
    //#    Dead code here because supportsShortcut(...) == 0
    //#    severity: LOW
    //#    class: com.dmdirc.installer.InstallerListener
    //#    method: void confirmToBeDisplayed(Step)
    //#    dead bb: bb_8
            settings.getShortcutQuickState()) {
            shortcutText = shortcutText + " - Create Quick Launch shortcut\n";
    //#InstallerListener.java:103: Warning: dead code continues
    //#    Dead code continues
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.installer.InstallerListener
    //#    method: void confirmToBeDisplayed(Step)
    //#    dead bb: bb_9
        }

        if (Main.getInstaller().supportsShortcut(ShortcutType.PROTOCOL) &&
    //#InstallerListener.java:106: Warning: method not available - call not analyzed
    //#    call on Installer com.dmdirc.installer.Main:getInstaller()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.installer.InstallerListener
    //#    method: void confirmToBeDisplayed(Step)
    //#    unanalyzed callee: Installer com.dmdirc.installer.Main:getInstaller()
    //#InstallerListener.java:106: Warning: test always goes same way
    //#    Test predetermined because supportsShortcut(...) == 0
    //#    severity: LOW
    //#    class: com.dmdirc.installer.InstallerListener
    //#    method: void confirmToBeDisplayed(Step)
    //#    from bb: bb_10
    //#    live edge: bb_10-->bb_13
    //#    tested vn: 0
    //#    tested vn values: {0}
    //#InstallerListener.java:106: Warning: dead code
    //#    Dead code here because supportsShortcut(...) == 0
    //#    severity: LOW
    //#    class: com.dmdirc.installer.InstallerListener
    //#    method: void confirmToBeDisplayed(Step)
    //#    dead bb: bb_11
            settings.getShortcutProtocolState()) {
            shortcutText = shortcutText +
    //#InstallerListener.java:108: Warning: dead code continues
    //#    Dead code continues
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.installer.InstallerListener
    //#    method: void confirmToBeDisplayed(Step)
    //#    dead bb: bb_12
                           " - Make DMDirc handle irc:// links\n";
        }


        final String installLocation = settings.getInstallLocation();
    //#InstallerListener.java:113: Warning: method not available - call not analyzed
    //#    call on String com.dmdirc.installer.Settings:getInstallLocation()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.installer.InstallerListener
    //#    method: void confirmToBeDisplayed(Step)
    //#    unanalyzed callee: String com.dmdirc.installer.Settings:getInstallLocation()


        if (step instanceof TextStep) {
            final TextStep textStep = (TextStep) step;
            if (installLocation.isEmpty()) {
                textStep.setText(
    //#InstallerListener.java:119: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.installer.TextStep:setText(String)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.installer.InstallerListener
    //#    method: void confirmToBeDisplayed(Step)
    //#    unanalyzed callee: void com.dmdirc.installer.TextStep:setText(String)
                        "You have chosen an invalid install location\n\n" +
                        "Please press the \"Previous\" button to go back and correct it.");
               Main.getWizardFrame().enableNextStep(false);
    //#InstallerListener.java:122: Warning: method not available - call not analyzed
    //#    call on InstallerDialog com.dmdirc.installer.Main:getWizardFrame()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.installer.InstallerListener
    //#    method: void confirmToBeDisplayed(Step)
    //#    unanalyzed callee: InstallerDialog com.dmdirc.installer.Main:getWizardFrame()
    //#InstallerListener.java:122: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.installer.ui.InstallerDialog:enableNextStep(bool)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.installer.InstallerListener
    //#    method: void confirmToBeDisplayed(Step)
    //#    unanalyzed callee: void com.dmdirc.installer.ui.InstallerDialog:enableNextStep(bool)
            } else {
                textStep.setText(
    //#InstallerListener.java:124: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.installer.TextStep:setText(String)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.installer.InstallerListener
    //#    method: void confirmToBeDisplayed(Step)
    //#    unanalyzed callee: void com.dmdirc.installer.TextStep:setText(String)
                        "Please review your chosen settings:\n\n" +
                        " - Install Location:\n" + "    " + installLocation +
                        "\n" + shortcutText + "\n" + "If you wish to change " +
                        "any of these settings, press the \"Previous\" " +
                        "button, otherwise click \"Next\" to begin the installation");
                Main.getWizardFrame().enableNextStep(true);
    //#InstallerListener.java:130: Warning: method not available - call not analyzed
    //#    call on InstallerDialog com.dmdirc.installer.Main:getWizardFrame()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.installer.InstallerListener
    //#    method: void confirmToBeDisplayed(Step)
    //#    unanalyzed callee: InstallerDialog com.dmdirc.installer.Main:getWizardFrame()
    //#InstallerListener.java:130: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.installer.ui.InstallerDialog:enableNextStep(bool)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.installer.InstallerListener
    //#    method: void confirmToBeDisplayed(Step)
    //#    unanalyzed callee: void com.dmdirc.installer.ui.InstallerDialog:enableNextStep(bool)
           }
        }
    }
    //#InstallerListener.java:133: end of method: void com.dmdirc.installer.InstallerListener.confirmToBeDisplayed(Step)
}
    //#output(com.dmdirc.installer.InstallerListener__static_init): __Descendant_Table[com/dmdirc/installer/InstallerListener]
    //#output(com.dmdirc.installer.InstallerListener__static_init): __Dispatch_Table.confirmToBeDisplayed(Lcom/dmdirc/installer/Step;)V
    //#output(com.dmdirc.installer.InstallerListener__static_init): __Dispatch_Table.installerToBeDisplayed(Lcom/dmdirc/installer/Step;)V
    //#output(com.dmdirc.installer.InstallerListener__static_init): __Dispatch_Table.stepAboutToDisplay(Lcom/dmdirc/installer/Step;)V
    //#output(com.dmdirc.installer.InstallerListener__static_init): __Dispatch_Table.stepHidden(Lcom/dmdirc/installer/Step;)V
    //#output(com.dmdirc.installer.InstallerListener__static_init): __Dispatch_Table.wizardCancelled()V
    //#output(com.dmdirc.installer.InstallerListener__static_init): __Dispatch_Table.wizardFinished()V
    //#post(com.dmdirc.installer.InstallerListener__static_init): __Descendant_Table[com/dmdirc/installer/InstallerListener] == &__Dispatch_Table
    //#post(com.dmdirc.installer.InstallerListener__static_init): __Dispatch_Table.confirmToBeDisplayed(Lcom/dmdirc/installer/Step;)V == &confirmToBeDisplayed
    //#post(com.dmdirc.installer.InstallerListener__static_init): __Dispatch_Table.installerToBeDisplayed(Lcom/dmdirc/installer/Step;)V == &installerToBeDisplayed
    //#post(com.dmdirc.installer.InstallerListener__static_init): __Dispatch_Table.stepAboutToDisplay(Lcom/dmdirc/installer/Step;)V == &stepAboutToDisplay
    //#post(com.dmdirc.installer.InstallerListener__static_init): __Dispatch_Table.stepHidden(Lcom/dmdirc/installer/Step;)V == &stepHidden
    //#post(com.dmdirc.installer.InstallerListener__static_init): __Dispatch_Table.wizardCancelled()V == &wizardCancelled
    //#post(com.dmdirc.installer.InstallerListener__static_init): __Dispatch_Table.wizardFinished()V == &wizardFinished
    //#InstallerListener.java:: end of method: com.dmdirc.installer.InstallerListener.com.dmdirc.installer.InstallerListener__static_init
    //#InstallerListener.java:: end of class: com.dmdirc.installer.InstallerListener
