Last Msg First Msg
























method com.dmdirc.parser.irc.ProcessInvite__static_init










method void process(String, String[])
pretoken != null
pretoken.length != 3
pre(soft) this.myParser != null
pre(soft) this.myParser.myCallbackManager != null
pre(soft) this.myParser.myCallbackManager. callbackHash != null
pre(soft) token[0] != null
pre(soft) init'ed(token[3])
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
test_vectortoken.length: {0..2}, {4..+Inf}









Prev Msg Next Msg
  suspicious precondition
Medium Prob.
The precondition for token.length is not a contiguous range of values
Prev Msg Next Msg











method bool callInvite(String, String)
prethis.myParser != null
prethis.myParser.myCallbackManager != null
prethis.myParser.myCallbackManager.callbackHash != null
presumptiongetCallbackManager(...)@52 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 == &new String[](handles#1)
postnew String[](handles#1) num objects == 1
postreturn_value.length == 1
postreturn_value[0] == &"INVITE"










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