//# 0 errors, 134 messages
//#
/*
    //#EtchedLineBorder.java:1:1: class: com.dmdirc.addons.ui_swing.components.EtchedLineBorder$BorderSide
    //#EtchedLineBorder.java:1:1: class: com.dmdirc.addons.ui_swing.components.EtchedLineBorder$1
    //#EtchedLineBorder.java:1:1: class: com.dmdirc.addons.ui_swing.components.EtchedLineBorder
    //#EtchedLineBorder.java:1:1: method: com.dmdirc.addons.ui_swing.components.EtchedLineBorder.com.dmdirc.addons.ui_swing.components.EtchedLineBorder__static_init
 * Copyright (c) 2006-2009 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.addons.ui_swing.components;

import java.awt.Component;
import java.awt.Graphics;

import javax.swing.border.EtchedBorder;

/**
 * An etched line border.
 */
public class EtchedLineBorder extends EtchedBorder {

    /**
     * A version number for this class. It should be changed whenever the class
     * structure is changed (or anything else that would prevent serialized
     * objects being unserialized with the new class).
     */
    private static final long serialVersionUID = 1;
    /** Border side. */
    private final BorderSide side;
    /** Border side. */
    public enum BorderSide {
    //#EtchedLineBorder.java:44: method: EtchedLineBorder$BorderSide[] com.dmdirc.addons.ui_swing.components.EtchedLineBorder$BorderSide.values()
    //#input(EtchedLineBorder$BorderSide[] values()): $VALUES
    //#input(EtchedLineBorder$BorderSide[] values()): $VALUES.length
    //#input(EtchedLineBorder$BorderSide[] values()): $VALUES[0..2]
    //#output(EtchedLineBorder$BorderSide[] values()): new EtchedLineBorder$BorderSide[](values#1) num objects
    //#output(EtchedLineBorder$BorderSide[] values()): return_value.length
    //#output(EtchedLineBorder$BorderSide[] values()): return_value[0..2]
    //#output(EtchedLineBorder$BorderSide[] values()): return_value
    //#new obj(EtchedLineBorder$BorderSide[] values()): new EtchedLineBorder$BorderSide[](values#1)
    //#pre[1] (EtchedLineBorder$BorderSide[] values()): (soft) init'ed($VALUES[0..2])
    //#post(EtchedLineBorder$BorderSide[] values()): return_value == &new EtchedLineBorder$BorderSide[](values#1)
    //#post(EtchedLineBorder$BorderSide[] values()): new EtchedLineBorder$BorderSide[](values#1) num objects == 1
    //#post(EtchedLineBorder$BorderSide[] values()): return_value.length == 2
    //#post(EtchedLineBorder$BorderSide[] values()): return_value[0..2] == One-of{$VALUES[0..2], undefined}
    //#EtchedLineBorder.java:44: end of method: EtchedLineBorder$BorderSide[] com.dmdirc.addons.ui_swing.components.EtchedLineBorder$BorderSide.values()
    //#EtchedLineBorder.java:44: method: EtchedLineBorder$BorderSide com.dmdirc.addons.ui_swing.components.EtchedLineBorder$BorderSide.valueOf(String)
    //#input(EtchedLineBorder$BorderSide valueOf(String)): __Descendant_Table[com/dmdirc/addons/ui_swing/components/EtchedLineBorder$BorderSide]
    //#input(EtchedLineBorder$BorderSide valueOf(String)): __Descendant_Table[others]
    //#input(EtchedLineBorder$BorderSide valueOf(String)): name
    //#output(EtchedLineBorder$BorderSide valueOf(String)): return_value
    //#presumption(EtchedLineBorder$BorderSide valueOf(String)): java.lang.Enum:valueOf(...).__Tag@44 == com/dmdirc/addons/ui_swing/components/EtchedLineBorder$BorderSide
    //#post(EtchedLineBorder$BorderSide valueOf(String)): init'ed(return_value)
    //#EtchedLineBorder.java:44: end of method: EtchedLineBorder$BorderSide com.dmdirc.addons.ui_swing.components.EtchedLineBorder$BorderSide.valueOf(String)
    //#EtchedLineBorder.java:44: method: void com.dmdirc.addons.ui_swing.components.EtchedLineBorder$BorderSide.com.dmdirc.addons.ui_swing.components.EtchedLineBorder$BorderSide(String, int)
    //#input(void com.dmdirc.addons.ui_swing.components.EtchedLineBorder$BorderSide(String, int)): Param_1
    //#input(void com.dmdirc.addons.ui_swing.components.EtchedLineBorder$BorderSide(String, int)): Param_2
    //#input(void com.dmdirc.addons.ui_swing.components.EtchedLineBorder$BorderSide(String, int)): this
    //#EtchedLineBorder.java:44: end of method: void com.dmdirc.addons.ui_swing.components.EtchedLineBorder$BorderSide.com.dmdirc.addons.ui_swing.components.EtchedLineBorder$BorderSide(String, int)
        /** Creates a border at the top. */
        TOP, 
    //#EtchedLineBorder.java:46: method: com.dmdirc.addons.ui_swing.components.EtchedLineBorder$BorderSide.com.dmdirc.addons.ui_swing.components.EtchedLineBorder$BorderSide__static_init
    //#output(com.dmdirc.addons.ui_swing.components.EtchedLineBorder$BorderSide__static_init): $VALUES
    //#output(com.dmdirc.addons.ui_swing.components.EtchedLineBorder$BorderSide__static_init): BOTTOM
    //#output(com.dmdirc.addons.ui_swing.components.EtchedLineBorder$BorderSide__static_init): TOP
    //#output(com.dmdirc.addons.ui_swing.components.EtchedLineBorder$BorderSide__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/EtchedLineBorder$BorderSide]
    //#output(com.dmdirc.addons.ui_swing.components.EtchedLineBorder$BorderSide__static_init): new EtchedLineBorder$BorderSide(EtchedLineBorder$BorderSide__static_init#1) num objects
    //#output(com.dmdirc.addons.ui_swing.components.EtchedLineBorder$BorderSide__static_init): TOP.__Tag
    //#output(com.dmdirc.addons.ui_swing.components.EtchedLineBorder$BorderSide__static_init): new EtchedLineBorder$BorderSide(EtchedLineBorder$BorderSide__static_init#2) num objects
    //#output(com.dmdirc.addons.ui_swing.components.EtchedLineBorder$BorderSide__static_init): BOTTOM.__Tag
    //#output(com.dmdirc.addons.ui_swing.components.EtchedLineBorder$BorderSide__static_init): new EtchedLineBorder$BorderSide[](EtchedLineBorder$BorderSide__static_init#3) num objects
    //#output(com.dmdirc.addons.ui_swing.components.EtchedLineBorder$BorderSide__static_init): $VALUES.length
    //#output(com.dmdirc.addons.ui_swing.components.EtchedLineBorder$BorderSide__static_init): $VALUES[0]
    //#output(com.dmdirc.addons.ui_swing.components.EtchedLineBorder$BorderSide__static_init): $VALUES[1]
    //#new obj(com.dmdirc.addons.ui_swing.components.EtchedLineBorder$BorderSide__static_init): new EtchedLineBorder$BorderSide(EtchedLineBorder$BorderSide__static_init#1)
    //#new obj(com.dmdirc.addons.ui_swing.components.EtchedLineBorder$BorderSide__static_init): new EtchedLineBorder$BorderSide(EtchedLineBorder$BorderSide__static_init#2)
    //#new obj(com.dmdirc.addons.ui_swing.components.EtchedLineBorder$BorderSide__static_init): new EtchedLineBorder$BorderSide[](EtchedLineBorder$BorderSide__static_init#3)
    //#post(com.dmdirc.addons.ui_swing.components.EtchedLineBorder$BorderSide__static_init): $VALUES == &new EtchedLineBorder$BorderSide[](EtchedLineBorder$BorderSide__static_init#3)
    //#post(com.dmdirc.addons.ui_swing.components.EtchedLineBorder$BorderSide__static_init): BOTTOM == &new EtchedLineBorder$BorderSide(EtchedLineBorder$BorderSide__static_init#2)
    //#post(com.dmdirc.addons.ui_swing.components.EtchedLineBorder$BorderSide__static_init): $VALUES[1] == &new EtchedLineBorder$BorderSide(EtchedLineBorder$BorderSide__static_init#2)
    //#post(com.dmdirc.addons.ui_swing.components.EtchedLineBorder$BorderSide__static_init): TOP == &new EtchedLineBorder$BorderSide(EtchedLineBorder$BorderSide__static_init#1)
    //#post(com.dmdirc.addons.ui_swing.components.EtchedLineBorder$BorderSide__static_init): $VALUES[0] == &new EtchedLineBorder$BorderSide(EtchedLineBorder$BorderSide__static_init#1)
    //#post(com.dmdirc.addons.ui_swing.components.EtchedLineBorder$BorderSide__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/EtchedLineBorder$BorderSide] == &__Dispatch_Table
    //#post(com.dmdirc.addons.ui_swing.components.EtchedLineBorder$BorderSide__static_init): new EtchedLineBorder$BorderSide(EtchedLineBorder$BorderSide__static_init#1) num objects == 1
    //#post(com.dmdirc.addons.ui_swing.components.EtchedLineBorder$BorderSide__static_init): new EtchedLineBorder$BorderSide(EtchedLineBorder$BorderSide__static_init#2) num objects == 1
    //#post(com.dmdirc.addons.ui_swing.components.EtchedLineBorder$BorderSide__static_init): new EtchedLineBorder$BorderSide[](EtchedLineBorder$BorderSide__static_init#3) num objects == 1
    //#post(com.dmdirc.addons.ui_swing.components.EtchedLineBorder$BorderSide__static_init): TOP.__Tag == com/dmdirc/addons/ui_swing/components/EtchedLineBorder$BorderSide
    //#post(com.dmdirc.addons.ui_swing.components.EtchedLineBorder$BorderSide__static_init): BOTTOM.__Tag == com/dmdirc/addons/ui_swing/components/EtchedLineBorder$BorderSide
    //#post(com.dmdirc.addons.ui_swing.components.EtchedLineBorder$BorderSide__static_init): $VALUES.length == 2
    //#unanalyzed(com.dmdirc.addons.ui_swing.components.EtchedLineBorder$BorderSide__static_init): Effects-of-calling:java.lang.Enum
        /** Creates a border at the bottom. */
        BOTTOM, 
    //#EtchedLineBorder.java:48: end of method: com.dmdirc.addons.ui_swing.components.EtchedLineBorder$BorderSide.com.dmdirc.addons.ui_swing.components.EtchedLineBorder$BorderSide__static_init
    };

    /**
     * Creates a new etched line border.
     * 
     * @param type Etch type
     * @param side Border side
     */
    public EtchedLineBorder(final int type, final BorderSide side) {
        super(type);
    //#EtchedLineBorder.java:58: method: void com.dmdirc.addons.ui_swing.components.EtchedLineBorder.com.dmdirc.addons.ui_swing.components.EtchedLineBorder(int, EtchedLineBorder$BorderSide)
    //#input(void com.dmdirc.addons.ui_swing.components.EtchedLineBorder(int, EtchedLineBorder$BorderSide)): side
    //#input(void com.dmdirc.addons.ui_swing.components.EtchedLineBorder(int, EtchedLineBorder$BorderSide)): this
    //#input(void com.dmdirc.addons.ui_swing.components.EtchedLineBorder(int, EtchedLineBorder$BorderSide)): type
    //#output(void com.dmdirc.addons.ui_swing.components.EtchedLineBorder(int, EtchedLineBorder$BorderSide)): this.side
    //#post(void com.dmdirc.addons.ui_swing.components.EtchedLineBorder(int, EtchedLineBorder$BorderSide)): this.side == side
    //#post(void com.dmdirc.addons.ui_swing.components.EtchedLineBorder(int, EtchedLineBorder$BorderSide)): init'ed(this.side)
        
        this.side = side;
    }
    //#EtchedLineBorder.java:61: end of method: void com.dmdirc.addons.ui_swing.components.EtchedLineBorder.com.dmdirc.addons.ui_swing.components.EtchedLineBorder(int, EtchedLineBorder$BorderSide)

    /** {@inheritDoc} */
    @Override
    public void paintBorder(final Component c, final Graphics g, final int x,
            final int y, final int width, final int height) {
        g.translate(x, y);
    //#EtchedLineBorder.java:67: method: void com.dmdirc.addons.ui_swing.components.EtchedLineBorder.paintBorder(Component, Graphics, int, int, int, int)
    //#input(void paintBorder(Component, Graphics, int, int, int, int)): c
    //#input(void paintBorder(Component, Graphics, int, int, int, int)): com.dmdirc.addons.ui_swing.components.EtchedLineBorder$1__static_init.new int[](EtchedLineBorder$1__static_init#1).length
    //#input(void paintBorder(Component, Graphics, int, int, int, int)): com.dmdirc.addons.ui_swing.components.EtchedLineBorder$1__static_init.new int[](EtchedLineBorder$1__static_init#1)[0..4_294_967_295]
    //#input(void paintBorder(Component, Graphics, int, int, int, int)): com/dmdirc/addons/ui_swing/components/EtchedLineBorder$1.$SwitchMap$com$dmdirc$addons$ui_swing$components$EtchedLineBorder$BorderSide
    //#input(void paintBorder(Component, Graphics, int, int, int, int)): g
    //#input(void paintBorder(Component, Graphics, int, int, int, int)): height
    //#input(void paintBorder(Component, Graphics, int, int, int, int)): this
    //#input(void paintBorder(Component, Graphics, int, int, int, int)): this.etchType
    //#input(void paintBorder(Component, Graphics, int, int, int, int)): this.side
    //#input(void paintBorder(Component, Graphics, int, int, int, int)): width
    //#input(void paintBorder(Component, Graphics, int, int, int, int)): x
    //#input(void paintBorder(Component, Graphics, int, int, int, int)): y
    //#pre[3] (void paintBorder(Component, Graphics, int, int, int, int)): g != null
    //#pre[6] (void paintBorder(Component, Graphics, int, int, int, int)): init'ed(this.etchType)
    //#pre[7] (void paintBorder(Component, Graphics, int, int, int, int)): this.side != null
    //#pre[9] (void paintBorder(Component, Graphics, int, int, int, int)): x <= 2_147_483_648
    //#pre[10] (void paintBorder(Component, Graphics, int, int, int, int)): y <= 2_147_483_648
    //#pre[2] (void paintBorder(Component, Graphics, int, int, int, int)): (soft) init'ed(com.dmdirc.addons.ui_swing.components.EtchedLineBorder$1__static_init.new int[](EtchedLineBorder$1__static_init#1)[0..4_294_967_295])
    //#pre[4] (void paintBorder(Component, Graphics, int, int, int, int)): (soft) height >= -2_147_483_647
    //#pre[8] (void paintBorder(Component, Graphics, int, int, int, int)): (soft) width >= -2_147_483_646
    //#presumption(void paintBorder(Component, Graphics, int, int, int, int)): com.dmdirc.addons.ui_swing.components.EtchedLineBorder_BorderSide:ordinal(...)@70 in {0,1}
    //#presumption(void paintBorder(Component, Graphics, int, int, int, int)): com.dmdirc.addons.ui_swing.components.EtchedLineBorder_BorderSide:ordinal(...)@82 in {0,1}
    //#test_vector(void paintBorder(Component, Graphics, int, int, int, int)): com.dmdirc.addons.ui_swing.components.EtchedLineBorder$1__static_init.new int[](EtchedLineBorder$1__static_init#1)[0..4_294_967_295]: {1}, {2}, {-2_147_483_648..0, 3..4_294_967_295}
    //#test_vector(void paintBorder(Component, Graphics, int, int, int, int)): this.etchType: {-2_147_483_648..0, 2..4_294_967_295}, {1}

        g.setColor(etchType == LOWERED ? getShadowColor(c) : getHighlightColor(c));
    //#EtchedLineBorder.java:69: Warning: method not available - call not analyzed
    //#    call on Color com.dmdirc.addons.ui_swing.components.EtchedLineBorder:getHighlightColor(Component)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.EtchedLineBorder
    //#    method: void paintBorder(Component, Graphics, int, int, int, int)
    //#    unanalyzed callee: Color com.dmdirc.addons.ui_swing.components.EtchedLineBorder:getHighlightColor(Component)
    //#EtchedLineBorder.java:69: Warning: method not available - call not analyzed
    //#    call on Color com.dmdirc.addons.ui_swing.components.EtchedLineBorder:getShadowColor(Component)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.EtchedLineBorder
    //#    method: void paintBorder(Component, Graphics, int, int, int, int)
    //#    unanalyzed callee: Color com.dmdirc.addons.ui_swing.components.EtchedLineBorder:getShadowColor(Component)
        switch (side) {
    //#EtchedLineBorder.java:70: method: com.dmdirc.addons.ui_swing.components.EtchedLineBorder$1.com.dmdirc.addons.ui_swing.components.EtchedLineBorder$1__static_init
    //#EtchedLineBorder.java:70: Warning: method not available - call not analyzed
    //#    call on int com.dmdirc.addons.ui_swing.components.EtchedLineBorder$BorderSide:ordinal()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.EtchedLineBorder$1
    //#    method: com.dmdirc.addons.ui_swing.components.EtchedLineBorder$1__static_init
    //#    unanalyzed callee: int com.dmdirc.addons.ui_swing.components.EtchedLineBorder$BorderSide:ordinal()
    //#input(com.dmdirc.addons.ui_swing.components.EtchedLineBorder$1__static_init): com.dmdirc.addons.ui_swing.components.EtchedLineBorder$BorderSide__static_init.new EtchedLineBorder$BorderSide[](EtchedLineBorder$BorderSide__static_init#3).length
    //#input(com.dmdirc.addons.ui_swing.components.EtchedLineBorder$1__static_init): com.dmdirc.addons.ui_swing.components.EtchedLineBorder$BorderSide__static_init.new EtchedLineBorder$BorderSide[](EtchedLineBorder$BorderSide__static_init#3)[0..2]
    //#input(com.dmdirc.addons.ui_swing.components.EtchedLineBorder$1__static_init): com/dmdirc/addons/ui_swing/components/EtchedLineBorder$BorderSide.$VALUES
    //#input(com.dmdirc.addons.ui_swing.components.EtchedLineBorder$1__static_init): com/dmdirc/addons/ui_swing/components/EtchedLineBorder$BorderSide.BOTTOM
    //#input(com.dmdirc.addons.ui_swing.components.EtchedLineBorder$1__static_init): com/dmdirc/addons/ui_swing/components/EtchedLineBorder$BorderSide.TOP
    //#output(com.dmdirc.addons.ui_swing.components.EtchedLineBorder$1__static_init): $SwitchMap$com$dmdirc$addons$ui_swing$components$EtchedLineBorder$BorderSide
    //#output(com.dmdirc.addons.ui_swing.components.EtchedLineBorder$1__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/EtchedLineBorder$1]
    //#output(com.dmdirc.addons.ui_swing.components.EtchedLineBorder$1__static_init): new int[](EtchedLineBorder$1__static_init#1) num objects
    //#output(com.dmdirc.addons.ui_swing.components.EtchedLineBorder$1__static_init): $SwitchMap$com$dmdirc$addons$ui_swing$components$EtchedLineBorder$BorderSide.length
    //#output(com.dmdirc.addons.ui_swing.components.EtchedLineBorder$1__static_init): $SwitchMap$com$dmdirc$addons$ui_swing$components$EtchedLineBorder$BorderSide[0..4_294_967_295]
    //#new obj(com.dmdirc.addons.ui_swing.components.EtchedLineBorder$1__static_init): new int[](EtchedLineBorder$1__static_init#1)
    //#pre[1] (com.dmdirc.addons.ui_swing.components.EtchedLineBorder$1__static_init): (soft) init'ed(com.dmdirc.addons.ui_swing.components.EtchedLineBorder$BorderSide__static_init.new EtchedLineBorder$BorderSide[](EtchedLineBorder$BorderSide__static_init#3)[0..2])
    //#presumption(com.dmdirc.addons.ui_swing.components.EtchedLineBorder$1__static_init): com.dmdirc.addons.ui_swing.components.EtchedLineBorder_BorderSide:ordinal(...)@70 in {0,1}
    //#presumption(com.dmdirc.addons.ui_swing.components.EtchedLineBorder$1__static_init): com.dmdirc.addons.ui_swing.components.EtchedLineBorder_BorderSide:ordinal(...)@70 in {0,1}
    //#presumption(com.dmdirc.addons.ui_swing.components.EtchedLineBorder$1__static_init): com.dmdirc.addons.ui_swing.components.EtchedLineBorder_BorderSide:ordinal(...)@70 - values(...).length in range
    //#presumption(com.dmdirc.addons.ui_swing.components.EtchedLineBorder$1__static_init): com.dmdirc.addons.ui_swing.components.EtchedLineBorder_BorderSide:ordinal(...)@70 - values(...).length in range
    //#post(com.dmdirc.addons.ui_swing.components.EtchedLineBorder$1__static_init): $SwitchMap$com$dmdirc$addons$ui_swing$components$EtchedLineBorder$BorderSide == &new int[](EtchedLineBorder$1__static_init#1)
    //#post(com.dmdirc.addons.ui_swing.components.EtchedLineBorder$1__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/EtchedLineBorder$1] == &__Dispatch_Table
    //#post(com.dmdirc.addons.ui_swing.components.EtchedLineBorder$1__static_init): new int[](EtchedLineBorder$1__static_init#1) num objects == 1
    //#post(com.dmdirc.addons.ui_swing.components.EtchedLineBorder$1__static_init): $SwitchMap$com$dmdirc$addons$ui_swing$components$EtchedLineBorder$BorderSide.length == 2
    //#post(com.dmdirc.addons.ui_swing.components.EtchedLineBorder$1__static_init): $SwitchMap$com$dmdirc$addons$ui_swing$components$EtchedLineBorder$BorderSide[0..4_294_967_295] in {0..2}, if init'ed
    //#EtchedLineBorder.java:70: end of method: com.dmdirc.addons.ui_swing.components.EtchedLineBorder$1.com.dmdirc.addons.ui_swing.components.EtchedLineBorder$1__static_init
    //#EtchedLineBorder.java:70: Warning: method not available - call not analyzed
    //#    call on int com.dmdirc.addons.ui_swing.components.EtchedLineBorder$BorderSide:ordinal()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.EtchedLineBorder
    //#    method: void paintBorder(Component, Graphics, int, int, int, int)
    //#    unanalyzed callee: int com.dmdirc.addons.ui_swing.components.EtchedLineBorder$BorderSide:ordinal()
            case TOP:
                g.drawLine(0, 0, width - 2, 0);
                break;
            case BOTTOM:
                g.drawLine(0, height - 1, width - 2, height - 1);
                break;
            default:
                break;
        }

        g.setColor(etchType == LOWERED ? getHighlightColor(c) : getShadowColor(c));
    //#EtchedLineBorder.java:81: Warning: method not available - call not analyzed
    //#    call on Color com.dmdirc.addons.ui_swing.components.EtchedLineBorder:getShadowColor(Component)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.EtchedLineBorder
    //#    method: void paintBorder(Component, Graphics, int, int, int, int)
    //#    unanalyzed callee: Color com.dmdirc.addons.ui_swing.components.EtchedLineBorder:getShadowColor(Component)
    //#EtchedLineBorder.java:81: Warning: method not available - call not analyzed
    //#    call on Color com.dmdirc.addons.ui_swing.components.EtchedLineBorder:getHighlightColor(Component)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.EtchedLineBorder
    //#    method: void paintBorder(Component, Graphics, int, int, int, int)
    //#    unanalyzed callee: Color com.dmdirc.addons.ui_swing.components.EtchedLineBorder:getHighlightColor(Component)
        switch (side) {
    //#EtchedLineBorder.java:82: Warning: method not available - call not analyzed
    //#    call on int com.dmdirc.addons.ui_swing.components.EtchedLineBorder$BorderSide:ordinal()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.EtchedLineBorder
    //#    method: void paintBorder(Component, Graphics, int, int, int, int)
    //#    unanalyzed callee: int com.dmdirc.addons.ui_swing.components.EtchedLineBorder$BorderSide:ordinal()
            case TOP:
                g.drawLine(0, 1, width - 2, 1);
                break;
            case BOTTOM:
                g.drawLine(0, height, width - 2, height);
                break;
            default:
                break;
        }

        g.translate(-x, -y);
    }
    //#EtchedLineBorder.java:94: end of method: void com.dmdirc.addons.ui_swing.components.EtchedLineBorder.paintBorder(Component, Graphics, int, int, int, int)
}
    //#EtchedLineBorder.java:: end of class: com.dmdirc.addons.ui_swing.components.EtchedLineBorder$BorderSide
    //#EtchedLineBorder.java:: end of class: com.dmdirc.addons.ui_swing.components.EtchedLineBorder$1
    //#output(com.dmdirc.addons.ui_swing.components.EtchedLineBorder__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/EtchedLineBorder]
    //#output(com.dmdirc.addons.ui_swing.components.EtchedLineBorder__static_init): __Dispatch_Table.paintBorder(Ljava/awt/Component;Ljava/awt/Graphics;IIII)V
    //#post(com.dmdirc.addons.ui_swing.components.EtchedLineBorder__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/EtchedLineBorder] == &__Dispatch_Table
    //#post(com.dmdirc.addons.ui_swing.components.EtchedLineBorder__static_init): __Dispatch_Table.paintBorder(Ljava/awt/Component;Ljava/awt/Graphics;IIII)V == &paintBorder
    //#EtchedLineBorder.java:: end of method: com.dmdirc.addons.ui_swing.components.EtchedLineBorder.com.dmdirc.addons.ui_swing.components.EtchedLineBorder__static_init
    //#EtchedLineBorder.java:: end of class: com.dmdirc.addons.ui_swing.components.EtchedLineBorder
