Last Msg First Msg
























method com.dmdirc.parser.irc.ProcessQuit__static_init










method void process(String, String[])
pretoken != null
pretoken.length <= 232
pre(soft) init'ed(this.myParser.stringConverter)
pre(soft) this.myParser != null
pre(soft) init'ed(this.myParser.cMyself)
pre(soft) this.myParser.cMyself.sNickname != null
pre(soft) this.myParser.hChannelList != null
pre(soft) this.myParser.hClientList != null
pre(soft) this.myParser.myCallbackManager != null
pre(soft) this.myParser.myCallbackManager. callbackHash != null
pre(soft) init'ed(this.myParser.removeAfterCallback)
pre(soft) this.myParser.stringConverter.lowercase != null
pre(soft) init'ed(this.myParser.stringConverter. lowercase[...])
pre(soft) token[0] != null
pre(soft) init'ed(token[...])
presumptioniChannel.hChannelUserList@57 != null
presumptioniChannel.myParser.hClientList@57 != null
presumptioniChannel.myParser.stringConverter.lowercase@58 != null
presumptioniChannel.myParser@57 != null
presumptioniChannel.sName@57 != null
presumptioniClient.sHost != null
presumptioniClient.sNickname != null
presumptionjava.util.ArrayList:iterator(...)@57 != null
presumptionjava.util.Iterator:next(...)@57 != null
presumptionthis.myParser.stringConverter.lowercase@56 != null
presumptionthis.myParser.stringConverter.lowercase@63 != null
postinit'ed(this.myParser.stringConverter)
postinit'ed(new IRCStringConverter(getIRCStringConverte r#1) num objects)
postnew IRCStringConverter(getIRCStringConverter#1) num objects <= 1
postinit'ed(new IRCStringConverter(getIRCStringConverte r#1).limit)
postnew IRCStringConverter(getIRCStringConverter#1). limit == 4
postinit'ed(new IRCStringConverter(getIRCStringConverte r#1).lowercase)
postnew IRCStringConverter(getIRCStringConverter#1). lowercase == &amp;new char[](IRCStringConverter#1)
postinit'ed(new IRCStringConverter(getIRCStringConverte r#1).uppercase)
postnew IRCStringConverter(getIRCStringConverter#1). uppercase == &amp;new char[](IRCStringConverter#2)
postinit'ed(new char[](IRCStringConverter#1) num objects)
postnew char[](IRCStringConverter#1) num objects <= 1
postinit'ed(new char[](IRCStringConverter#1).length)
postnew char[](IRCStringConverter#1).length == 127
postinit'ed(new char[](IRCStringConverter#1)[...])
postpossibly_updated(new char[](IRCStringConverter#1)[...])
postinit'ed(new char[](IRCStringConverter#2) num objects)
postnew char[](IRCStringConverter#2) num objects <= 1
postinit'ed(new char[](IRCStringConverter#2).length)
postnew char[](IRCStringConverter#2).length == 127
postinit'ed(new char[](IRCStringConverter#2)[...])
postpossibly_updated(new char[](IRCStringConverter#2)[...])
unanalyzedcall on getCallbackManager
unanalyzedcall on getCallbackType
unanalyzedcall on call
unanalyzedcall on java.util.Map:containsKey
unanalyzedcall on java.lang.String:toLowerCase
unanalyzedcall on java.lang.RuntimeException
unanalyzedcall on java.util.Map:get
unanalyzedcall on getClientInfo
unanalyzedcall on java.lang.String:isEmpty
unanalyzedcall on java.lang.String:charAt
unanalyzedcall on java.lang.String:substring
unanalyzedcall on java.lang.String:split
unanalyzedcall on java.lang.Throwable:__curr_excep_obj
unanalyzedcall on java.util.Map:values
unanalyzedcall on java.util.Collection:iterator
unanalyzedcall on getClient
unanalyzedcall on getChannel
unanalyzedcall on getName
unanalyzedcall on java.lang.String:toCharArray
unanalyzedcall on java.lang.String:length
unanalyzedcall on java.lang.String
unanalyzedcall on java.util.Map:remove
unanalyzedcall on java.util.Map:isEmpty
unanalyzedcall on getNickname
unanalyzedcall on forceRemoveClient
unanalyzedcall on java.util.Map:clear
unanalyzedcall on addClient
unanalyzedcall on java.util.Map:put
unanalyzedcall on parseHost
test_vectorthis.myParser.removeAfterCallback: {0}, {1}
test_vectortoken.length: {2}, {0,1}, {3..232}
test_vectorjava.lang.String:isEmpty(...)@49: {0}, {1}
test_vectorjava.util.Iterator:hasNext(...)@57: {0}, {1}










method bool callChannelQuit(ChannelInfo, ChannelClientInf o, String)
prethis.myParser != null
prethis.myParser.myCallbackManager != null
prethis.myParser.myCallbackManager.callbackHash != null
presumptiongetCallbackManager(...)@90 init'ed
postinit'ed(return_value)
unanalyzedcall on getCallbackManager
unanalyzedcall on java.util.Map:containsKey
unanalyzedcall on java.lang.String:toLowerCase
unanalyzedcall on java.lang.RuntimeException
unanalyzedcall on java.util.Map:get









Prev Msg Next Msg
  null dereference
Medium Prob.
check that getCallbackType(...) != null
  call too complex - analysis skippedInfocall on bool call(Object[])
Prev Msg Next Msg











method bool callQuit(ClientInfo, String)
prethis.myParser != null
prethis.myParser.myCallbackManager != null
prethis.myParser.myCallbackManager.callbackHash != null
presumptiongetCallbackManager(...)@102 init'ed
postinit'ed(return_value)
unanalyzedcall on getCallbackManager
unanalyzedcall on java.util.Map:containsKey
unanalyzedcall on java.lang.String:toLowerCase
unanalyzedcall on java.lang.RuntimeException
unanalyzedcall on java.util.Map:get









Prev Msg Next Msg
  null dereference
Medium Prob.
check that getCallbackType(...) != null
  call too complex - analysis skippedInfocall on bool call(Object[])
Prev Msg Next Msg











method String[] handles()
postreturn_value == &amp;new String[](handles#1)
postnew String[](handles#1) num objects == 1
postreturn_value.length == 1
postreturn_value[0] == &amp;"QUIT"










method void com.dmdirc.parser.irc.ProcessQuit(IRCParser, ProcessingManager)
postthis.myManager == manager
postinit'ed(this.myManager)
postthis.myParser == parser
postinit'ed(this.myParser)