//# 0 errors, 323 messages
//#
/*
    //#ChannelEvents.java:1:1: class: com.dmdirc.actions.metatypes.ChannelEvents
 * 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.actions.metatypes;

import com.dmdirc.Channel;
import com.dmdirc.Topic;
import com.dmdirc.actions.interfaces.ActionMetaType;
import com.dmdirc.parser.irc.ChannelClientInfo;

/**
 * Defines channel-related events.
 *
 * @author Chris
 */
public enum ChannelEvents implements ActionMetaType {
    //#ChannelEvents.java:35: method: ChannelEvents[] com.dmdirc.actions.metatypes.ChannelEvents.values()
    //#input(ChannelEvents[] values()): $VALUES
    //#input(ChannelEvents[] values()): $VALUES.length
    //#input(ChannelEvents[] values()): $VALUES[0..7]
    //#output(ChannelEvents[] values()): new ChannelEvents[](values#1) num objects
    //#output(ChannelEvents[] values()): return_value.length
    //#output(ChannelEvents[] values()): return_value[0..7]
    //#output(ChannelEvents[] values()): return_value
    //#new obj(ChannelEvents[] values()): new ChannelEvents[](values#1)
    //#pre[1] (ChannelEvents[] values()): (soft) init'ed($VALUES[0..7])
    //#post(ChannelEvents[] values()): return_value == &new ChannelEvents[](values#1)
    //#post(ChannelEvents[] values()): new ChannelEvents[](values#1) num objects == 1
    //#post(ChannelEvents[] values()): return_value.length == 7
    //#post(ChannelEvents[] values()): return_value[0..7] == One-of{$VALUES[0..7], undefined}
    //#ChannelEvents.java:35: end of method: ChannelEvents[] com.dmdirc.actions.metatypes.ChannelEvents.values()
    //#ChannelEvents.java:35: method: ChannelEvents com.dmdirc.actions.metatypes.ChannelEvents.valueOf(String)
    //#input(ChannelEvents valueOf(String)): __Descendant_Table[com/dmdirc/actions/metatypes/ChannelEvents]
    //#input(ChannelEvents valueOf(String)): __Descendant_Table[others]
    //#input(ChannelEvents valueOf(String)): name
    //#output(ChannelEvents valueOf(String)): return_value
    //#presumption(ChannelEvents valueOf(String)): java.lang.Enum:valueOf(...).__Tag@35 == com/dmdirc/actions/metatypes/ChannelEvents
    //#post(ChannelEvents valueOf(String)): init'ed(return_value)
    //#ChannelEvents.java:35: end of method: ChannelEvents com.dmdirc.actions.metatypes.ChannelEvents.valueOf(String)

    /** Channel event type. */
    CHANNEL_EVENT(new String[]{"channel"}, Channel.class),
    //#ChannelEvents.java:38: method: com.dmdirc.actions.metatypes.ChannelEvents.com.dmdirc.actions.metatypes.ChannelEvents__static_init
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): $VALUES
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_CTCP
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_EVENT
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_MODEEVENT
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT_WITH_ARG
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT_WITH_VICTIM
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_TOPICEVENT
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): __Descendant_Table[com/dmdirc/actions/metatypes/ChannelEvents]
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): __Dispatch_Table.getArgNames()[Ljava/lang/String;
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): __Dispatch_Table.getArgTypes()[Ljava/lang/Class;
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): __Dispatch_Table.getArity()I
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): __Dispatch_Table.getGroup()Ljava/lang/String;
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): com/dmdirc/actions/interfaces/ActionMetaType.__Descendant_Table[com/dmdirc/actions/metatypes/ChannelEvents]
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): new ChannelEvents(ChannelEvents__static_init#1) num objects
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_EVENT.__Tag
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_EVENT.argNames
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_EVENT.argTypes
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): new ChannelEvents(ChannelEvents__static_init#10) num objects
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_CTCP.__Tag
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_CTCP.argNames
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_CTCP.argTypes
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): new ChannelEvents(ChannelEvents__static_init#13) num objects
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT.__Tag
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT.argNames
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT.argTypes
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): new ChannelEvents(ChannelEvents__static_init#16) num objects
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT_WITH_ARG.__Tag
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT_WITH_ARG.argNames
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT_WITH_ARG.argTypes
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): new ChannelEvents(ChannelEvents__static_init#19) num objects
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT_WITH_VICTIM.__Tag
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT_WITH_VICTIM.argNames
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT_WITH_VICTIM.argTypes
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): new ChannelEvents(ChannelEvents__static_init#4) num objects
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_MODEEVENT.__Tag
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_MODEEVENT.argNames
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_MODEEVENT.argTypes
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): new ChannelEvents(ChannelEvents__static_init#7) num objects
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_TOPICEVENT.__Tag
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_TOPICEVENT.argNames
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_TOPICEVENT.argTypes
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): new ChannelEvents[](ChannelEvents__static_init#22) num objects
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): $VALUES.length
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): $VALUES[0]
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): $VALUES[1]
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): $VALUES[2]
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): $VALUES[3]
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): $VALUES[4]
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): $VALUES[5]
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): $VALUES[6]
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): new Class[](ChannelEvents__static_init#12) num objects
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_CTCP.argTypes.length
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_CTCP.argTypes[0]
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_CTCP.argTypes[1]
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_CTCP.argTypes[2]
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_CTCP.argTypes[3]
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): new Class[](ChannelEvents__static_init#15) num objects
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT.argTypes.length
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT.argTypes[0]
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT.argTypes[1]
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): new Class[](ChannelEvents__static_init#18) num objects
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT_WITH_ARG.argTypes.length
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT_WITH_ARG.argTypes[0]
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT_WITH_ARG.argTypes[1]
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT_WITH_ARG.argTypes[2]
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): new Class[](ChannelEvents__static_init#21) num objects
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT_WITH_VICTIM.argTypes.length
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT_WITH_VICTIM.argTypes[0]
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT_WITH_VICTIM.argTypes[1]
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT_WITH_VICTIM.argTypes[2]
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT_WITH_VICTIM.argTypes[3]
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): new Class[](ChannelEvents__static_init#3) num objects
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_EVENT.argTypes.length
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_EVENT.argTypes[0]
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): new Class[](ChannelEvents__static_init#6) num objects
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_MODEEVENT.argTypes.length
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_MODEEVENT.argTypes[0]
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_MODEEVENT.argTypes[1]
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): new Class[](ChannelEvents__static_init#9) num objects
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_TOPICEVENT.argTypes.length
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_TOPICEVENT.argTypes[0]
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_TOPICEVENT.argTypes[1]
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): new String[](ChannelEvents__static_init#11) num objects
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_CTCP.argNames.length
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_CTCP.argNames[0]
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_CTCP.argNames[1]
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_CTCP.argNames[2]
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_CTCP.argNames[3]
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): new String[](ChannelEvents__static_init#14) num objects
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT.argNames.length
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT.argNames[0]
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT.argNames[1]
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): new String[](ChannelEvents__static_init#17) num objects
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT_WITH_ARG.argNames.length
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT_WITH_ARG.argNames[0]
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT_WITH_ARG.argNames[1]
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT_WITH_ARG.argNames[2]
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): new String[](ChannelEvents__static_init#2) num objects
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_EVENT.argNames.length
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_EVENT.argNames[0]
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): new String[](ChannelEvents__static_init#20) num objects
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT_WITH_VICTIM.argNames.length
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT_WITH_VICTIM.argNames[0]
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT_WITH_VICTIM.argNames[1]
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT_WITH_VICTIM.argNames[2]
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT_WITH_VICTIM.argNames[3]
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): new String[](ChannelEvents__static_init#5) num objects
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_MODEEVENT.argNames.length
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_MODEEVENT.argNames[0]
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_MODEEVENT.argNames[1]
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): new String[](ChannelEvents__static_init#8) num objects
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_TOPICEVENT.argNames.length
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_TOPICEVENT.argNames[0]
    //#output(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_TOPICEVENT.argNames[1]
    //#new obj(com.dmdirc.actions.metatypes.ChannelEvents__static_init): new ChannelEvents(ChannelEvents__static_init#1)
    //#new obj(com.dmdirc.actions.metatypes.ChannelEvents__static_init): new ChannelEvents(ChannelEvents__static_init#10)
    //#new obj(com.dmdirc.actions.metatypes.ChannelEvents__static_init): new ChannelEvents(ChannelEvents__static_init#13)
    //#new obj(com.dmdirc.actions.metatypes.ChannelEvents__static_init): new ChannelEvents(ChannelEvents__static_init#16)
    //#new obj(com.dmdirc.actions.metatypes.ChannelEvents__static_init): new ChannelEvents(ChannelEvents__static_init#19)
    //#new obj(com.dmdirc.actions.metatypes.ChannelEvents__static_init): new ChannelEvents(ChannelEvents__static_init#4)
    //#new obj(com.dmdirc.actions.metatypes.ChannelEvents__static_init): new ChannelEvents(ChannelEvents__static_init#7)
    //#new obj(com.dmdirc.actions.metatypes.ChannelEvents__static_init): new ChannelEvents[](ChannelEvents__static_init#22)
    //#new obj(com.dmdirc.actions.metatypes.ChannelEvents__static_init): new Class[](ChannelEvents__static_init#12)
    //#new obj(com.dmdirc.actions.metatypes.ChannelEvents__static_init): new Class[](ChannelEvents__static_init#15)
    //#new obj(com.dmdirc.actions.metatypes.ChannelEvents__static_init): new Class[](ChannelEvents__static_init#18)
    //#new obj(com.dmdirc.actions.metatypes.ChannelEvents__static_init): new Class[](ChannelEvents__static_init#21)
    //#new obj(com.dmdirc.actions.metatypes.ChannelEvents__static_init): new Class[](ChannelEvents__static_init#3)
    //#new obj(com.dmdirc.actions.metatypes.ChannelEvents__static_init): new Class[](ChannelEvents__static_init#6)
    //#new obj(com.dmdirc.actions.metatypes.ChannelEvents__static_init): new Class[](ChannelEvents__static_init#9)
    //#new obj(com.dmdirc.actions.metatypes.ChannelEvents__static_init): new String[](ChannelEvents__static_init#11)
    //#new obj(com.dmdirc.actions.metatypes.ChannelEvents__static_init): new String[](ChannelEvents__static_init#14)
    //#new obj(com.dmdirc.actions.metatypes.ChannelEvents__static_init): new String[](ChannelEvents__static_init#17)
    //#new obj(com.dmdirc.actions.metatypes.ChannelEvents__static_init): new String[](ChannelEvents__static_init#2)
    //#new obj(com.dmdirc.actions.metatypes.ChannelEvents__static_init): new String[](ChannelEvents__static_init#20)
    //#new obj(com.dmdirc.actions.metatypes.ChannelEvents__static_init): new String[](ChannelEvents__static_init#5)
    //#new obj(com.dmdirc.actions.metatypes.ChannelEvents__static_init): new String[](ChannelEvents__static_init#8)
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): $VALUES == &new ChannelEvents[](ChannelEvents__static_init#22)
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_CTCP == &new ChannelEvents(ChannelEvents__static_init#10)
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): $VALUES[3] == &new ChannelEvents(ChannelEvents__static_init#10)
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_EVENT == &new ChannelEvents(ChannelEvents__static_init#1)
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): $VALUES[0] == &new ChannelEvents(ChannelEvents__static_init#1)
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_MODEEVENT == &new ChannelEvents(ChannelEvents__static_init#4)
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): $VALUES[1] == &new ChannelEvents(ChannelEvents__static_init#4)
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT == &new ChannelEvents(ChannelEvents__static_init#13)
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): $VALUES[4] == &new ChannelEvents(ChannelEvents__static_init#13)
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT_WITH_ARG == &new ChannelEvents(ChannelEvents__static_init#16)
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): $VALUES[5] == &new ChannelEvents(ChannelEvents__static_init#16)
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT_WITH_VICTIM == &new ChannelEvents(ChannelEvents__static_init#19)
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): $VALUES[6] == &new ChannelEvents(ChannelEvents__static_init#19)
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_TOPICEVENT == &new ChannelEvents(ChannelEvents__static_init#7)
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): $VALUES[2] == &new ChannelEvents(ChannelEvents__static_init#7)
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): __Descendant_Table[com/dmdirc/actions/metatypes/ChannelEvents] == &__Dispatch_Table
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): com/dmdirc/actions/interfaces/ActionMetaType.__Descendant_Table[com/dmdirc/actions/metatypes/ChannelEvents] == &__Dispatch_Table
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): __Dispatch_Table.getArgNames()[Ljava/lang/String; == &getArgNames
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): __Dispatch_Table.getArgTypes()[Ljava/lang/Class; == &getArgTypes
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): __Dispatch_Table.getArity()I == &getArity
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): __Dispatch_Table.getGroup()Ljava/lang/String; == &getGroup
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): new ChannelEvents(ChannelEvents__static_init#1) num objects == 1
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): new ChannelEvents(ChannelEvents__static_init#10) num objects == 1
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): new ChannelEvents(ChannelEvents__static_init#13) num objects == 1
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): new ChannelEvents(ChannelEvents__static_init#16) num objects == 1
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): new ChannelEvents(ChannelEvents__static_init#19) num objects == 1
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): new ChannelEvents(ChannelEvents__static_init#4) num objects == 1
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): new ChannelEvents(ChannelEvents__static_init#7) num objects == 1
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): new ChannelEvents[](ChannelEvents__static_init#22) num objects == 1
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): new Class[](ChannelEvents__static_init#12) num objects == 1
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): new Class[](ChannelEvents__static_init#15) num objects == 1
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): new Class[](ChannelEvents__static_init#18) num objects == 1
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): new Class[](ChannelEvents__static_init#21) num objects == 1
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): new Class[](ChannelEvents__static_init#3) num objects == 1
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_EVENT.argTypes.length == 1
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): new Class[](ChannelEvents__static_init#6) num objects == 1
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): new Class[](ChannelEvents__static_init#9) num objects == 1
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): new String[](ChannelEvents__static_init#11) num objects == 1
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): new String[](ChannelEvents__static_init#14) num objects == 1
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): new String[](ChannelEvents__static_init#17) num objects == 1
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): new String[](ChannelEvents__static_init#2) num objects == 1
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_EVENT.argNames.length == 1
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): new String[](ChannelEvents__static_init#20) num objects == 1
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): new String[](ChannelEvents__static_init#5) num objects == 1
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): new String[](ChannelEvents__static_init#8) num objects == 1
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_EVENT.__Tag == com/dmdirc/actions/metatypes/ChannelEvents
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_CTCP.__Tag == com/dmdirc/actions/metatypes/ChannelEvents
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT.__Tag == com/dmdirc/actions/metatypes/ChannelEvents
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT_WITH_ARG.__Tag == com/dmdirc/actions/metatypes/ChannelEvents
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT_WITH_VICTIM.__Tag == com/dmdirc/actions/metatypes/ChannelEvents
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_MODEEVENT.__Tag == com/dmdirc/actions/metatypes/ChannelEvents
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_TOPICEVENT.__Tag == com/dmdirc/actions/metatypes/ChannelEvents
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_EVENT.argNames == &new String[](ChannelEvents__static_init#2)
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_EVENT.argTypes == &new Class[](ChannelEvents__static_init#3)
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_CTCP.argNames == &new String[](ChannelEvents__static_init#11)
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_CTCP.argTypes == &new Class[](ChannelEvents__static_init#12)
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT.argNames == &new String[](ChannelEvents__static_init#14)
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT.argTypes == &new Class[](ChannelEvents__static_init#15)
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT_WITH_ARG.argNames == &new String[](ChannelEvents__static_init#17)
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT_WITH_ARG.argTypes == &new Class[](ChannelEvents__static_init#18)
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT_WITH_VICTIM.argNames == &new String[](ChannelEvents__static_init#20)
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT_WITH_VICTIM.argTypes == &new Class[](ChannelEvents__static_init#21)
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_MODEEVENT.argNames == &new String[](ChannelEvents__static_init#5)
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_MODEEVENT.argTypes == &new Class[](ChannelEvents__static_init#6)
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_TOPICEVENT.argNames == &new String[](ChannelEvents__static_init#8)
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_TOPICEVENT.argTypes == &new Class[](ChannelEvents__static_init#9)
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): $VALUES.length == 7
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_CTCP.argTypes.length == 4
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT_WITH_VICTIM.argTypes.length == 4
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_CTCP.argNames.length == 4
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT_WITH_VICTIM.argNames.length == 4
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_CTCP.argTypes[0] == &com/dmdirc/Channel.__Class_Obj
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT.argTypes[0] == &com/dmdirc/Channel.__Class_Obj
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT_WITH_ARG.argTypes[0] == &com/dmdirc/Channel.__Class_Obj
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT_WITH_VICTIM.argTypes[0] == &com/dmdirc/Channel.__Class_Obj
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_EVENT.argTypes[0] == &com/dmdirc/Channel.__Class_Obj
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_MODEEVENT.argTypes[0] == &com/dmdirc/Channel.__Class_Obj
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_TOPICEVENT.argTypes[0] == &com/dmdirc/Channel.__Class_Obj
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_CTCP.argTypes[1] == &com.dmdirc.parser.irc.ChannelClientInfo.__Class_Obj
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT.argTypes[1] == &com.dmdirc.parser.irc.ChannelClientInfo.__Class_Obj
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT_WITH_ARG.argTypes[1] == &com.dmdirc.parser.irc.ChannelClientInfo.__Class_Obj
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT_WITH_VICTIM.argTypes[1] == &com.dmdirc.parser.irc.ChannelClientInfo.__Class_Obj
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT_WITH_VICTIM.argTypes[2] == &com.dmdirc.parser.irc.ChannelClientInfo.__Class_Obj
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_CTCP.argTypes[2] == &java.lang.String.__Class_Obj
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_CTCP.argTypes[3] == &java.lang.String.__Class_Obj
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT_WITH_ARG.argTypes[2] == &java.lang.String.__Class_Obj
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT_WITH_VICTIM.argTypes[3] == &java.lang.String.__Class_Obj
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_MODEEVENT.argTypes[1] == &java.lang.String.__Class_Obj
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT.argTypes.length == 2
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_MODEEVENT.argTypes.length == 2
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_TOPICEVENT.argTypes.length == 2
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT.argNames.length == 2
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_MODEEVENT.argNames.length == 2
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_TOPICEVENT.argNames.length == 2
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT_WITH_ARG.argTypes.length == 3
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT_WITH_ARG.argNames.length == 3
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_TOPICEVENT.argTypes[1] == &com/dmdirc/Topic.__Class_Obj
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_CTCP.argNames[0] == &"channel"
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT.argNames[0] == &"channel"
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT_WITH_ARG.argNames[0] == &"channel"
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_EVENT.argNames[0] == &"channel"
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT_WITH_VICTIM.argNames[0] == &"channel"
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_MODEEVENT.argNames[0] == &"channel"
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_TOPICEVENT.argNames[0] == &"channel"
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_CTCP.argNames[1] == &"user"
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT.argNames[1] == &"user"
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT_WITH_ARG.argNames[1] == &"user"
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT_WITH_VICTIM.argNames[1] == &"user"
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_CTCP.argNames[2] == &"type"
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_CTCP.argNames[3] == &"content"
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT_WITH_ARG.argNames[2] == &"message"
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT_WITH_VICTIM.argNames[3] == &"message"
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_SOURCED_EVENT_WITH_VICTIM.argNames[2] == &"victim"
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_MODEEVENT.argNames[1] == &"modes"
    //#post(com.dmdirc.actions.metatypes.ChannelEvents__static_init): CHANNEL_TOPICEVENT.argNames[1] == &"topic"
    //#unanalyzed(com.dmdirc.actions.metatypes.ChannelEvents__static_init): Effects-of-calling:java.lang.Enum
    /** Channel mode event. */
    CHANNEL_MODEEVENT(new String[]{"channel", "modes"}, Channel.class, String.class),
    /** Channel topic event type. */
    CHANNEL_TOPICEVENT(new String[]{"channel", "topic"}, Channel.class, Topic.class),
    /** Channel CTCP type. */
    CHANNEL_CTCP(new String[]{"channel", "user", "type", "content"}, Channel.class, ChannelClientInfo.class, String.class, String.class),
    /** Channel event with source. */
    CHANNEL_SOURCED_EVENT(new String[]{"channel", "user"}, Channel.class, ChannelClientInfo.class),
    /** Chanel event with source and argument. */
    CHANNEL_SOURCED_EVENT_WITH_ARG(new String[]{"channel", "user", "message"}, Channel.class, ChannelClientInfo.class, String.class),
    /** Channel event with source and victim. */
    CHANNEL_SOURCED_EVENT_WITH_VICTIM(new String[]{"channel", "user", "victim", "message"}, Channel.class, ChannelClientInfo.class, ChannelClientInfo.class, String.class);
    //#ChannelEvents.java:50: end of method: com.dmdirc.actions.metatypes.ChannelEvents.com.dmdirc.actions.metatypes.ChannelEvents__static_init

    /** The names of the arguments for this meta type. */
    private String[] argNames;
    /** The classes of the arguments for this meta type. */
    private Class[] argTypes;

    /**
     * Creates a new instance of this meta-type.
     *
     * @param argNames The names of the meta-type's arguments
     * @param argTypes The types of the meta-type's arguments
     */
    ChannelEvents(final String[] argNames, final Class ... argTypes) {
    //#ChannelEvents.java:63: method: void com.dmdirc.actions.metatypes.ChannelEvents.com.dmdirc.actions.metatypes.ChannelEvents(String, int, String[], Class[])
    //#input(void com.dmdirc.actions.metatypes.ChannelEvents(String, int, String[], Class[])): Param_1
    //#input(void com.dmdirc.actions.metatypes.ChannelEvents(String, int, String[], Class[])): Param_2
    //#input(void com.dmdirc.actions.metatypes.ChannelEvents(String, int, String[], Class[])): argNames
    //#input(void com.dmdirc.actions.metatypes.ChannelEvents(String, int, String[], Class[])): argTypes
    //#input(void com.dmdirc.actions.metatypes.ChannelEvents(String, int, String[], Class[])): this
    //#output(void com.dmdirc.actions.metatypes.ChannelEvents(String, int, String[], Class[])): this.argNames
    //#output(void com.dmdirc.actions.metatypes.ChannelEvents(String, int, String[], Class[])): this.argTypes
    //#post(void com.dmdirc.actions.metatypes.ChannelEvents(String, int, String[], Class[])): this.argNames == argNames
    //#post(void com.dmdirc.actions.metatypes.ChannelEvents(String, int, String[], Class[])): init'ed(this.argNames)
    //#post(void com.dmdirc.actions.metatypes.ChannelEvents(String, int, String[], Class[])): this.argTypes == argTypes
    //#post(void com.dmdirc.actions.metatypes.ChannelEvents(String, int, String[], Class[])): init'ed(this.argTypes)
        this.argNames = argNames;
        this.argTypes = argTypes;
    }
    //#ChannelEvents.java:66: end of method: void com.dmdirc.actions.metatypes.ChannelEvents.com.dmdirc.actions.metatypes.ChannelEvents(String, int, String[], Class[])

    /** {@inheritDoc} */
    @Override
    public int getArity() {
        return argNames.length;
    //#ChannelEvents.java:71: method: int com.dmdirc.actions.metatypes.ChannelEvents.getArity()
    //#input(int getArity()): this
    //#input(int getArity()): this.argNames
    //#input(int getArity()): this.argNames.length
    //#output(int getArity()): return_value
    //#pre[2] (int getArity()): this.argNames != null
    //#pre[3] (int getArity()): this.argNames.length <= 4_294_967_295
    //#post(int getArity()): return_value == this.argNames.length
    //#post(int getArity()): return_value >= 0
    //#ChannelEvents.java:71: end of method: int com.dmdirc.actions.metatypes.ChannelEvents.getArity()
    }

    /** {@inheritDoc} */
    @Override
    public Class[] getArgTypes() {
        return argTypes;
    //#ChannelEvents.java:77: method: Class[] com.dmdirc.actions.metatypes.ChannelEvents.getArgTypes()
    //#input(Class[] getArgTypes()): this
    //#input(Class[] getArgTypes()): this.argTypes
    //#output(Class[] getArgTypes()): return_value
    //#pre[2] (Class[] getArgTypes()): init'ed(this.argTypes)
    //#post(Class[] getArgTypes()): return_value == this.argTypes
    //#post(Class[] getArgTypes()): init'ed(return_value)
    //#ChannelEvents.java:77: end of method: Class[] com.dmdirc.actions.metatypes.ChannelEvents.getArgTypes()
    }

    /** {@inheritDoc} */
    @Override
    public String[] getArgNames() {
        return argNames;
    //#ChannelEvents.java:83: method: String[] com.dmdirc.actions.metatypes.ChannelEvents.getArgNames()
    //#input(String[] getArgNames()): this
    //#input(String[] getArgNames()): this.argNames
    //#output(String[] getArgNames()): return_value
    //#pre[2] (String[] getArgNames()): init'ed(this.argNames)
    //#post(String[] getArgNames()): return_value == this.argNames
    //#post(String[] getArgNames()): init'ed(return_value)
    //#ChannelEvents.java:83: end of method: String[] com.dmdirc.actions.metatypes.ChannelEvents.getArgNames()
    }

    /** {@inheritDoc} */
    @Override
    public String getGroup() {
        return "Channel Events";
    //#ChannelEvents.java:89: method: String com.dmdirc.actions.metatypes.ChannelEvents.getGroup()
    //#output(String getGroup()): return_value
    //#post(String getGroup()): return_value == &"Channel Events"
    //#ChannelEvents.java:89: end of method: String com.dmdirc.actions.metatypes.ChannelEvents.getGroup()
    }

}
    //#ChannelEvents.java:: end of class: com.dmdirc.actions.metatypes.ChannelEvents
