ActionManager.java


current inspection = 2009-09-03 21:56:13 (id #1)


Filter Options
Annotation Kind:
pre
presumption
post
unanalyzed
test_vector


  • bool access$002(bool)

  • Kind Annotation Text
    postinit'ed(killSwitch)
    postkillSwitch == x0
    postreturn_value == killSwitch

  • void addListener(ActionListener, ActionType[])

  • Kind Annotation Text
    pre(soft) init'ed(types[...])
    pretypes != null
    pretypes.length <= 232-1

  • void com.dmdirc.actions.ActionManager$1()

  • Kind Annotation Text

  • com.dmdirc.actions.ActionManager$1__static_init

  • Kind Annotation Text

  • void com.dmdirc.actions.ActionManager$2()

  • Kind Annotation Text

  • com.dmdirc.actions.ActionManager$2__static_init

  • Kind Annotation Text

  • void com.dmdirc.actions.ActionManager()

  • Kind Annotation Text

  • com.dmdirc.actions.ActionManager__static_init

  • Kind Annotation Text
    presumptioncom.dmdirc.config.IdentityManager:getGlobalConfig(. ..)@84 != null
    postactionComparisons == &amp;new ArrayList(ActionManag er__static_init#3)
    postactionComponents == &amp;new ArrayList(ActionManage r__static_init#2)
    postactionTypeGroups == &amp;new MapList(ActionManager_ _static_init#6)
    postactionTypes == &amp;new ArrayList(ActionManager__ static_init#1)
    postactions == &amp;new MapList(ActionManager__static_ init#4)
    postgroups == &amp;new HashMap(ActionManager__static_ init#5)
    postinit'ed(killSwitch)
    postlisteners == &amp;new MapList(ActionManager__ static_init#7)
    postnew ArrayList(ActionManager__static_init#1) num objects == 1
    postnew ArrayList(ActionManager__static_init#2) num objects == 1
    postnew ArrayList(ActionManager__static_init#3) num objects == 1
    postnew HashMap(ActionManager__static_init#5) num objects == 1
    postnew MapList(ActionManager__static_init#4) num objects == 1
    postnew MapList(ActionManager__static_init#6) num objects == 1
    postnew MapList(ActionManager__static_init#7) num objects == 1

  • void configChanged(String, String)

  • Kind Annotation Text
    presumptioncom.dmdirc.config.IdentityManager:getGlobalConfig(. ..)@119 != null
    postinit'ed(com/dmdirc/actions/ActionManager. killSwitch)

  • void deleteAction(Action)

  • Kind Annotation Text
    pre(soft) com.dmdirc.actions.CoreActionType__static_ init.new CoreActionType(CoreActionType__static_init #73).type != null
    pre(soft) init'ed(com/dmdirc/ServerManager.me)
    preaction != null
    preinit'ed(action.group)
    preinit'ed(action.location)
    preinit'ed(action.name)
    preinit'ed(killSwitch)
    postinit'ed(com/dmdirc/ServerManager.me)
    postinit'ed(new ServerManager(getServerManager#1). servers)
    postnew ArrayList(ServerManager#1) num objects <= 1
    postnew ArrayList(ServerManager#1) num objects == 0, if init'ed
    postnew ArrayList(ServerManager#1) num objects == undefined
    postnew ServerManager(getServerManager#1) num objects <= 1
    postnew ServerManager(getServerManager#1) num objects == new ArrayList(ServerManager#1) num objects
    postnew ServerManager(getServerManager#1).servers == null
    postnew ServerManager(getServerManager#1).servers == undefined
    unanalyzedcall on [Ljava.lang.String;:instanceof
    unanalyzedcall on com.dmdirc.ServerState:equals
    unanalyzedcall on com.dmdirc.actions.ConditionTree$OPERATION: ordinal
    unanalyzedcall on com.dmdirc.commandparser.CommandManager:get CommandChar
    unanalyzedcall on com.dmdirc.commandparser.parsers. CommandParser:parseCommand
    unanalyzedcall on com.dmdirc.commandparser.parsers. GlobalCommandParser:getGlobalCommandParser
    unanalyzedcall on com.dmdirc.config.ConfigManager:getOptions
    unanalyzedcall on com.dmdirc.config.IdentityManager:getGlobal Config
    unanalyzedcall on com.dmdirc.interfaces.ActionListener:proces sEvent
    unanalyzedcall on com.dmdirc.logger.Logger:assertTrue
    unanalyzedcall on com.dmdirc.ui.input.TabCompleter:removeEntr y
    unanalyzedcall on com.dmdirc.ui.interfaces.InputWindow:getCom mandParser
    unanalyzedcall on com.dmdirc.ui.interfaces.InputWindow:instan ceof
    unanalyzedcall on com.dmdirc.ui.interfaces.UIController:getAc tiveWindow
    unanalyzedcall on com.dmdirc.util.MapList:containsKey
    unanalyzedcall on com.dmdirc.util.MapList:get
    unanalyzedcall on com.dmdirc.util.MapList:removeFromAll
    unanalyzedcall on doComponentSubstitutions
    unanalyzedcall on doServerSubstitutions
    unanalyzedcall on evaluate
    unanalyzedcall on get
    unanalyzedcall on getArgTypes
    unanalyzedcall on getArity
    unanalyzedcall on getCommandName
    unanalyzedcall on getCompatibleComponents
    unanalyzedcall on getConditions
    unanalyzedcall on getFrame
    unanalyzedcall on getGroup
    unanalyzedcall on getServer
    unanalyzedcall on getState
    unanalyzedcall on getTabCompleter
    unanalyzedcall on getTriggers
    unanalyzedcall on getType
    unanalyzedcall on getUI
    unanalyzedcall on java.io.File
    unanalyzedcall on java.io.File:delete
    unanalyzedcall on java.lang.Character:charValue
    unanalyzedcall on java.lang.Character:instanceof
    unanalyzedcall on java.lang.Character:valueOf
    unanalyzedcall on java.lang.Integer:parseInt
    unanalyzedcall on java.lang.Object:equals
    unanalyzedcall on java.lang.Object:toString
    unanalyzedcall on java.lang.String:charAt
    unanalyzedcall on java.lang.String:instanceof
    unanalyzedcall on java.lang.String:length
    unanalyzedcall on java.lang.String:split
    unanalyzedcall on java.lang.String:valueOf
    unanalyzedcall on java.lang.Throwable:__curr_excep_obj
    unanalyzedcall on java.util.ArrayDeque
    unanalyzedcall on java.util.ArrayList
    unanalyzedcall on java.util.ArrayList:iterator
    unanalyzedcall on java.util.Deque:add
    unanalyzedcall on java.util.Deque:addFirst
    unanalyzedcall on java.util.Deque:isEmpty
    unanalyzedcall on java.util.Deque:poll
    unanalyzedcall on java.util.Deque:pollFirst
    unanalyzedcall on java.util.Deque:pollLast
    unanalyzedcall on java.util.Deque:size
    unanalyzedcall on java.util.HashMap
    unanalyzedcall on java.util.List:get
    unanalyzedcall on java.util.List:iterator
    unanalyzedcall on java.util.List:remove
    unanalyzedcall on java.util.List:size
    unanalyzedcall on java.util.Map$Entry:getKey
    unanalyzedcall on java.util.Map$Entry:getValue
    unanalyzedcall on java.util.Map:containsKey
    unanalyzedcall on java.util.Map:entrySet
    unanalyzedcall on java.util.Map:get
    unanalyzedcall on java.util.Map:put
    unanalyzedcall on java.util.Set:iterator
    unanalyzedcall on parseStack
    unanalyzedcall on readTerm
    unanalyzedcall on remove
    unanalyzedcall on test
    unanalyzedcall on trigger
    unanalyzedcall on triggerActions

  • ActionComparison getActionComparison(String)

  • Kind Annotation Text
    pretype != null
    presumptionjava.lang.Enum:name(...)@645 != null
    presumptionjava.util.Iterator:next(...)@644 != null
    postinit'ed(return_value)
    test_vectorjava.lang.String:equals(...)@645: {0}, {1}
    test_vectorjava.util.Iterator:hasNext(...)@644: {0}, {1}

  • ActionComponent getActionComponent(String)

  • Kind Annotation Text
    pretype != null
    presumptionjava.lang.Enum:name(...)@624 != null
    presumptionjava.util.Iterator:next(...)@623 != null
    postinit'ed(return_value)
    test_vectorjava.lang.String:equals(...)@624: {0}, {1}
    test_vectorjava.util.Iterator:hasNext(...)@623: {0}, {1}

  • ActionType getActionType(String)

  • Kind Annotation Text
    presumptionjava.lang.Enum:name(...)@522 != null
    presumptionjava.util.Iterator:next(...)@521 != null
    postinit'ed(return_value)
    test_vectorjava.lang.String:equals(...)@522: {0}, {1}
    test_vectorjava.lang.String:isEmpty(...)@517: {0}, {1}
    test_vectorjava.util.Iterator:hasNext(...)@521: {0}, {1}
    test_vectortype: Addr_Set{null}, Inverse{null}

  • List getComparisons()

  • Kind Annotation Text
    postreturn_value == &amp;new ArrayList(ActionManager__ static_init#3)

  • List getCompatibleComparisons(Class)

  • Kind Annotation Text
    presumptionappliesTo(...)@585 != null
    presumptionjava.util.Iterator:next(...)@584 != null
    postnew ArrayList(getCompatibleComparisons#1) num objects == 1
    postreturn_value == &amp;new ArrayList(getCompatibleCom parisons#1)
    test_vectorjava.lang.Object:equals(...)@585: {0}, {1}
    test_vectorjava.util.Iterator:hasNext(...)@584: {0}, {1}

  • List getCompatibleComponents(Class)

  • Kind Annotation Text
    presumptionappliesTo(...)@564 != null
    presumptionjava.util.Iterator:next(...)@563 != null
    postnew ArrayList(getCompatibleComponents#1) num objects == 1
    postreturn_value == &amp;new ArrayList(getCompatibleCom ponents#1)
    test_vectorjava.lang.Object:equals(...)@564: {0}, {1}
    test_vectorjava.util.Iterator:hasNext(...)@563: {0}, {1}

  • List getCompatibleTypes(ActionType)

  • Kind Annotation Text
    pre(soft) type != null
    presumptionjava.util.Iterator:next(...)@542 != null
    presumptiontarget.type@542 != null
    postnew ArrayList(getCompatibleTypes#1) num objects == 1
    postreturn_value == &amp;new ArrayList(getCompatibleTyp es#1)
    test_vectorjava.lang.Object:equals(...)@543: {0}, {1}
    test_vectorjava.lang.Object:equals(...)@543: {1}, {0}
    test_vectorjava.util.Iterator:hasNext(...)@542: {0}, {1}

  • String getDirectory()

  • Kind Annotation Text
    preinit'ed(com/dmdirc/Main.configdir)
    postcom/dmdirc/Main.configdir != null
    postcom/dmdirc/Main.configdir == One-of{old com/dmdirc/Main.configdir, &amp;java.lang. StringBuilder:toString(...)}
    postinit'ed(java.lang.StringBuilder:toString(...)._ tainted)
    postjava.lang.StringBuilder:toString(...)._tainted == 0
    postreturn_value == &amp;java.lang.StringBuilder:toStri ng(...)
    unanalyzedcall on java.lang.String:startsWith
    unanalyzedcall on java.lang.System:getProperty
    unanalyzedcall on java.lang.System:getenv

  • ActionGroup getGroup(String)

  • Kind Annotation Text
    postinit'ed(return_value)
    unanalyzedcall on java.util.ArrayList
    unanalyzedcall on java.util.HashMap
    test_vectorjava.util.Map:containsKey(...)@305: {1}, {0}

  • Map getGroups()

  • Kind Annotation Text
    postreturn_value == &amp;new HashMap(ActionManager__ static_init#5)

  • MapList getTypeGroups()

  • Kind Annotation Text
    postreturn_value == &amp;new MapList(ActionManager__ static_init#6)

  • List getTypes()

  • Kind Annotation Text
    postreturn_value == &amp;new ArrayList(ActionManager__ static_init#1)

  • void init()

  • Kind Annotation Text
    pre(soft) com.dmdirc.actions.CoreActionType__static_ init.new CoreActionType[](CoreActionType__static_in it#74)[...] != null
    pre(soft) com.dmdirc.actions.CoreActionType__static_ init.new CoreActionType[](CoreActionType__static_in it#74)[...].type != null
    pre(soft) init'ed(com.dmdirc.actions.CoreActionCompari son__static_init.new CoreActionComparison[](CoreAct ionComparison__static_init#13)[...])
    pre(soft) init'ed(com.dmdirc.actions.CoreActionCompone nt__static_init.new CoreActionComponent[](CoreActio nComponent__static_init#28)[...])
    precom/dmdirc/actions/wrappers/PerformWrapper.me != null
    preinit'ed(com/dmdirc/actions/wrappers/AliasWrapper. me)
    presumptioncom.dmdirc.config.IdentityManager:getGlobalConfig(. ..)@114 != null
    postcom/dmdirc/actions/wrappers/AliasWrapper.me != null
    postcom/dmdirc/actions/wrappers/AliasWrapper.me == One-of{old com/dmdirc/actions/wrappers/AliasWrappe r.me, &amp;new AliasWrapper(getAliasWrapper#1)}
    postnew AliasWrapper(getAliasWrapper#1) num objects <= 1
    postnew AliasWrapper(getAliasWrapper#1).actions == &amp;new ArrayList(ActionGroup#1)
    postnew AliasWrapper(getAliasWrapper#1).aliases == &amp;new ArrayList(AliasWrapper#1)
    postnew AliasWrapper(getAliasWrapper#1).author == null
    postnew AliasWrapper(getAliasWrapper#1).component == -1
    postnew AliasWrapper(getAliasWrapper#1).description == null
    postnew AliasWrapper(getAliasWrapper#1).name == &amp;"aliases"
    postnew AliasWrapper(getAliasWrapper#1).settings == &amp;new HashMap(ActionGroup#2)
    postnew AliasWrapper(getAliasWrapper#1).version == -1
    postnew ArrayList(ActionGroup#1) num objects == new AliasWrapper(getAliasWrapper#1) num objects
    postnew ArrayList(AliasWrapper#1) num objects == new AliasWrapper(getAliasWrapper#1) num objects
    postnew HashMap(ActionGroup#2) num objects == new AliasWrapper(getAliasWrapper#1) num objects
    unanalyzedcall on com.dmdirc.actions.ActionGroup
    unanalyzedcall on com.dmdirc.logger.Logger:assertTrue
    unanalyzedcall on com.dmdirc.util.MapList:add
    unanalyzedcall on getGroup
    unanalyzedcall on getType
    unanalyzedcall on java.util.ArrayList
    unanalyzedcall on java.util.HashMap
    unanalyzedcall on java.util.List:add
    unanalyzedcall on java.util.List:contains
    unanalyzedcall on java.util.Map:put

  • void installActionPack(String)

  • Kind Annotation Text
    preinit'ed(com/dmdirc/Main.configdir)
    presumptioncom.dmdirc.util.resourcemanager.ZipResourceManager: getInstance(...)@660 != null
    postinit'ed(com/dmdirc/Main.configdir)
    postinit'ed(new ArrayList(ServerManager#1) num objects)
    postinit'ed(new ServerManager(getServerManager#1) num objects)
    postinit'ed(new ServerManager(getServerManager#1). servers)
    postjava.lang.StringBuilder:toString(...)._tainted == 0
    postpossibly_updated(com/dmdirc/ServerManager.me)
    unanalyzedcall on com.dmdirc.actions.Action
    unanalyzedcall on com.dmdirc.commandparser.CommandManager:get CommandChar
    unanalyzedcall on com.dmdirc.logger.Logger:assertTrue
    unanalyzedcall on com.dmdirc.logger.Logger:userError
    unanalyzedcall on com.dmdirc.ui.input.TabCompleter:removeEntr y
    unanalyzedcall on com.dmdirc.updater.components. ActionGroupComponent
    unanalyzedcall on com.dmdirc.util.ConfigFile
    unanalyzedcall on com.dmdirc.util.ConfigFile:read
    unanalyzedcall on com.dmdirc.util.InvalidConfigFileException: getMessage
    unanalyzedcall on com.dmdirc.util.MapList:clear
    unanalyzedcall on getCommandName
    unanalyzedcall on getConditions
    unanalyzedcall on getConfigDir
    unanalyzedcall on getTabCompleter
    unanalyzedcall on getTriggers
    unanalyzedcall on java.io.File
    unanalyzedcall on java.io.File:createNewFile
    unanalyzedcall on java.io.File:exists
    unanalyzedcall on java.io.File:getName
    unanalyzedcall on java.io.File:isDirectory
    unanalyzedcall on java.io.File:listFiles
    unanalyzedcall on java.io.File:mkdirs
    unanalyzedcall on java.io.IOException:getMessage
    unanalyzedcall on java.lang.Object:equals
    unanalyzedcall on java.lang.String:startsWith
    unanalyzedcall on java.lang.System:getProperty
    unanalyzedcall on java.lang.System:getenv
    unanalyzedcall on java.lang.Throwable:__curr_excep_obj
    unanalyzedcall on java.util.ArrayList
    unanalyzedcall on java.util.ArrayList:iterator
    unanalyzedcall on java.util.Collection:iterator
    unanalyzedcall on java.util.HashMap
    unanalyzedcall on java.util.List:iterator
    unanalyzedcall on java.util.List:remove
    unanalyzedcall on java.util.Map:clear
    unanalyzedcall on java.util.Map:containsKey
    unanalyzedcall on java.util.Map:put
    unanalyzedcall on java.util.Map:values
    unanalyzedcall on loadActionFromConfig
    unanalyzedcall on remove

  • void loadActions()

  • Kind Annotation Text
    preinit'ed(com/dmdirc/Main.configdir)
    presumptionarr$.length@243 <= 232-1
    presumptionarr$[i$]@243 != null
    presumptiongroup.actions@224 != null
    presumptiongroup.settings@224 != null
    presumptioninit'ed(com.dmdirc.logger.ErrorLevel.HIGH)
    presumptioninit'ed(com.dmdirc.logger.ErrorLevel.MEDIUM)
    presumptionjava.io.File:listFiles(...)@243 != null
    presumptionjava.util.Iterator:next(...)@224 != null
    presumptionjava.util.Map:values(...)@224 != null
    postinit'ed(new ArrayList(ServerManager#1) num objects)
    postinit'ed(new ServerManager(getServerManager#1) num objects)
    postinit'ed(new ServerManager(getServerManager#1). servers)
    postjava.lang.StringBuilder:toString(...)._tainted == 0
    postpossibly_updated(com/dmdirc/Main.configdir)
    postpossibly_updated(com/dmdirc/ServerManager.me)
    unanalyzedcall on com.dmdirc.actions.Action
    unanalyzedcall on com.dmdirc.commandparser.CommandManager:get CommandChar
    unanalyzedcall on com.dmdirc.logger.Logger:assertTrue
    unanalyzedcall on com.dmdirc.logger.Logger:userError
    unanalyzedcall on com.dmdirc.ui.input.TabCompleter:removeEntr y
    unanalyzedcall on com.dmdirc.updater.components. ActionGroupComponent
    unanalyzedcall on com.dmdirc.util.ConfigFile
    unanalyzedcall on com.dmdirc.util.ConfigFile:read
    unanalyzedcall on com.dmdirc.util.InvalidConfigFileException: getMessage
    unanalyzedcall on getCommandName
    unanalyzedcall on getConditions
    unanalyzedcall on getConfigDir
    unanalyzedcall on getTabCompleter
    unanalyzedcall on getTriggers
    unanalyzedcall on java.io.File:getName
    unanalyzedcall on java.io.File:isDirectory
    unanalyzedcall on java.io.File:listFiles
    unanalyzedcall on java.io.IOException:getMessage
    unanalyzedcall on java.lang.Object:equals
    unanalyzedcall on java.lang.String:startsWith
    unanalyzedcall on java.lang.System:getProperty
    unanalyzedcall on java.lang.System:getenv
    unanalyzedcall on java.lang.Throwable:__curr_excep_obj
    unanalyzedcall on java.util.ArrayList
    unanalyzedcall on java.util.ArrayList:iterator
    unanalyzedcall on java.util.Collection:iterator
    unanalyzedcall on java.util.HashMap
    unanalyzedcall on java.util.List:iterator
    unanalyzedcall on java.util.List:remove
    unanalyzedcall on java.util.Map:clear
    unanalyzedcall on java.util.Map:containsKey
    unanalyzedcall on java.util.Map:put
    unanalyzedcall on java.util.Map:values
    unanalyzedcall on loadActionFromConfig
    unanalyzedcall on remove
    test_vectorjava.io.File:exists(...)@230: {1}, {0}
    test_vectorjava.io.File:isDirectory(...)@244: {0}, {1}
    test_vectorjava.io.File:listFiles(...)@240: Inverse{null}, Addr_Set{null}
    test_vectorjava.util.Iterator:hasNext(...)@224: {0}, {1}

  • void loadActions(File)

  • Kind Annotation Text
    pre(soft) init'ed(com/dmdirc/Main.configdir)
    predir != null
    presumptionarr$.length@276 <= 232-1
    presumptionarr$[i$]@276 != null
    presumptionjava.io.File:listFiles(...)@276 != null
    postinit'ed(com/dmdirc/Main.configdir)
    postjava.lang.StringBuilder:toString(...)._tainted == 0
    unanalyzedcall on com.dmdirc.logger.Logger:userError
    unanalyzedcall on com.dmdirc.util.ConfigFile
    unanalyzedcall on com.dmdirc.util.ConfigFile:read
    unanalyzedcall on com.dmdirc.util.InvalidConfigFileException: getMessage
    unanalyzedcall on getConfigDir
    unanalyzedcall on java.io.IOException:getMessage
    unanalyzedcall on java.lang.String:startsWith
    unanalyzedcall on java.lang.System:getProperty
    unanalyzedcall on java.lang.System:getenv
    unanalyzedcall on java.lang.Throwable:__curr_excep_obj
    unanalyzedcall on java.util.ArrayList
    unanalyzedcall on java.util.HashMap
    unanalyzedcall on loadActionFromConfig
    test_vectorjava.util.Map:containsKey(...)@272: {1}, {0}

  • ActionGroup makeGroup(String)

  • Kind Annotation Text
    pregroup != null
    preinit'ed(com/dmdirc/Main.configdir)
    presumptionjava.io.File:mkdir(...)@427 == 1
    postcom/dmdirc/Main.configdir != null
    postcom/dmdirc/Main.configdir == One-of{old com/dmdirc/Main.configdir, &amp;java.lang. StringBuilder:toString(...)}
    postinit'ed(new ActionGroup(makeGroup#3).author)
    postinit'ed(new ActionGroup(makeGroup#3).component)
    postinit'ed(new ActionGroup(makeGroup#3).description)
    postinit'ed(new ActionGroup(makeGroup#3).version)
    postjava.lang.StringBuilder:toString(...)._tainted == 0
    postnew ActionGroup(makeGroup#3) num objects == 1
    postnew ActionGroup(makeGroup#3).actions == &amp;new ArrayList(ActionGroup#1)
    postnew ActionGroup(makeGroup#3).name != null
    postnew ActionGroup(makeGroup#3).name == group
    postnew ActionGroup(makeGroup#3).settings == &amp;new HashMap(ActionGroup#2)
    postnew ArrayList(ActionGroup#1) num objects == 1
    postnew HashMap(ActionGroup#2) num objects == 1
    postreturn_value == &amp;new ActionGroup(makeGroup#3)
    unanalyzedcall on getConfigDir
    unanalyzedcall on java.lang.String:startsWith
    unanalyzedcall on java.lang.System:getProperty
    unanalyzedcall on java.lang.System:getenv
    unanalyzedcall on java.util.ArrayList
    unanalyzedcall on java.util.HashMap
    test_vectorjava.io.File:isDirectory(...)@427: {1}, {0}

  • void processEvent(ActionType, StringBuffer, Object[])

  • Kind Annotation Text
    pre(soft) init'ed(com/dmdirc/ServerManager.me)
    pre(soft) type.type != null
    prearguments != null
    preinit'ed(killSwitch)
    pretype != null
    presumptionjava.util.ArrayList:iterator(...)@371 != null
    presumptionjava.util.Iterator:next(...)@371 != null
    postcom/dmdirc/ServerManager.me == old com/dmdirc/Serve rManager.me
    postformat._tainted == old format._tainted
    postinit'ed(format._tainted)
    postnew ArrayList(ServerManager#1) num objects == 0, if init'ed
    postnew ArrayList(ServerManager#1) num objects == undefined
    postnew ServerManager(getServerManager#1) num objects == new ArrayList(ServerManager#1) num objects
    postnew ServerManager(getServerManager#1).servers == null
    postnew ServerManager(getServerManager#1).servers == undefined
    test_vectorcom.dmdirc.util.MapList:containsKey(...)@369: {0}, {1}
    test_vectorjava.util.Iterator:hasNext(...)@371: {0}, {1}
    test_vectorkillSwitch: {1}, {0}

  • void processEvent(ActionType, StringBuffer, Object[])

  • Kind Annotation Text
    unanalyzedcall on com.dmdirc.actions.ConditionTree$OPERATION: ordinal
    unanalyzedcall on com.dmdirc.interfaces.ActionListener:proces sEvent
    unanalyzedcall on com.dmdirc.logger.Logger:appError
    unanalyzedcall on com.dmdirc.logger.Logger:assertTrue
    unanalyzedcall on com.dmdirc.logger.Logger:userError
    unanalyzedcall on com.dmdirc.util.ConfigFile
    unanalyzedcall on com.dmdirc.util.ConfigFile:addDomain
    unanalyzedcall on com.dmdirc.util.ConfigFile:getFlatDomain
    unanalyzedcall on com.dmdirc.util.ConfigFile:getKeyDomain
    unanalyzedcall on com.dmdirc.util.ConfigFile:isKeyDomain
    unanalyzedcall on com.dmdirc.util.ConfigFile:write
    unanalyzedcall on com.dmdirc.util.MapList:containsKey
    unanalyzedcall on com.dmdirc.util.MapList:get
    unanalyzedcall on getArity
    unanalyzedcall on getType
    unanalyzedcall on java.io.IOException:getMessage
    unanalyzedcall on java.lang.IllegalArgumentException
    unanalyzedcall on java.lang.Object:toString
    unanalyzedcall on java.lang.String:valueOf
    unanalyzedcall on java.lang.Throwable:__curr_excep_obj
    unanalyzedcall on java.util.ArrayList
    unanalyzedcall on java.util.ArrayList:iterator
    unanalyzedcall on java.util.Arrays:toString
    unanalyzedcall on java.util.Collection:iterator
    unanalyzedcall on java.util.HashMap
    unanalyzedcall on java.util.List:add
    unanalyzedcall on java.util.List:iterator
    unanalyzedcall on java.util.Map:put
    unanalyzedcall on java.util.Map:values
    unanalyzedcall on save
    unanalyzedcall on trigger

  • void registerAction(Action)

  • Kind Annotation Text
    pre(soft) init'ed(action.triggers[0])
    pre(soft) init'ed(action.triggers[...])
    pre(soft) init'ed(com/dmdirc/ServerManager.me)
    preaction != null
    preaction.triggers != null
    preaction.triggers.length <= 232-1
    preinit'ed(action.group)
    presumptiongetGroup(...).actions != null
    presumptionjava.util.Map:get(...)@309 != null
    postinit'ed(com/dmdirc/ServerManager.me)
    postinit'ed(new ServerManager(getServerManager#1). servers)
    postnew ArrayList(ServerManager#1) num objects <= 1
    postnew ServerManager(getServerManager#1) num objects <= 1
    unanalyzedcall on add
    unanalyzedcall on com.dmdirc.commandparser.CommandManager:get CommandChar
    unanalyzedcall on com.dmdirc.logger.Logger:userError
    unanalyzedcall on com.dmdirc.ui.input.TabCompleter:addEntry
    unanalyzedcall on getConditions
    unanalyzedcall on getGlobalWindow
    unanalyzedcall on getName
    unanalyzedcall on getTabCompleter
    unanalyzedcall on getTriggers
    unanalyzedcall on java.lang.Object:equals
    unanalyzedcall on java.util.ArrayList
    unanalyzedcall on java.util.HashMap
    unanalyzedcall on java.util.List:add
    unanalyzedcall on java.util.List:get
    unanalyzedcall on java.util.List:iterator
    unanalyzedcall on java.util.List:size
    unanalyzedcall on java.util.Map:containsKey
    unanalyzedcall on java.util.Map:get
    unanalyzedcall on java.util.Map:put

  • void registerActionComparisons(ActionComparison[])

  • Kind Annotation Text
    pre(soft) init'ed(comps[...])
    precomps != null
    precomps.length <= 232-1

  • void registerActionComponents(ActionComponent[])

  • Kind Annotation Text
    pre(soft) init'ed(comps[...])
    precomps != null
    precomps.length <= 232-1

  • void registerActionTypes(ActionType[])

  • Kind Annotation Text
    pre(soft) types[...] != null
    pre(soft) types[...].type != null
    pretypes != null
    pretypes.length <= 232-1
    presumptiongetType(...)@167 != getType(...)
    test_vectorjava.util.List:contains(...)@165: {1}, {0}

  • void registerComponents()

  • Kind Annotation Text
    presumptionjava.util.Map:values(...)@257 != null
    test_vectorjava.util.Iterator:hasNext(...)@257: {0}, {1}

  • void registerDefault(String, String)

  • Kind Annotation Text
    presumptioncom.dmdirc.config.IdentityManager:getAddonIdentity( ...)@143 != null

  • void registerGroup(ActionGroup)

  • Kind Annotation Text
    pregroup != null

  • void removeGroup(String)

  • Kind Annotation Text
    pre(soft) init'ed(com/dmdirc/ServerManager.me)
    pregroup != null
    preinit'ed(com/dmdirc/Main.configdir)
    presumptionarr$.length@458 <= 232-1
    presumptionarr$[i$]@458 != null
    presumptioninit'ed(com.dmdirc.logger.ErrorLevel.MEDIUM)
    presumptionjava.io.File:listFiles(...)@458 != null
    presumptionjava.util.Iterator:next(...)@451 != null
    presumptionjava.util.Map:get(...)@451 != null
    postcom/dmdirc/Main.configdir != null
    postcom/dmdirc/Main.configdir == One-of{old com/dmdirc/Main.configdir, &amp;java.lang. StringBuilder:toString(...)}
    postinit'ed(com/dmdirc/ServerManager.me)
    postinit'ed(new ArrayList(ServerManager#1) num objects)
    postinit'ed(new ServerManager(getServerManager#1) num objects)
    postinit'ed(new ServerManager(getServerManager#1). servers)
    postjava.lang.StringBuilder:toString(...)._tainted == 0
    unanalyzedcall on com.dmdirc.commandparser.CommandManager:get CommandChar
    unanalyzedcall on com.dmdirc.logger.Logger:assertTrue
    unanalyzedcall on com.dmdirc.ui.input.TabCompleter:removeEntr y
    unanalyzedcall on com.dmdirc.util.MapList:removeFromAll
    unanalyzedcall on getCommandName
    unanalyzedcall on getConditions
    unanalyzedcall on getConfigDir
    unanalyzedcall on getGroup
    unanalyzedcall on getTabCompleter
    unanalyzedcall on getTriggers
    unanalyzedcall on java.lang.Object:equals
    unanalyzedcall on java.lang.String:startsWith
    unanalyzedcall on java.lang.System:getProperty
    unanalyzedcall on java.lang.System:getenv
    unanalyzedcall on java.util.ArrayList
    unanalyzedcall on java.util.HashMap
    unanalyzedcall on java.util.List:iterator
    unanalyzedcall on java.util.List:remove
    unanalyzedcall on java.util.Map:containsKey
    unanalyzedcall on java.util.Map:get
    unanalyzedcall on java.util.Map:put
    unanalyzedcall on remove
    test_vectorjava.io.File:delete(...)@459: {1}, {0}
    test_vectorjava.io.File:delete(...)@467: {1}, {0}
    test_vectorjava.io.File:isDirectory(...)@457: {0}, {1}
    test_vectorjava.util.Iterator:hasNext(...)@451: {0}, {1}

  • void removeListener(ActionListener)

  • Kind Annotation Text

  • void removeListener(ActionListener, ActionType[])

  • Kind Annotation Text
    pre(soft) init'ed(types[...])
    pretypes != null
    pretypes.length <= 232-1

  • void renameGroup(String, String)

  • Kind Annotation Text
    pre(soft) init'ed(com/dmdirc/ServerManager.me)
    preinit'ed(com/dmdirc/Main.configdir)
    prenewName != null
    preoldName != null
    presumptiongetGroup(...).actions != null
    presumptionjava.util.Iterator:next(...)@500 != null
    presumptionjava.util.Map:get(...)@309 != null
    presumptionjava.util.Map:get(...)@500 != null
    postcom/dmdirc/Main.configdir != null
    postinit'ed(com/dmdirc/ServerManager.me)
    postinit'ed(java.lang.StringBuilder:toString(...)._ tainted)
    postinit'ed(new ArrayList(ServerManager#1) num objects)
    postinit'ed(new ServerManager(getServerManager#1) num objects)
    postinit'ed(new ServerManager(getServerManager#1). servers)
    postjava.lang.StringBuilder:toString(...)._tainted == 0
    unanalyzedcall on add
    unanalyzedcall on com.dmdirc.actions.ConditionTree$OPERATION: ordinal
    unanalyzedcall on com.dmdirc.commandparser.CommandManager:get CommandChar
    unanalyzedcall on com.dmdirc.interfaces.ActionListener:proces sEvent
    unanalyzedcall on com.dmdirc.logger.Logger:appError
    unanalyzedcall on com.dmdirc.logger.Logger:assertTrue
    unanalyzedcall on com.dmdirc.logger.Logger:userError
    unanalyzedcall on com.dmdirc.ui.input.TabCompleter:addEntry
    unanalyzedcall on com.dmdirc.ui.input.TabCompleter:removeEntr y
    unanalyzedcall on com.dmdirc.util.ConfigFile
    unanalyzedcall on com.dmdirc.util.ConfigFile:addDomain
    unanalyzedcall on com.dmdirc.util.ConfigFile:getFlatDomain
    unanalyzedcall on com.dmdirc.util.ConfigFile:getKeyDomain
    unanalyzedcall on com.dmdirc.util.ConfigFile:isKeyDomain
    unanalyzedcall on com.dmdirc.util.ConfigFile:write
    unanalyzedcall on com.dmdirc.util.MapList:containsKey
    unanalyzedcall on com.dmdirc.util.MapList:get
    unanalyzedcall on com.dmdirc.util.MapList:removeFromAll
    unanalyzedcall on getArity
    unanalyzedcall on getCommandName
    unanalyzedcall on getConditions
    unanalyzedcall on getConfigDir
    unanalyzedcall on getGlobalWindow
    unanalyzedcall on getGroup
    unanalyzedcall on getName
    unanalyzedcall on getTabCompleter
    unanalyzedcall on getTriggers
    unanalyzedcall on getType
    unanalyzedcall on java.io.File
    unanalyzedcall on java.io.File:delete
    unanalyzedcall on java.io.File:getAbsolutePath
    unanalyzedcall on java.io.File:isDirectory
    unanalyzedcall on java.io.File:listFiles
    unanalyzedcall on java.io.File:mkdir
    unanalyzedcall on java.io.File:mkdirs
    unanalyzedcall on java.io.IOException:getMessage
    unanalyzedcall on java.lang.IllegalArgumentException
    unanalyzedcall on java.lang.Object:equals
    unanalyzedcall on java.lang.Object:toString
    unanalyzedcall on java.lang.String:isEmpty
    unanalyzedcall on java.lang.String:startsWith
    unanalyzedcall on java.lang.String:valueOf
    unanalyzedcall on java.lang.System:getProperty
    unanalyzedcall on java.lang.System:getenv
    unanalyzedcall on java.lang.Throwable:__curr_excep_obj
    unanalyzedcall on java.util.ArrayList
    unanalyzedcall on java.util.ArrayList:iterator
    unanalyzedcall on java.util.Arrays:toString
    unanalyzedcall on java.util.HashMap
    unanalyzedcall on java.util.List:add
    unanalyzedcall on java.util.List:get
    unanalyzedcall on java.util.List:iterator
    unanalyzedcall on java.util.List:remove
    unanalyzedcall on java.util.List:size
    unanalyzedcall on java.util.Map:containsKey
    unanalyzedcall on java.util.Map:get
    unanalyzedcall on java.util.Map:put
    unanalyzedcall on java.util.Map:remove
    unanalyzedcall on remove
    unanalyzedcall on save
    unanalyzedcall on trigger
    test_vectorjava.util.Iterator:hasNext(...)@500: {0}, {1}

  • void reregisterAction(Action)

  • Kind Annotation Text
    pre(soft) init'ed(action.triggers[0])
    pre(soft) init'ed(action.triggers[...])
    pre(soft) init'ed(com/dmdirc/ServerManager.me)
    preaction != null
    preaction.triggers != null
    preaction.triggers.length <= 232-1
    preinit'ed(action.group)
    postinit'ed(com/dmdirc/ServerManager.me)
    postinit'ed(new ServerManager(getServerManager#1). servers)
    postnew ArrayList(ServerManager#1) num objects <= 1
    postnew ServerManager(getServerManager#1) num objects <= 1
    unanalyzedcall on add
    unanalyzedcall on com.dmdirc.commandparser.CommandManager:get CommandChar
    unanalyzedcall on com.dmdirc.logger.Logger:assertTrue
    unanalyzedcall on com.dmdirc.logger.Logger:userError
    unanalyzedcall on com.dmdirc.ui.input.TabCompleter:addEntry
    unanalyzedcall on com.dmdirc.ui.input.TabCompleter:removeEntr y
    unanalyzedcall on com.dmdirc.util.MapList:add
    unanalyzedcall on com.dmdirc.util.MapList:removeFromAll
    unanalyzedcall on getCommandName
    unanalyzedcall on getConditions
    unanalyzedcall on getGlobalWindow
    unanalyzedcall on getGroup
    unanalyzedcall on getName
    unanalyzedcall on getTabCompleter
    unanalyzedcall on getTriggers
    unanalyzedcall on java.lang.Object:equals
    unanalyzedcall on java.util.ArrayList
    unanalyzedcall on java.util.HashMap
    unanalyzedcall on java.util.List:add
    unanalyzedcall on java.util.List:get
    unanalyzedcall on java.util.List:iterator
    unanalyzedcall on java.util.List:remove
    unanalyzedcall on java.util.List:size
    unanalyzedcall on java.util.Map:containsKey
    unanalyzedcall on java.util.Map:get
    unanalyzedcall on java.util.Map:put
    unanalyzedcall on remove

  • void saveActions()

  • Kind Annotation Text
    presumptiongroup.actions@129 != null
    presumptionjava.util.Iterator:next(...)@129 != null
    presumptionjava.util.Iterator:next(...)@130 != null
    presumptionjava.util.Map:values(...)@129 != null
    unanalyzedcall on java.util.List:iterator
    test_vectorjava.util.Iterator:hasNext(...)@129: {0}, {1}
    test_vectorjava.util.Iterator:hasNext(...)@130: {0}, {1}

  • void triggerActions(ActionType, StringBuffer, Object[])

  • Kind Annotation Text
    pre(soft) arguments != null
    pre(soft) arguments[1].length in {1..232-1}
    pre(soft) arguments[2].length in {1..232-1}
    pre(soft) com/dmdirc/Main.controller != null
    pre(soft) init'ed(arguments[0])
    pre(soft) init'ed(arguments[1])
    pre(soft) init'ed(arguments[2])
    pre(soft) init'ed(arguments[...])
    pre(soft) init'ed(com.dmdirc.actions.ConditionTree$1__ static_init.new int[](ConditionTree$1__static_init# 1)[...])
    pre(soft) init'ed(com/dmdirc/ServerManager.me)
    presumptionaction.conditions@395 != null
    presumptionaction.response.length@395 <= 232-1
    presumptionaction.response@395 != null
    presumptionaction.triggers.length@395 >= 1
    presumptionaction.triggers@395 != null
    presumptionaction.triggers[0].type@395 != null
    presumptionaction.triggers[0]@395 != null
    presumptionjava.util.ArrayList:iterator(...)@395 != null
    presumptionjava.util.Iterator:next(...)@395 != null
    postinit'ed(com/dmdirc/ServerManager.me)
    postinit'ed(format._tainted)
    postinit'ed(new ServerManager(getServerManager#1). servers)
    postnew ArrayList(ServerManager#1) num objects == 0
    postnew ServerManager(getServerManager#1) num objects == 0
    unanalyzedcall on [Ljava.lang.String;:instanceof
    unanalyzedcall on appliesTo
    unanalyzedcall on com.dmdirc.ServerState:equals
    unanalyzedcall on com.dmdirc.actions.ConditionTree$OPERATION: ordinal
    unanalyzedcall on com.dmdirc.commandparser.parsers. CommandParser:parseCommand
    unanalyzedcall on com.dmdirc.commandparser.parsers. GlobalCommandParser:getGlobalCommandParser
    unanalyzedcall on com.dmdirc.config.ConfigManager:getOptions
    unanalyzedcall on com.dmdirc.config.IdentityManager:getGlobal Config
    unanalyzedcall on com.dmdirc.logger.Logger:assertTrue
    unanalyzedcall on com.dmdirc.ui.interfaces.InputWindow:getCom mandParser
    unanalyzedcall on com.dmdirc.ui.interfaces.InputWindow:instan ceof
    unanalyzedcall on com.dmdirc.ui.interfaces.UIController:getAc tiveWindow
    unanalyzedcall on doComponentSubstitutions
    unanalyzedcall on doServerSubstitutions
    unanalyzedcall on evaluate
    unanalyzedcall on get
    unanalyzedcall on getArgTypes
    unanalyzedcall on getCompatibleComponents
    unanalyzedcall on getFrame
    unanalyzedcall on getServer
    unanalyzedcall on getState
    unanalyzedcall on getType
    unanalyzedcall on getUI
    unanalyzedcall on java.lang.Character:charValue
    unanalyzedcall on java.lang.Character:instanceof
    unanalyzedcall on java.lang.Character:valueOf
    unanalyzedcall on java.lang.Integer:parseInt
    unanalyzedcall on java.lang.Object:equals
    unanalyzedcall on java.lang.Object:toString
    unanalyzedcall on java.lang.String:charAt
    unanalyzedcall on java.lang.String:instanceof
    unanalyzedcall on java.lang.String:length
    unanalyzedcall on java.lang.String:split
    unanalyzedcall on java.lang.String:valueOf
    unanalyzedcall on java.lang.Throwable:__curr_excep_obj
    unanalyzedcall on java.util.ArrayDeque
    unanalyzedcall on java.util.ArrayList
    unanalyzedcall on java.util.Deque:add
    unanalyzedcall on java.util.Deque:addFirst
    unanalyzedcall on java.util.Deque:isEmpty
    unanalyzedcall on java.util.Deque:poll
    unanalyzedcall on java.util.Deque:pollFirst
    unanalyzedcall on java.util.Deque:pollLast
    unanalyzedcall on java.util.Deque:size
    unanalyzedcall on java.util.List:add
    unanalyzedcall on java.util.List:get
    unanalyzedcall on java.util.List:iterator
    unanalyzedcall on java.util.List:size
    unanalyzedcall on java.util.Map$Entry:getKey
    unanalyzedcall on java.util.Map$Entry:getValue
    unanalyzedcall on java.util.Map:entrySet
    unanalyzedcall on java.util.Set:iterator
    unanalyzedcall on parseStack
    unanalyzedcall on readTerm
    unanalyzedcall on test
    test_vectorcom.dmdirc.util.MapList:containsKey(...)@394: {0}, {1}
    test_vectorjava.util.Iterator:hasNext(...)@395: {0}, {1}

  • void unregisterAction(Action)

  • Kind Annotation Text
    pre(soft) init'ed(com/dmdirc/ServerManager.me)
    preaction != null
    preinit'ed(action.group)
    presumptiongetGroup(...).actions != null
    presumptionjava.util.Map:get(...)@309 != null
    postinit'ed(com/dmdirc/ServerManager.me)
    postinit'ed(new ServerManager(getServerManager#1). servers)
    postnew ArrayList(ServerManager#1) num objects <= 1
    postnew ServerManager(getServerManager#1) num objects <= 1
    unanalyzedcall on com.dmdirc.commandparser.CommandManager:get CommandChar
    unanalyzedcall on com.dmdirc.ui.input.TabCompleter:removeEntr y
    unanalyzedcall on getCommandName
    unanalyzedcall on getConditions
    unanalyzedcall on getTabCompleter
    unanalyzedcall on getTriggers
    unanalyzedcall on java.lang.Object:equals
    unanalyzedcall on java.util.ArrayList
    unanalyzedcall on java.util.HashMap
    unanalyzedcall on java.util.List:iterator
    unanalyzedcall on java.util.List:remove
    unanalyzedcall on java.util.Map:containsKey
    unanalyzedcall on java.util.Map:get
    unanalyzedcall on java.util.Map:put
    unanalyzedcall on remove