//# 0 errors, 212 messages
//#
/*
    //#CommandType.java:1:1: class: com.dmdirc.commandparser.CommandType$1
    //#CommandType.java:1:1: class: com.dmdirc.commandparser.CommandType
 * 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.commandparser;

import com.dmdirc.commandparser.commands.ChannelCommand;
import com.dmdirc.commandparser.commands.ChatCommand;
import com.dmdirc.commandparser.commands.Command;
import com.dmdirc.commandparser.commands.GlobalCommand;
import com.dmdirc.commandparser.commands.QueryCommand;
import com.dmdirc.commandparser.commands.ServerCommand;

/**
 * Defines the possible targets for commands.
 * 
 * @author chris
 */
public enum CommandType {
    //#CommandType.java:37: method: CommandType[] com.dmdirc.commandparser.CommandType.values()
    //#input(CommandType[] values()): $VALUES
    //#input(CommandType[] values()): $VALUES.length
    //#input(CommandType[] values()): $VALUES[0..5]
    //#output(CommandType[] values()): new CommandType[](values#1) num objects
    //#output(CommandType[] values()): return_value.length
    //#output(CommandType[] values()): return_value[0..5]
    //#output(CommandType[] values()): return_value
    //#new obj(CommandType[] values()): new CommandType[](values#1)
    //#pre[1] (CommandType[] values()): (soft) init'ed($VALUES[0..5])
    //#post(CommandType[] values()): return_value == &new CommandType[](values#1)
    //#post(CommandType[] values()): new CommandType[](values#1) num objects == 1
    //#post(CommandType[] values()): return_value.length == 5
    //#post(CommandType[] values()): return_value[0..5] == One-of{$VALUES[0..5], undefined}
    //#CommandType.java:37: end of method: CommandType[] com.dmdirc.commandparser.CommandType.values()
    //#CommandType.java:37: method: CommandType com.dmdirc.commandparser.CommandType.valueOf(String)
    //#input(CommandType valueOf(String)): __Descendant_Table[com/dmdirc/commandparser/CommandType]
    //#input(CommandType valueOf(String)): __Descendant_Table[others]
    //#input(CommandType valueOf(String)): name
    //#output(CommandType valueOf(String)): return_value
    //#presumption(CommandType valueOf(String)): java.lang.Enum:valueOf(...).__Tag@37 == com/dmdirc/commandparser/CommandType
    //#post(CommandType valueOf(String)): init'ed(return_value)
    //#CommandType.java:37: end of method: CommandType com.dmdirc.commandparser.CommandType.valueOf(String)
    //#CommandType.java:37: method: void com.dmdirc.commandparser.CommandType.com.dmdirc.commandparser.CommandType(String, int)
    //#input(void com.dmdirc.commandparser.CommandType(String, int)): Param_1
    //#input(void com.dmdirc.commandparser.CommandType(String, int)): Param_2
    //#input(void com.dmdirc.commandparser.CommandType(String, int)): this
    
    /** A global command, which may be executed anywhere. */
    TYPE_GLOBAL,
    //#CommandType.java:40: method: com.dmdirc.commandparser.CommandType.com.dmdirc.commandparser.CommandType__static_init
    //#output(com.dmdirc.commandparser.CommandType__static_init): $VALUES
    //#output(com.dmdirc.commandparser.CommandType__static_init): TYPE_CHANNEL
    //#output(com.dmdirc.commandparser.CommandType__static_init): TYPE_CHAT
    //#output(com.dmdirc.commandparser.CommandType__static_init): TYPE_GLOBAL
    //#output(com.dmdirc.commandparser.CommandType__static_init): TYPE_QUERY
    //#output(com.dmdirc.commandparser.CommandType__static_init): TYPE_SERVER
    //#output(com.dmdirc.commandparser.CommandType__static_init): __Descendant_Table[com/dmdirc/commandparser/CommandType]
    //#output(com.dmdirc.commandparser.CommandType__static_init): __Dispatch_Table.getComponentTypes()[Lcom/dmdirc/commandparser/CommandType;
    //#output(com.dmdirc.commandparser.CommandType__static_init): __Dispatch_Table.toString()Ljava/lang/String;
    //#output(com.dmdirc.commandparser.CommandType__static_init): new CommandType(CommandType__static_init#1) num objects
    //#output(com.dmdirc.commandparser.CommandType__static_init): TYPE_GLOBAL.__Tag
    //#output(com.dmdirc.commandparser.CommandType__static_init): new CommandType(CommandType__static_init#2) num objects
    //#output(com.dmdirc.commandparser.CommandType__static_init): TYPE_SERVER.__Tag
    //#output(com.dmdirc.commandparser.CommandType__static_init): new CommandType(CommandType__static_init#3) num objects
    //#output(com.dmdirc.commandparser.CommandType__static_init): TYPE_CHAT.__Tag
    //#output(com.dmdirc.commandparser.CommandType__static_init): new CommandType(CommandType__static_init#4) num objects
    //#output(com.dmdirc.commandparser.CommandType__static_init): TYPE_CHANNEL.__Tag
    //#output(com.dmdirc.commandparser.CommandType__static_init): new CommandType(CommandType__static_init#5) num objects
    //#output(com.dmdirc.commandparser.CommandType__static_init): TYPE_QUERY.__Tag
    //#output(com.dmdirc.commandparser.CommandType__static_init): new CommandType[](CommandType__static_init#6) num objects
    //#output(com.dmdirc.commandparser.CommandType__static_init): $VALUES.length
    //#output(com.dmdirc.commandparser.CommandType__static_init): $VALUES[0]
    //#output(com.dmdirc.commandparser.CommandType__static_init): $VALUES[1]
    //#output(com.dmdirc.commandparser.CommandType__static_init): $VALUES[2]
    //#output(com.dmdirc.commandparser.CommandType__static_init): $VALUES[3]
    //#output(com.dmdirc.commandparser.CommandType__static_init): $VALUES[4]
    //#new obj(com.dmdirc.commandparser.CommandType__static_init): new CommandType(CommandType__static_init#1)
    //#new obj(com.dmdirc.commandparser.CommandType__static_init): new CommandType(CommandType__static_init#2)
    //#new obj(com.dmdirc.commandparser.CommandType__static_init): new CommandType(CommandType__static_init#3)
    //#new obj(com.dmdirc.commandparser.CommandType__static_init): new CommandType(CommandType__static_init#4)
    //#new obj(com.dmdirc.commandparser.CommandType__static_init): new CommandType(CommandType__static_init#5)
    //#new obj(com.dmdirc.commandparser.CommandType__static_init): new CommandType[](CommandType__static_init#6)
    //#post(com.dmdirc.commandparser.CommandType__static_init): $VALUES == &new CommandType[](CommandType__static_init#6)
    //#post(com.dmdirc.commandparser.CommandType__static_init): TYPE_CHANNEL == &new CommandType(CommandType__static_init#4)
    //#post(com.dmdirc.commandparser.CommandType__static_init): $VALUES[3] == &new CommandType(CommandType__static_init#4)
    //#post(com.dmdirc.commandparser.CommandType__static_init): TYPE_CHAT == &new CommandType(CommandType__static_init#3)
    //#post(com.dmdirc.commandparser.CommandType__static_init): $VALUES[2] == &new CommandType(CommandType__static_init#3)
    //#post(com.dmdirc.commandparser.CommandType__static_init): TYPE_GLOBAL == &new CommandType(CommandType__static_init#1)
    //#post(com.dmdirc.commandparser.CommandType__static_init): $VALUES[0] == &new CommandType(CommandType__static_init#1)
    //#post(com.dmdirc.commandparser.CommandType__static_init): TYPE_QUERY == &new CommandType(CommandType__static_init#5)
    //#post(com.dmdirc.commandparser.CommandType__static_init): $VALUES[4] == &new CommandType(CommandType__static_init#5)
    //#post(com.dmdirc.commandparser.CommandType__static_init): TYPE_SERVER == &new CommandType(CommandType__static_init#2)
    //#post(com.dmdirc.commandparser.CommandType__static_init): $VALUES[1] == &new CommandType(CommandType__static_init#2)
    //#post(com.dmdirc.commandparser.CommandType__static_init): __Descendant_Table[com/dmdirc/commandparser/CommandType] == &__Dispatch_Table
    //#post(com.dmdirc.commandparser.CommandType__static_init): __Dispatch_Table.getComponentTypes()[Lcom/dmdirc/commandparser/CommandType; == &getComponentTypes
    //#post(com.dmdirc.commandparser.CommandType__static_init): __Dispatch_Table.toString()Ljava/lang/String; == &toString
    //#post(com.dmdirc.commandparser.CommandType__static_init): new CommandType(CommandType__static_init#1) num objects == 1
    //#post(com.dmdirc.commandparser.CommandType__static_init): new CommandType(CommandType__static_init#2) num objects == 1
    //#post(com.dmdirc.commandparser.CommandType__static_init): new CommandType(CommandType__static_init#3) num objects == 1
    //#post(com.dmdirc.commandparser.CommandType__static_init): new CommandType(CommandType__static_init#4) num objects == 1
    //#post(com.dmdirc.commandparser.CommandType__static_init): new CommandType(CommandType__static_init#5) num objects == 1
    //#post(com.dmdirc.commandparser.CommandType__static_init): new CommandType[](CommandType__static_init#6) num objects == 1
    //#post(com.dmdirc.commandparser.CommandType__static_init): TYPE_GLOBAL.__Tag == com/dmdirc/commandparser/CommandType
    //#post(com.dmdirc.commandparser.CommandType__static_init): TYPE_SERVER.__Tag == com/dmdirc/commandparser/CommandType
    //#post(com.dmdirc.commandparser.CommandType__static_init): TYPE_CHAT.__Tag == com/dmdirc/commandparser/CommandType
    //#post(com.dmdirc.commandparser.CommandType__static_init): TYPE_CHANNEL.__Tag == com/dmdirc/commandparser/CommandType
    //#post(com.dmdirc.commandparser.CommandType__static_init): TYPE_QUERY.__Tag == com/dmdirc/commandparser/CommandType
    //#post(com.dmdirc.commandparser.CommandType__static_init): $VALUES.length == 5
    //#unanalyzed(com.dmdirc.commandparser.CommandType__static_init): Effects-of-calling:java.lang.Enum
    /** A server command, which only makes sense in the context of a connection. */
    TYPE_SERVER,
    /** A chat command, which needs a MessageTarget to make sense. */
    TYPE_CHAT,
    /** A channel command. */
    TYPE_CHANNEL,
    /** A query command. */
    TYPE_QUERY;
    //#CommandType.java:48: end of method: com.dmdirc.commandparser.CommandType.com.dmdirc.commandparser.CommandType__static_init
   
    /**
     * Looks up the command type for the specified command, by inspecting its
     * class.
     * 
     * @param command The command to look up
     * @return The type of the specified command
     */
    public static CommandType fromCommand(final Command command) {
        if (command instanceof GlobalCommand) {
    //#CommandType.java:58: method: CommandType com.dmdirc.commandparser.CommandType.fromCommand(Command)
    //#input(CommandType fromCommand(Command)): TYPE_CHANNEL
    //#input(CommandType fromCommand(Command)): TYPE_CHAT
    //#input(CommandType fromCommand(Command)): TYPE_GLOBAL
    //#input(CommandType fromCommand(Command)): TYPE_QUERY
    //#input(CommandType fromCommand(Command)): TYPE_SERVER
    //#input(CommandType fromCommand(Command)): com/dmdirc/commandparser/commands/ChannelCommand.__Descendant_Table[com/dmdirc/commandparser/commands/ChannelCommand]
    //#input(CommandType fromCommand(Command)): com/dmdirc/commandparser/commands/ChannelCommand.__Descendant_Table[com/dmdirc/commandparser/commands/channel/Ban]
    //#input(CommandType fromCommand(Command)): com/dmdirc/commandparser/commands/ChannelCommand.__Descendant_Table[com/dmdirc/commandparser/commands/channel/ChannelSettings]
    //#input(CommandType fromCommand(Command)): com/dmdirc/commandparser/commands/ChannelCommand.__Descendant_Table[com/dmdirc/commandparser/commands/channel/Cycle]
    //#input(CommandType fromCommand(Command)): com/dmdirc/commandparser/commands/ChannelCommand.__Descendant_Table[com/dmdirc/commandparser/commands/channel/KickReason]
    //#input(CommandType fromCommand(Command)): com/dmdirc/commandparser/commands/ChannelCommand.__Descendant_Table[com/dmdirc/commandparser/commands/channel/Mode]
    //#input(CommandType fromCommand(Command)): com/dmdirc/commandparser/commands/ChannelCommand.__Descendant_Table[com/dmdirc/commandparser/commands/channel/Names]
    //#input(CommandType fromCommand(Command)): com/dmdirc/commandparser/commands/ChannelCommand.__Descendant_Table[com/dmdirc/commandparser/commands/channel/Part]
    //#input(CommandType fromCommand(Command)): com/dmdirc/commandparser/commands/ChannelCommand.__Descendant_Table[com/dmdirc/commandparser/commands/channel/SetNickColour]
    //#input(CommandType fromCommand(Command)): com/dmdirc/commandparser/commands/ChannelCommand.__Descendant_Table[com/dmdirc/commandparser/commands/channel/ShowTopic]
    //#input(CommandType fromCommand(Command)): com/dmdirc/commandparser/commands/ChannelCommand.__Descendant_Table[others]
    //#input(CommandType fromCommand(Command)): com/dmdirc/commandparser/commands/ChatCommand.__Descendant_Table[com/dmdirc/commandparser/commands/ChatCommand]
    //#input(CommandType fromCommand(Command)): com/dmdirc/commandparser/commands/ChatCommand.__Descendant_Table[com/dmdirc/commandparser/commands/chat/Me]
    //#input(CommandType fromCommand(Command)): com/dmdirc/commandparser/commands/ChatCommand.__Descendant_Table[others]
    //#input(CommandType fromCommand(Command)): com/dmdirc/commandparser/commands/GlobalCommand.__Descendant_Table[others]
    //#input(CommandType fromCommand(Command)): com/dmdirc/commandparser/commands/QueryCommand.__Descendant_Table[com/dmdirc/commandparser/commands/QueryCommand]
    //#input(CommandType fromCommand(Command)): com/dmdirc/commandparser/commands/QueryCommand.__Descendant_Table[others]
    //#input(CommandType fromCommand(Command)): com/dmdirc/commandparser/commands/ServerCommand.__Descendant_Table[com/dmdirc/commandparser/commands/ServerCommand]
    //#input(CommandType fromCommand(Command)): com/dmdirc/commandparser/commands/ServerCommand.__Descendant_Table[com/dmdirc/commandparser/commands/server/AllChannels]
    //#input(CommandType fromCommand(Command)): com/dmdirc/commandparser/commands/ServerCommand.__Descendant_Table[com/dmdirc/commandparser/commands/server/Away]
    //#input(CommandType fromCommand(Command)): com/dmdirc/commandparser/commands/ServerCommand.__Descendant_Table[com/dmdirc/commandparser/commands/server/Back]
    //#input(CommandType fromCommand(Command)): com/dmdirc/commandparser/commands/ServerCommand.__Descendant_Table[com/dmdirc/commandparser/commands/server/ChangeServer]
    //#input(CommandType fromCommand(Command)): com/dmdirc/commandparser/commands/ServerCommand.__Descendant_Table[com/dmdirc/commandparser/commands/server/Ctcp]
    //#input(CommandType fromCommand(Command)): com/dmdirc/commandparser/commands/ServerCommand.__Descendant_Table[com/dmdirc/commandparser/commands/server/Disconnect]
    //#input(CommandType fromCommand(Command)): com/dmdirc/commandparser/commands/ServerCommand.__Descendant_Table[com/dmdirc/commandparser/commands/server/Ignore]
    //#input(CommandType fromCommand(Command)): com/dmdirc/commandparser/commands/ServerCommand.__Descendant_Table[com/dmdirc/commandparser/commands/server/JoinChannelCommand]
    //#input(CommandType fromCommand(Command)): com/dmdirc/commandparser/commands/ServerCommand.__Descendant_Table[com/dmdirc/commandparser/commands/server/Message]
    //#input(CommandType fromCommand(Command)): com/dmdirc/commandparser/commands/ServerCommand.__Descendant_Table[com/dmdirc/commandparser/commands/server/Nick]
    //#input(CommandType fromCommand(Command)): com/dmdirc/commandparser/commands/ServerCommand.__Descendant_Table[com/dmdirc/commandparser/commands/server/Notice]
    //#input(CommandType fromCommand(Command)): com/dmdirc/commandparser/commands/ServerCommand.__Descendant_Table[com/dmdirc/commandparser/commands/server/OpenQuery]
    //#input(CommandType fromCommand(Command)): com/dmdirc/commandparser/commands/ServerCommand.__Descendant_Table[com/dmdirc/commandparser/commands/server/RawServerCommand]
    //#input(CommandType fromCommand(Command)): com/dmdirc/commandparser/commands/ServerCommand.__Descendant_Table[com/dmdirc/commandparser/commands/server/Raw]
    //#input(CommandType fromCommand(Command)): com/dmdirc/commandparser/commands/ServerCommand.__Descendant_Table[com/dmdirc/commandparser/commands/server/Reconnect]
    //#input(CommandType fromCommand(Command)): com/dmdirc/commandparser/commands/ServerCommand.__Descendant_Table[com/dmdirc/commandparser/commands/server/Umode]
    //#input(CommandType fromCommand(Command)): com/dmdirc/commandparser/commands/ServerCommand.__Descendant_Table[others]
    //#input(CommandType fromCommand(Command)): command
    //#input(CommandType fromCommand(Command)): command.__Tag
    //#output(CommandType fromCommand(Command)): return_value
    //#post(CommandType fromCommand(Command)): return_value in Addr_Set{null,&new CommandType(CommandType__static_init#5),&new CommandType(CommandType__static_init#4),&new CommandType(CommandType__static_init#3),&new CommandType(CommandType__static_init#2),&new CommandType(CommandType__static_init#1)}
    //#test_vector(CommandType fromCommand(Command)): command.__Tag: {441_088, 458_496, 459_264, 459_776, 460_288, 460_800, 461_312, 461_824, 462_336, 462_848, 463_360, 463_872, 464_384, 464_896, 465_408, 465_920, 466_432}, {436_992, 447_488}, {436_224, 442_624, 443_392, 443_904, 444_416, 444_928, 445_440, 445_952, 446_464, 446_976}, {440_576}
            return TYPE_GLOBAL;
        } else if (command instanceof ServerCommand) {
            return TYPE_SERVER;
        } else if (command instanceof ChatCommand) {
            return TYPE_CHAT;
        } else if (command instanceof ChannelCommand) {
            return TYPE_CHANNEL;
        } else if (command instanceof QueryCommand) {
            return TYPE_QUERY;
        } else {
            return null;
    //#CommandType.java:69: end of method: CommandType com.dmdirc.commandparser.CommandType.fromCommand(Command)
        }
    }

    /**
     * Retrieves an array of component types that make up this command type.
     * Generally this will only contain the type itself, but some commands may
     * be registered in multiple queues (such as CHANNEL commands going into
     * both CHAT and CHANNEL queues). Note that for obvious reasons there is
     * no recursion done on the values returned here.
     *
     * @since 0.6.3m1
     * @return An array of types which this type should be registered as.
     */
    public CommandType[] getComponentTypes() {
        if (this == TYPE_CHANNEL || this == TYPE_QUERY) {
    //#CommandType.java:84: method: CommandType[] com.dmdirc.commandparser.CommandType.getComponentTypes()
    //#input(CommandType[] getComponentTypes()): TYPE_CHANNEL
    //#input(CommandType[] getComponentTypes()): TYPE_CHAT
    //#input(CommandType[] getComponentTypes()): TYPE_QUERY
    //#input(CommandType[] getComponentTypes()): this
    //#output(CommandType[] getComponentTypes()): new CommandType[](getComponentTypes#1) num objects
    //#output(CommandType[] getComponentTypes()): new CommandType[](getComponentTypes#1).length
    //#output(CommandType[] getComponentTypes()): new CommandType[](getComponentTypes#1)[0]
    //#output(CommandType[] getComponentTypes()): new CommandType[](getComponentTypes#1)[1]
    //#output(CommandType[] getComponentTypes()): new CommandType[](getComponentTypes#2) num objects
    //#output(CommandType[] getComponentTypes()): new CommandType[](getComponentTypes#2).length
    //#output(CommandType[] getComponentTypes()): new CommandType[](getComponentTypes#2)[0]
    //#output(CommandType[] getComponentTypes()): return_value
    //#new obj(CommandType[] getComponentTypes()): new CommandType[](getComponentTypes#1)
    //#new obj(CommandType[] getComponentTypes()): new CommandType[](getComponentTypes#2)
    //#post(CommandType[] getComponentTypes()): return_value in Addr_Set{&new CommandType[](getComponentTypes#2),&new CommandType[](getComponentTypes#1)}
    //#post(CommandType[] getComponentTypes()): new CommandType[](getComponentTypes#1) num objects <= 1
    //#post(CommandType[] getComponentTypes()): new CommandType[](getComponentTypes#1).length == 2
    //#post(CommandType[] getComponentTypes()): new CommandType[](getComponentTypes#1)[0] == this
    //#post(CommandType[] getComponentTypes()): new CommandType[](getComponentTypes#1)[0] != null
    //#post(CommandType[] getComponentTypes()): new CommandType[](getComponentTypes#1)[1] == &new CommandType(CommandType__static_init#3)
    //#post(CommandType[] getComponentTypes()): new CommandType[](getComponentTypes#2) num objects <= 1
    //#post(CommandType[] getComponentTypes()): new CommandType[](getComponentTypes#2).length == 1
    //#post(CommandType[] getComponentTypes()): new CommandType[](getComponentTypes#2)[0] == this
    //#post(CommandType[] getComponentTypes()): new CommandType[](getComponentTypes#2)[0] != null
            return new CommandType[]{this, TYPE_CHAT};
        } else {
            return new CommandType[]{this};
    //#CommandType.java:87: end of method: CommandType[] com.dmdirc.commandparser.CommandType.getComponentTypes()
        }
    }

    /** {@inheritDoc} */
    @Override
    public String toString() {
        switch (this) {
    //#CommandType.java:94: method: com.dmdirc.commandparser.CommandType$1.com.dmdirc.commandparser.CommandType$1__static_init
    //#CommandType.java:94: Warning: method not available - call not analyzed
    //#    call on int com.dmdirc.commandparser.CommandType:ordinal()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.commandparser.CommandType$1
    //#    method: com.dmdirc.commandparser.CommandType$1__static_init
    //#    unanalyzed callee: int com.dmdirc.commandparser.CommandType:ordinal()
    //#input(com.dmdirc.commandparser.CommandType$1__static_init): com.dmdirc.commandparser.CommandType__static_init.new CommandType[](CommandType__static_init#6).length
    //#input(com.dmdirc.commandparser.CommandType$1__static_init): com.dmdirc.commandparser.CommandType__static_init.new CommandType[](CommandType__static_init#6)[0..5]
    //#input(com.dmdirc.commandparser.CommandType$1__static_init): com/dmdirc/commandparser/CommandType.$VALUES
    //#input(com.dmdirc.commandparser.CommandType$1__static_init): com/dmdirc/commandparser/CommandType.TYPE_CHANNEL
    //#input(com.dmdirc.commandparser.CommandType$1__static_init): com/dmdirc/commandparser/CommandType.TYPE_CHAT
    //#input(com.dmdirc.commandparser.CommandType$1__static_init): com/dmdirc/commandparser/CommandType.TYPE_GLOBAL
    //#input(com.dmdirc.commandparser.CommandType$1__static_init): com/dmdirc/commandparser/CommandType.TYPE_QUERY
    //#input(com.dmdirc.commandparser.CommandType$1__static_init): com/dmdirc/commandparser/CommandType.TYPE_SERVER
    //#output(com.dmdirc.commandparser.CommandType$1__static_init): $SwitchMap$com$dmdirc$commandparser$CommandType
    //#output(com.dmdirc.commandparser.CommandType$1__static_init): __Descendant_Table[com/dmdirc/commandparser/CommandType$1]
    //#output(com.dmdirc.commandparser.CommandType$1__static_init): new int[](CommandType$1__static_init#1) num objects
    //#output(com.dmdirc.commandparser.CommandType$1__static_init): $SwitchMap$com$dmdirc$commandparser$CommandType.length
    //#output(com.dmdirc.commandparser.CommandType$1__static_init): $SwitchMap$com$dmdirc$commandparser$CommandType[0..4_294_967_295]
    //#new obj(com.dmdirc.commandparser.CommandType$1__static_init): new int[](CommandType$1__static_init#1)
    //#pre[1] (com.dmdirc.commandparser.CommandType$1__static_init): (soft) init'ed(com.dmdirc.commandparser.CommandType__static_init.new CommandType[](CommandType__static_init#6)[0..5])
    //#presumption(com.dmdirc.commandparser.CommandType$1__static_init): com.dmdirc.commandparser.CommandType:ordinal(...)@94 in {0..4}
    //#presumption(com.dmdirc.commandparser.CommandType$1__static_init): com.dmdirc.commandparser.CommandType:ordinal(...)@94 in {0..4}
    //#presumption(com.dmdirc.commandparser.CommandType$1__static_init): com.dmdirc.commandparser.CommandType:ordinal(...)@94 in {0..4}
    //#presumption(com.dmdirc.commandparser.CommandType$1__static_init): com.dmdirc.commandparser.CommandType:ordinal(...)@94 in {0..4}
    //#presumption(com.dmdirc.commandparser.CommandType$1__static_init): com.dmdirc.commandparser.CommandType:ordinal(...)@94 in {0..4}
    //#presumption(com.dmdirc.commandparser.CommandType$1__static_init): com.dmdirc.commandparser.CommandType:ordinal(...)@94 - values(...).length in range
    //#presumption(com.dmdirc.commandparser.CommandType$1__static_init): com.dmdirc.commandparser.CommandType:ordinal(...)@94 - values(...).length in range
    //#presumption(com.dmdirc.commandparser.CommandType$1__static_init): com.dmdirc.commandparser.CommandType:ordinal(...)@94 - values(...).length in range
    //#presumption(com.dmdirc.commandparser.CommandType$1__static_init): com.dmdirc.commandparser.CommandType:ordinal(...)@94 - values(...).length in range
    //#presumption(com.dmdirc.commandparser.CommandType$1__static_init): com.dmdirc.commandparser.CommandType:ordinal(...)@94 - values(...).length in range
    //#post(com.dmdirc.commandparser.CommandType$1__static_init): $SwitchMap$com$dmdirc$commandparser$CommandType == &new int[](CommandType$1__static_init#1)
    //#post(com.dmdirc.commandparser.CommandType$1__static_init): __Descendant_Table[com/dmdirc/commandparser/CommandType$1] == &__Dispatch_Table
    //#post(com.dmdirc.commandparser.CommandType$1__static_init): new int[](CommandType$1__static_init#1) num objects == 1
    //#post(com.dmdirc.commandparser.CommandType$1__static_init): $SwitchMap$com$dmdirc$commandparser$CommandType.length == 5
    //#post(com.dmdirc.commandparser.CommandType$1__static_init): $SwitchMap$com$dmdirc$commandparser$CommandType[0..4_294_967_295] in {0..5}, if init'ed
    //#CommandType.java:94: end of method: com.dmdirc.commandparser.CommandType$1.com.dmdirc.commandparser.CommandType$1__static_init
    //#CommandType.java:94: method: String com.dmdirc.commandparser.CommandType.toString()
    //#CommandType.java:94: Warning: method not available - call not analyzed
    //#    call on int com.dmdirc.commandparser.CommandType:ordinal()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.commandparser.CommandType
    //#    method: String toString()
    //#    unanalyzed callee: int com.dmdirc.commandparser.CommandType:ordinal()
    //#input(String toString()): com.dmdirc.commandparser.CommandType$1__static_init.new int[](CommandType$1__static_init#1).length
    //#input(String toString()): com.dmdirc.commandparser.CommandType$1__static_init.new int[](CommandType$1__static_init#1)[0..4_294_967_295]
    //#input(String toString()): com/dmdirc/commandparser/CommandType$1.$SwitchMap$com$dmdirc$commandparser$CommandType
    //#input(String toString()): this
    //#output(String toString()): return_value
    //#pre[1] (String toString()): (soft) init'ed(com.dmdirc.commandparser.CommandType$1__static_init.new int[](CommandType$1__static_init#1)[0..4_294_967_295])
    //#presumption(String toString()): com.dmdirc.commandparser.CommandType:ordinal(...)@94 in {0..4}
    //#presumption(String toString()): values(...).length - com.dmdirc.commandparser.CommandType:ordinal(...)@94 in range
    //#post(String toString()): return_value in Addr_Set{&"Channel",&"Chat",&"Global",&"Query",&"Server",&"Unknown"}
    //#test_vector(String toString()): com.dmdirc.commandparser.CommandType$1__static_init.new int[](CommandType$1__static_init#1)[0..4_294_967_295]: {1}, {2}, {3}, {4}, {5}, {-2_147_483_648..0, 6..4_294_967_295}
            case TYPE_CHANNEL:
                return "Channel";
            case TYPE_CHAT:
                return "Chat";
            case TYPE_GLOBAL:
                return "Global";
            case TYPE_QUERY:
                return "Query";
            case TYPE_SERVER:
                return "Server";
            default:
                return "Unknown";
    //#CommandType.java:106: end of method: void com.dmdirc.commandparser.CommandType.com.dmdirc.commandparser.CommandType(String, int)
    //#CommandType.java:106: end of method: String com.dmdirc.commandparser.CommandType.toString()
        }
    }
}
    //#CommandType.java:: end of class: com.dmdirc.commandparser.CommandType$1
    //#CommandType.java:: end of class: com.dmdirc.commandparser.CommandType
