Action.java


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


Filter Options
Annotation Kind:
pre
presumption
post
unanalyzed
test_vector


  • void checkMetaData()

  • Kind Annotation Text
    pre(soft) init'ed(this.group)
    prethis.config != null
    presumptioncom.dmdirc.util.ConfigFile:getKeyDomain(...)@215 != null
    presumptioncom.dmdirc.util.ConfigFile:getKeyDomain(...)@244 != null
    presumptionjava.util.Map:get(...)@309 != null
    presumptionmyGroup.settings != null
    unanalyzedcall on com.dmdirc.config.Identity:setOption
    unanalyzedcall on com.dmdirc.config.IdentityManager:getAddonI dentity
    unanalyzedcall on java.util.ArrayList
    unanalyzedcall on java.util.HashMap
    unanalyzedcall on java.util.Map:containsKey
    unanalyzedcall on java.util.Map:get
    unanalyzedcall on java.util.Map:put
    test_vectorcom.dmdirc.util.ConfigFile:isKeyDomain(...)@213: {0}, {1}
    test_vectorcom.dmdirc.util.ConfigFile:isKeyDomain(...)@242: {0}, {1}
    test_vectorjava.util.Map:containsKey(...)@217: {0}, {1}
    test_vectorjava.util.Map:containsKey(...)@221: {0}, {1}
    test_vectorjava.util.Map:containsKey(...)@225: {0}, {1}
    test_vectorjava.util.Map:containsKey(...)@233: {0}, {1}
    test_vectorjava.util.Map:containsKey(...)@246: {0}, {1}

  • void com.dmdirc.actions.Action(String, String)

  • Kind Annotation Text
    preinit'ed(com/dmdirc/Main.configdir)
    presumptioninit'ed(com.dmdirc.logger.ErrorLevel.HIGH)
    presumptioninit'ed(com.dmdirc.logger.ErrorLevel.MEDIUM)
    presumptioninit'ed(java.io.File.separator)
    postcom/dmdirc/Main.configdir != null
    postcom/dmdirc/Main.configdir == One-of{old com/dmdirc/Main.configdir, &java.lang. StringBuilder:toString(...)}
    postinit'ed(java.lang.StringBuilder:toString(...)._ tainted)
    postinit'ed(this.config)
    postinit'ed(this.group)
    postinit'ed(this.name)
    postjava.lang.StringBuilder:toString(...)._tainted == 0
    postnew ArrayList(ActionModel#1) num objects == 1
    postnew ConfigFile(Action#2) num objects <= 1
    postthis.conditions == &amp;new ArrayList(ActionModel#1 )
    postthis.group == group
    postthis.location == &amp;java.lang.StringBuilder:toStr ing(...)
    postthis.name == name
    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

  • void com.dmdirc.actions.Action(String, String, ActionType[], String[], List, ConditionTree, String)

  • Kind Annotation Text
    pre(soft) com.dmdirc.actions.CoreActionType__static_ init.new CoreActionType(CoreActionType__static_init #71).type != null
    pre(soft) conditions init'ed
    pre(soft) init'ed(com/dmdirc/ServerManager.me)
    pre(soft) init'ed(response[...])
    pre(soft) init'ed(triggers[...])
    pre(soft) triggers.length <= 232-1
    preinit'ed(com/dmdirc/Main.configdir)
    preinit'ed(com/dmdirc/actions/ActionManager. killSwitch)
    preresponse != null
    pretriggers != null
    presumptioninit'ed(java.io.File.separator)
    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(java.lang.StringBuilder:toString(...)._ tainted)
    postinit'ed(new ActionType[](ActionModel#2)[0])
    postinit'ed(new ServerManager(getServerManager#1). servers)
    postinit'ed(new String[](ActionModel#3).length)
    postinit'ed(this.conditionTree)
    postinit'ed(this.conditions)
    postinit'ed(this.config)
    postinit'ed(this.group)
    postinit'ed(this.name)
    postinit'ed(this.newFormat)
    postjava.lang.StringBuilder:toString(...)._tainted == 0
    postnew ActionType[](ActionModel#2) num objects == 1
    postnew ActionType[](ActionModel#2).length <= 232-1
    postnew ActionType[](ActionModel#2).length == triggers.length
    postnew ActionType[](ActionModel#2)[0] == One-of{triggers[...], undefined}
    postnew ActionType[](ActionModel#2)[...] == One-of{triggers[...], undefined}
    postnew ArrayList(ActionModel#1) num objects == 1
    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
    postnew String[](ActionModel#3) num objects == 1
    postnew String[](ActionModel#3).length == response.length
    postnew String[](ActionModel#3)[...] == One-of{response[...], undefined}
    postthis.conditionTree == conditionTree
    postthis.conditions == conditions
    postthis.group == group
    postthis.location == &amp;java.lang.StringBuilder:toStr ing(...)
    postthis.modified == 1
    postthis.name == name
    postthis.newFormat == newFormat
    postthis.response == &amp;new String[](ActionModel#3)
    postthis.triggers == &amp;new ActionType[](ActionModel# 2)
    unanalyzedcall on [Ljava.lang.String;:instanceof
    unanalyzedcall on add
    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.logger.Logger:userError
    unanalyzedcall on com.dmdirc.ui.input.TabCompleter:addEntry
    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:add
    unanalyzedcall on com.dmdirc.util.MapList:containsKey
    unanalyzedcall on com.dmdirc.util.MapList:get
    unanalyzedcall on doComponentSubstitutions
    unanalyzedcall on doServerSubstitutions
    unanalyzedcall on evaluate
    unanalyzedcall on get
    unanalyzedcall on getArgTypes
    unanalyzedcall on getArity
    unanalyzedcall on getCompatibleComponents
    unanalyzedcall on getConditions
    unanalyzedcall on getConfigDir
    unanalyzedcall on getFrame
    unanalyzedcall on getGlobalWindow
    unanalyzedcall on getGroup
    unanalyzedcall on getName
    unanalyzedcall on getServer
    unanalyzedcall on getState
    unanalyzedcall on getTabCompleter
    unanalyzedcall on getTriggers
    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: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.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: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: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 test
    unanalyzedcall on trigger
    unanalyzedcall on triggerActions

  • void com.dmdirc.actions.Action(String, String, ActionType[], String[], List, String)

  • Kind Annotation Text
    pre(soft) init'ed(com/dmdirc/ServerManager.me)
    preconditions != null
    postcom/dmdirc/ServerManager.me == old com/dmdirc/Serve rManager.me
    postinit'ed(new ConditionTree(readTerm#1) num objects)
    postinit'ed(this.conditionTree)
    postinit'ed(this.conditions)
    postinit'ed(this.config)
    postinit'ed(this.group)
    postinit'ed(this.location)
    postinit'ed(this.modified)
    postinit'ed(this.name)
    postinit'ed(this.newFormat)
    postinit'ed(this.response)
    postinit'ed(this.triggers)
    postjava.lang.StringBuilder:toString(...)._tainted == 0
    postnew ActionType[](ActionModel#2) num objects == 0, if init'ed
    postnew ActionType[](ActionModel#2) num objects == undefined
    postnew ActionType[](ActionModel#2).length == new ActionType[](ActionModel#2) num objects
    postnew ActionType[](ActionModel#2)[...] == null
    postnew ActionType[](ActionModel#2)[...] == undefined
    postnew ArrayList(ActionModel#1) num objects == new ActionType[](ActionModel#2) num objects
    postnew ArrayList(ServerManager#1) num objects == new ActionType[](ActionModel#2) num objects
    postnew ConditionTree(parseStack#3) num objects <= 1
    postnew ConditionTree(parseStack#3).argument == -1
    postnew ConditionTree(parseStack#3).leftArg == null
    postnew ConditionTree(parseStack#3).op == &amp;com.dmdirc.actions.ConditionTree$OPERATION__ static_init.new ConditionTree$OPERATION(ConditionTr ee$OPERATION__static_init#5)
    postnew ConditionTree(parseStack#3).rightArg == null
    postnew ConditionTree(readTerm#1)._tainted == 0
    postnew ConditionTree(readTerm#1).argument == 0, if init'ed
    postnew ConditionTree(readTerm#1).leftArg == null
    postnew ConditionTree(readTerm#1).op == null
    postnew ConditionTree(readTerm#1).rightArg == null
    postnew ServerManager(getServerManager#1) num objects == new ActionType[](ActionModel#2) num objects
    postnew ServerManager(getServerManager#1).servers == new ActionType[](ActionModel#2)[...]
    postnew String[](ActionModel#3) num objects == new ActionType[](ActionModel#2) num objects
    postnew String[](ActionModel#3).length == new ActionType[](ActionModel#2) num objects
    postnew String[](ActionModel#3)[...] == new ActionType[](ActionModel#2)[...]
    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.String:charAt
    unanalyzedcall on java.lang.String:length
    unanalyzedcall on java.lang.String:valueOf
    unanalyzedcall on java.lang.Throwable:__curr_excep_obj
    unanalyzedcall on java.util.ArrayDeque
    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 parseStack
    unanalyzedcall on readTerm

  • com.dmdirc.actions.Action__static_init

  • Kind Annotation Text
    postDOMAIN_CONDITIONTREE != null
    postDOMAIN_FORMAT != null
    postDOMAIN_METADATA != null
    postDOMAIN_RESPONSE != null
    postDOMAIN_TRIGGERS != null

  • void delete()

  • 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)
    preinit'ed(com/dmdirc/actions/ActionManager. killSwitch)
    preinit'ed(this.group)
    preinit'ed(this.location)
    preinit'ed(this.name)
    postcom/dmdirc/ServerManager.me == old com/dmdirc/Serve rManager.me
    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
    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.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.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 doComponentSubstitutions
    unanalyzedcall on doServerSubstitutions
    unanalyzedcall on evaluate
    unanalyzedcall on get
    unanalyzedcall on getArgTypes
    unanalyzedcall on getArity
    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: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.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
    unanalyzedcall on trigger
    unanalyzedcall on triggerActions

  • void error(String)

  • Kind Annotation Text
    preinit'ed(this.group)
    preinit'ed(this.name)
    presumptioninit'ed(com.dmdirc.logger.ErrorLevel.LOW)

  • void loadActionFromConfig()

  • Kind Annotation Text
    pre(soft) init'ed(com/dmdirc/ServerManager.me)
    pre(soft) init'ed(this.group)
    pre(soft) init'ed(this.name)
    pre(soft) init'ed(this.triggers[0])
    pre(soft) init'ed(this.triggers[...])
    pre(soft) this.conditions != null
    prethis.config != null
    presumptioncom.dmdirc.util.ConfigFile:getFlatDomain(...)@154 != null
    presumptioncom.dmdirc.util.ConfigFile:getFlatDomain(...)@163 != null
    presumptioncom.dmdirc.util.ConfigFile:getFlatDomain(...)@166 != null
    presumptioncom.dmdirc.util.ConfigFile:getFlatDomain(...)@175 != null
    presumptioncom.dmdirc.util.ConfigFile:getFlatDomain(...)@185 != null
    presumptioncom.dmdirc.util.ConfigFile:getFlatDomain(...)@187 != null
    presumptioncom.dmdirc.util.ConfigFile:getKeyDomain(...)@180 != null
    presumptionjava.util.List:get(...)@187 != null
    presumptionjava.util.List:size(...)@163 >= 1
    presumptionjava.util.List:size(...)@264 != 0
    presumptionthis.conditionTree...leftArg != null
    presumptionthis.conditionTree...leftArg@195 != null
    presumptionthis.conditionTree...rightArg != null
    presumptionthis.conditionTree...rightArg@195 != null
    presumptionthis.conditionTree.leftArg != null
    presumptionthis.conditionTree.leftArg@195 != null
    presumptionthis.conditionTree.rightArg != null
    presumptionthis.conditionTree.rightArg@195 != null
    presumptionthis.triggers[0].type != null
    postinit'ed(com/dmdirc/ServerManager.me)
    postinit'ed(new ActionType[](loadTriggers#1).length)
    postinit'ed(new ActionType[](loadTriggers#1)[0])
    postinit'ed(new ConditionTree(parseStack#3).argument)
    postinit'ed(new ConditionTree(parseStack#3).leftArg)
    postinit'ed(new ConditionTree(parseStack#3).op)
    postinit'ed(new ConditionTree(parseStack#3).rightArg)
    postinit'ed(new ConditionTree(readTerm#1) num objects)
    postinit'ed(new ServerManager(getServerManager#1). servers)
    postinit'ed(new String[](loadActionFromConfig#1). length)
    postinit'ed(new String[](loadActionFromConfig#1)[...])
    postinit'ed(this.response[...])
    postinit'ed(this.triggers[0])
    postinit'ed(this.triggers[...])
    postnew ActionType[](loadTriggers#1) num objects <= 1
    postnew ArrayList(ServerManager#1) num objects <= 1
    postnew ConditionTree(parseStack#3) num objects <= 1
    postnew ServerManager(getServerManager#1) num objects <= 1
    postnew String[](loadActionFromConfig#1) num objects <= 1
    postpossibly_updated(new ActionType[](loadTriggers#1)[...])
    postpossibly_updated(new ConditionTree(readTerm#1). argument)
    postpossibly_updated(new ConditionTree(readTerm#1). leftArg)
    postpossibly_updated(new ConditionTree(readTerm#1).op)
    postpossibly_updated(new ConditionTree(readTerm#1). rightArg)
    postpossibly_updated(this.conditionTree)
    postpossibly_updated(this.newFormat)
    postthis.response == One-of{old this.response, &amp;new String[](loadActionFromConfig#1)}
    postthis.triggers == One-of{&amp;new ActionType[](loadT riggers#1), old this.triggers}
    unanalyzedcall on add
    unanalyzedcall on appliesTo
    unanalyzedcall on com.dmdirc.commandparser.CommandManager:get CommandChar
    unanalyzedcall on com.dmdirc.config.Identity:setOption
    unanalyzedcall on com.dmdirc.config.IdentityManager:getAddonI dentity
    unanalyzedcall on com.dmdirc.config.prefs.PreferencesSetting
    unanalyzedcall on com.dmdirc.config.prefs.PreferencesType:val ueOf
    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.util.ConfigFile:getKeyDomain
    unanalyzedcall on com.dmdirc.util.ConfigFile:isKeyDomain
    unanalyzedcall on com.dmdirc.util.MapList:add
    unanalyzedcall on getActionComponent
    unanalyzedcall on getArgTypes
    unanalyzedcall on getArity
    unanalyzedcall on getConditions
    unanalyzedcall on getGlobalWindow
    unanalyzedcall on getGroup
    unanalyzedcall on getMaximumArgument
    unanalyzedcall on getName
    unanalyzedcall on getTabCompleter
    unanalyzedcall on getTriggers
    unanalyzedcall on getType
    unanalyzedcall on java.lang.Character:charValue
    unanalyzedcall on java.lang.Character:instanceof
    unanalyzedcall on java.lang.Character:valueOf
    unanalyzedcall on java.lang.Class:getName
    unanalyzedcall on java.lang.Enum:name
    unanalyzedcall on java.lang.IllegalArgumentException
    unanalyzedcall on java.lang.IllegalArgumentException:getMessa ge
    unanalyzedcall on java.lang.Integer:parseInt
    unanalyzedcall on java.lang.Math:max
    unanalyzedcall on java.lang.Object:equals
    unanalyzedcall on java.lang.String:charAt
    unanalyzedcall on java.lang.String:equals
    unanalyzedcall on java.lang.String:indexOf
    unanalyzedcall on java.lang.String:isEmpty
    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.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
    unanalyzedcall on parseStack
    unanalyzedcall on readTerm
    test_vectorcom.dmdirc.util.ConfigFile:isFlatDomain(...)@153: {0}, {1}
    test_vectorcom.dmdirc.util.ConfigFile:isFlatDomain(...)@162: {0}, {1}
    test_vectorcom.dmdirc.util.ConfigFile:isFlatDomain(...)@174: {0}, {1}
    test_vectorcom.dmdirc.util.ConfigFile:isFlatDomain(...)@185: {0}, {1}
    test_vectorcom.dmdirc.util.ConfigFile:isKeyDomain(...)@179: {0}, {1}
    test_vectorjava.util.Iterator:hasNext(...)@166: {0}, {1}
    test_vectorjava.util.List:size(...)@185: {-231..0}, {1..232-1}

  • bool loadTriggers(List)

  • Kind Annotation Text
    pre(soft) init'ed(this.group)
    pre(soft) init'ed(this.name)
    prenewTriggers != null
    presumptionjava.util.List:size(...)@264 >= 0
    presumptionthis.triggers[i].type != null
    postinit'ed(return_value)
    postinit'ed(this.triggers[0])
    postnew ActionType[](loadTriggers#1) num objects == 1
    postpossibly_updated(this.triggers[0])
    postpossibly_updated(this.triggers[...])
    postthis.triggers == &amp;new ActionType[](loadTriggers #1)
    postthis.triggers.length <= 232-1
    unanalyzedcall on com.dmdirc.logger.Logger:userError
    unanalyzedcall on java.lang.Enum:name
    unanalyzedcall on java.lang.String:equals
    unanalyzedcall on java.lang.String:isEmpty
    unanalyzedcall on java.util.List:iterator
    test_vectorjava.lang.Object:equals(...)@272: {1}, {0}

  • ActionComponent readComponent(Map, int)

  • Kind Annotation Text
    pre(soft) arg >= 0
    pre(soft) init'ed(this.group)
    pre(soft) init'ed(this.name)
    pre(soft) this.triggers != null
    pre(soft) this.triggers.length >= 1
    pre(soft) this.triggers[0] != null
    pre(soft) this.triggers[0].type != null
    predata != null
    presumptionappliesTo(...)@467 != null
    presumptionarg < getArgTypes(...).length@454
    presumptionarg < getArgTypes(...).length@467
    presumptiongetArgTypes(...).length@454 >= 1
    presumptiongetArgTypes(...).length@467 >= 1
    presumptiongetArgTypes(...)@454 != null
    presumptiongetArgTypes(...)@467 != null
    presumptiongetType(...)@454 != getType(...)
    presumptiongetType(...)@467 != getType(...)
    presumptionjava.util.Map:get(...)@447 != null
    postinit'ed(return_value)
    postnew ActionComponentChain(readComponent#1) num objects <= 1
    postnew ArrayList(ActionComponentChain#1) num objects <= 1
    postpossibly_updated(new ActionComponentChain(readCompo nent#1).components)
    unanalyzedcall on appliesTo
    unanalyzedcall on com.dmdirc.logger.Logger:assertTrue
    unanalyzedcall on com.dmdirc.logger.Logger:userError
    unanalyzedcall on getActionComponent
    unanalyzedcall on getType
    unanalyzedcall on java.lang.Class:getName
    unanalyzedcall on java.lang.Enum:name
    unanalyzedcall on java.lang.IllegalArgumentException
    unanalyzedcall on java.lang.String:equals
    unanalyzedcall on java.lang.String:isEmpty
    unanalyzedcall on java.lang.String:split
    unanalyzedcall on java.util.ArrayList
    unanalyzedcall on java.util.List:add
    unanalyzedcall on java.util.List:iterator
    test_vectorjava.lang.Object:equals(...)@467: {1}, {0}
    test_vectorjava.lang.String:indexOf(...)@450: {-231. .-2, 0..232-1}, {-1}

  • bool readCondition(Map)

  • Kind Annotation Text
    pre(soft) init'ed(this.group)
    pre(soft) init'ed(this.name)
    pre(soft) this.conditions != null
    pre(soft) this.triggers != null
    pre(soft) this.triggers.length >= 1
    pre(soft) this.triggers[0] != null
    pre(soft) this.triggers[0].type != null
    predata != null
    presumptionappliesTo(...)@414 != null
    presumptiongetType(...)@385 != getType(...)
    presumptionjava.util.Map:get(...)@408 != null
    postinit'ed(return_value)
    unanalyzedcall on appliesTo
    unanalyzedcall on com.dmdirc.logger.Logger:assertTrue
    unanalyzedcall on com.dmdirc.logger.Logger:userError
    unanalyzedcall on getActionComponent
    unanalyzedcall on getArgTypes
    unanalyzedcall on getType
    unanalyzedcall on java.lang.Class:getName
    unanalyzedcall on java.lang.Enum:name
    unanalyzedcall on java.lang.IllegalArgumentException
    unanalyzedcall on java.lang.IllegalArgumentException:getMessa ge
    unanalyzedcall on java.lang.Object:equals
    unanalyzedcall on java.lang.String:equals
    unanalyzedcall on java.lang.String:indexOf
    unanalyzedcall on java.lang.String:isEmpty
    unanalyzedcall on java.lang.String:split
    unanalyzedcall on java.lang.Throwable:__curr_excep_obj
    unanalyzedcall on java.util.ArrayList
    unanalyzedcall on java.util.List:add
    unanalyzedcall on java.util.List:iterator
    unanalyzedcall on java.util.Map:get
    test_vectorjava.lang.Integer:parseInt(...)@379: {-231..-2}, {0..232-2}, {-1}
    test_vectorjava.lang.Object:equals(...)@414: {0}, {1}
    test_vectorjava.lang.Object:equals(...)@414: {1}, {0}
    test_vectorjava.util.Map:get(...)@393: Inverse{null}, Addr_Set{null}
    test_vectorjava.util.Map:get(...)@422: Inverse{null}, Addr_Set{null}

  • void save()

  • Kind Annotation Text
    pre(soft) com.dmdirc.actions.CoreActionType__static_ init.new CoreActionType(CoreActionType__static_init #72).type != null
    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)
    pre(soft) init'ed(com/dmdirc/actions/ActionManager. killSwitch)
    pre(soft) init'ed(this.conditionTree)
    pre(soft) init'ed(this.conditionTree.argument)
    pre(soft) init'ed(this.conditionTree.leftArg)
    pre(soft) init'ed(this.conditionTree.rightArg)
    pre(soft) init'ed(this.config)
    pre(soft) init'ed(this.group)
    pre(soft) init'ed(this.location)
    pre(soft) init'ed(this.name)
    pre(soft) init'ed(this.newFormat)
    pre(soft) init'ed(this.response[...])
    pre(soft) init'ed(this.triggers[...])
    pre(soft) this.conditionTree.op != null
    pre(soft) this.conditions != null
    pre(soft) this.response != null
    pre(soft) this.response.length <= 232-1
    pre(soft) this.triggers != null
    pre(soft) this.triggers.length <= 232-1
    preinit'ed(this.modified)
    presumptioncom.dmdirc.util.ConfigFile:getFlatDomain(...)@314 != null
    presumptioncom.dmdirc.util.ConfigFile:getFlatDomain(...)@319 != null
    presumptioncondition.comparison@323 != null
    presumptioncondition.component@323 != null
    presumptioninit'ed(com.dmdirc.logger.ErrorLevel.HIGH)
    presumptioninit'ed(com.dmdirc.logger.ErrorLevel.LOW)
    presumptionjava.util.Iterator:next(...)@323 != null
    postcom/dmdirc/ServerManager.me == old com/dmdirc/Serve rManager.me
    postinit'ed(this.modified)
    postnew ArrayList(ServerManager#1) num objects == 0, if init'ed
    postnew ServerManager(getServerManager#1) num objects == 0, if init'ed
    postnew ServerManager(getServerManager#1).servers == null
    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.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.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 doComponentSubstitutions
    unanalyzedcall on doServerSubstitutions
    unanalyzedcall on evaluate
    unanalyzedcall on get
    unanalyzedcall on getArgTypes
    unanalyzedcall on getArity
    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: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.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
    unanalyzedcall on trigger
    unanalyzedcall on triggerActions
    test_vectorcom.dmdirc.util.ConfigFile:isKeyDomain(...)@343: {0}, {1}
    test_vectorcom.dmdirc.util.ConfigFile:isKeyDomain(...)@347: {0}, {1}
    test_vectorcondition.arg@323: {-231..-2, 0..232-1}, {-1}
    test_vectorjava.util.Iterator:hasNext(...)@323: {0}, {1}
    test_vectorthis.conditionTree: Addr_Set{null}, Inverse{null}
    test_vectorthis.config: Addr_Set{null}, Inverse{null}
    test_vectorthis.modified: {1}, {0}
    test_vectorthis.newFormat: Addr_Set{null}, Inverse{null}
    test_vectorthis.triggers[...]: Inverse{null}, Addr_Set{null}

  • void setGroup(String)

  • Kind Annotation Text
    preinit'ed(com/dmdirc/Main.configdir)
    preinit'ed(this.location)
    preinit'ed(this.name)
    presumptioninit'ed(java.io.File.separator)
    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)
    postinit'ed(this.group)
    postjava.lang.StringBuilder:toString(...)._tainted == 0
    postthis.group == newGroup
    postthis.location == &amp;java.lang.StringBuilder:toStr ing(...)
    postthis.modified == 1
    unanalyzedcall on getConfigDir
    unanalyzedcall on java.lang.String:startsWith
    unanalyzedcall on java.lang.System:getProperty
    unanalyzedcall on java.lang.System:getenv

  • void setName(String)

  • Kind Annotation Text
    preinit'ed(com/dmdirc/Main.configdir)
    preinit'ed(this.group)
    preinit'ed(this.location)
    presumptioninit'ed(java.io.File.separator)
    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)
    postinit'ed(this.name)
    postjava.lang.StringBuilder:toString(...)._tainted == 0
    postthis.location == &amp;java.lang.StringBuilder:toStr ing(...)
    postthis.modified == 1
    postthis.name == newName
    unanalyzedcall on getConfigDir
    unanalyzedcall on java.lang.String:startsWith
    unanalyzedcall on java.lang.System:getProperty
    unanalyzedcall on java.lang.System:getenv

  • String toString()

  • Kind Annotation Text
    preinit'ed(this.conditions)
    preinit'ed(this.group)
    preinit'ed(this.location)
    preinit'ed(this.name)
    preinit'ed(this.newFormat)
    preinit'ed(this.response)
    preinit'ed(this.triggers)
    postinit'ed(java.lang.StringBuilder:toString(...)._ tainted)
    postjava.lang.StringBuilder:toString(...)._tainted == this.location._tainted | this.conditions._tainted | this.group._tainted | this.name._tainted | One-of{this.conditions._tainted | this.group._ tainted | this.name._tainted, this.newFormat. _tainted}
    postreturn_value == &amp;java.lang.StringBuilder:toStri ng(...)
    unanalyzedcall on java.util.Arrays:toString