Last Msg First Msg
























method com.dmdirc.parser.irc.ProcessMOTD__static_init










method void process(String, String[])
presParam != null
pretoken != null
pretoken.length in {1..232}
pre(soft) this.myParser != null
pre(soft) this.myParser.h005Info != null
pre(soft) this.myParser.hChanModesBool != null
pre(soft) this.myParser.hChanModesOther != null
pre(soft) this.myParser.hChanPrefix != null
pre(soft) this.myParser.hPrefixMap != null
pre(soft) this.myParser.hPrefixModes != null
pre(soft) this.myParser.hUserModes != null
pre(soft) init'ed(this.myParser.lastLine)
pre(soft) this.myParser.myCallbackManager != null
pre(soft) this.myParser.myCallbackManager. callbackHash != null
pre(soft) this.myParser.sNetworkName != null
pre(soft) init'ed(token[...])
postpossibly_updated(this.myParser.nNextKeyCMBool)
postpossibly_updated(this.myParser.nNextKeyPrefix)
postpossibly_updated(this.myParser.nNextKeyUser)
unanalyzedcall on getCallbackManager
unanalyzedcall on getCallbackType
unanalyzedcall on call
unanalyzedcall on java.lang.Boolean:valueOf
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 java.util.Map:clear
unanalyzedcall on java.lang.Character:valueOf
unanalyzedcall on java.lang.String:length
unanalyzedcall on java.util.Map:put
unanalyzedcall on callDebugInfo
unanalyzedcall on java.lang.String:charAt
unanalyzedcall on java.lang.String:format
unanalyzedcall on java.lang.Integer:valueOf
unanalyzedcall on java.lang.String:substring
unanalyzedcall on java.lang.String:split
unanalyzedcall on java.lang.String:equals
unanalyzedcall on java.lang.Long:valueOf
unanalyzedcall on java.lang.String:matches
unanalyzedcall on java.lang.String:equalsIgnoreCase
unanalyzedcall on java.lang.Character:toString
unanalyzedcall on java.lang.Byte:valueOf
test_vectorjava.lang.String:equals(...)@38: {0}, {1}
test_vectorjava.lang.String:equals(...)@40: {0}, {1}
test_vectorjava.util.Map:containsKey(...)@43: {1}, {0}
test_vectorjava.util.Map:containsKey(...)@44: {1}, {0}
test_vectorjava.util.Map:containsKey(...)@45: {1}, {0}
test_vectorjava.util.Map:containsKey(...)@46: {1}, {0}










method bool callMOTDEnd(bool, String)
prethis.myParser != null
prethis.myParser.myCallbackManager != null
prethis.myParser.myCallbackManager.callbackHash != null
presumptiongetCallbackManager(...)@60 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 callMOTDLine(String)
prethis.myParser != null
prethis.myParser.myCallbackManager != null
prethis.myParser.myCallbackManager.callbackHash != null
presumptiongetCallbackManager(...)@71 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 callMOTDStart(String)
prethis.myParser != null
prethis.myParser.myCallbackManager != null
prethis.myParser.myCallbackManager.callbackHash != null
presumptiongetCallbackManager(...)@82 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 == 4
postreturn_value[0] == &"372"
postreturn_value[1] == &"375"
postreturn_value[2] == &"376"
postreturn_value[3] == &"422"










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