Last Msg First Msg
























method com.dmdirc.parser.irc.callbacks.CallbackObject__ static_init










method void com.dmdirc.parser.irc.callbacks. CallbackObject(IRCParser, CallbackManager, Class)
postthis.callbackInfo == &new ArrayList(CallbackObj ect#1)
postthis.myManager == manager
postinit'ed(this.myManager)
postthis.myParser == parser
postinit'ed(this.myParser)
postthis.type == type
postinit'ed(this.type)
postnew ArrayList(CallbackObject#1) num objects == 1










method void addCallback(ICallbackInterface)
prethis.callbackInfo != null
test_vectorjava.util.List:contains(...)@78: {1}, {0}










method void delCallback(ICallbackInterface)
prethis.callbackInfo != null










method bool callErrorInfo(ParserError)
prethis.myManager != null
prethis.myManager.callbackHash != null
presumptiongetCallbackType(...)@99 init'ed
postinit'ed(return_value)
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 void add(ICallbackInterface)
prethis.callbackInfo != null
unanalyzedcall on java.util.List:contains
unanalyzedcall on java.util.List:add










method void del(ICallbackInterface)
prethis.callbackInfo != null
unanalyzedcall on java.util.List:remove










method String getName()
prethis.type != null
presumptionjava.lang.Class:getSimpleName(...)@122 != null
postjava.lang.StringBuilder:toString(...)._tainted == 0
postreturn_value == &java.lang.StringBuilder:toStri ng(...)










method String getLowerName()
prethis.type != null
postreturn_value != null
unanalyzedcall on java.lang.Class:getSimpleName
unanalyzedcall on java.lang.String:substring









Prev Msg Next Msg
  unused assignment in callee
Low Prob.
Unused assignment to (java.lang.StringBuilder:toStr ing(...)._tainted) in getName
Prev Msg Next Msg











method bool call(Object[])
preargs != null
prethis.myParser != null
preinit'ed(this.myParser.createFake)
pre(soft) init'ed(args[...])
pre(soft) this.myManager != null
pre(soft) this.myManager.callbackHash != null
pre(soft) init'ed(this.myParser.lastLine)
pre(soft) this.type != null
presumptionjava.lang.Class:getMethods(...).length@152 >= 1
presumptionjava.lang.Class:getMethods(...)@152 != null
presumptionjava.lang.Class:getMethods(...)[0]@152 != null
presumptionjava.util.ArrayList:iterator(...)@150 != null
postinit'ed(return_value)
unanalyzedcall on java.lang.Class:getMethods
unanalyzedcall on java.lang.reflect.Method:getParameterAnnota tions
unanalyzedcall on java.lang.annotation.Annotation:annotationT ype
unanalyzedcall on java.lang.Object:equals
unanalyzedcall on java.lang.reflect.Method:getParameterTypes
unanalyzedcall on getFakeArg
unanalyzedcall on java.util.HashMap
unanalyzedcall on java.util.Map:put
unanalyzedcall on java.lang.Class:getConstructors
unanalyzedcall on java.lang.reflect.Constructor:getParameterT ypes
unanalyzedcall on java.util.Map:containsKey
unanalyzedcall on java.util.Map:get
unanalyzedcall on java.lang.Throwable:__curr_excep_obj
unanalyzedcall on java.lang.reflect.Constructor:newInstance
unanalyzedcall on java.lang.reflect.Method:getName
unanalyzedcall on java.lang.String:equals
unanalyzedcall on java.lang.Boolean:valueOf
unanalyzedcall on java.lang.reflect.Method:invoke
unanalyzedcall on getCreateFake
unanalyzedcall on java.util.ArrayList
unanalyzedcall on java.util.ArrayList:iterator
unanalyzedcall on java.lang.Exception:getMessage
unanalyzedcall on getLastLine
unanalyzedcall on callErrorInfo
unanalyzedcall on getCallbackType
unanalyzedcall on call
unanalyzedcall on java.lang.String:toLowerCase
unanalyzedcall on java.lang.RuntimeException
test_vectorthis.myParser.createFake: {0}, {1}
test_vectorjava.util.Iterator:hasNext(...)@150: {0}, {1}










method void createFakeArgs(Object[])
prethis.type != null
pre(soft) args != null
pre(soft) args.length >= 1
pre(soft) init'ed(args[...])
presumptionarr$.length@175 <= args.length
presumptionarr$.length@175 <= 232-1
presumptionarr$.length@175 in {1..232-1}
presumptionarr$.length@175 >= 1
presumptionarr$[i$]@175 != null
presumptionjava.lang.Class:getMethods(...).length@175 >= 1
presumptionjava.lang.Class:getMethods(...).length@179 >= 1
presumptionjava.lang.Class:getMethods(...)@175 != null
presumptionjava.lang.Class:getMethods(...)@179 != null
presumptionjava.lang.Class:getMethods(...)[0]@175 != null
presumptionjava.lang.Class:getMethods(...)[0]@179 != null
presumptionjava.lang.annotation.Annotation:annotationType(... )@177 != null
presumptionjava.lang.reflect.Method:getParameterAnnotations(.. .)@175 != null
presumptionjava.lang.reflect.Method:getParameterTypes(...). length@179 >= 1
presumptionarr$.length@175 <= java.lang.reflect. Method:getParameterTypes(...).length@179
presumptionjava.lang.reflect.Method:getParameterTypes(... )@179 != null
presumptionjava.lang.reflect.Method:getParameterTypes(... )[i]@179 != null
postinit'ed(args[...])
unanalyzedcall on java.lang.Class:getMethods
unanalyzedcall on java.lang.reflect.Method:getParameterAnnota tions
unanalyzedcall on java.lang.annotation.Annotation:annotationT ype
unanalyzedcall on java.lang.Object:equals
unanalyzedcall on java.lang.reflect.Method:getParameterTypes
unanalyzedcall on getFakeArg
unanalyzedcall on java.util.HashMap
unanalyzedcall on java.util.Map:put
unanalyzedcall on java.lang.Class:getConstructors
unanalyzedcall on java.lang.reflect.Constructor:getParameterT ypes
unanalyzedcall on java.util.Map:containsKey
unanalyzedcall on java.util.Map:get
unanalyzedcall on java.lang.Throwable:__curr_excep_obj
unanalyzedcall on java.lang.reflect.Constructor:newInstance
unanalyzedcall on java.lang.reflect.Method:getName
unanalyzedcall on java.lang.String:equals
unanalyzedcall on java.lang.Boolean:valueOf
unanalyzedcall on java.lang.reflect.Method:invoke
test_vectorjava.lang.Object:equals(...)@177: {0}, {1}









Prev Msg Next Msg
  null dereference
Medium Prob.
check that arr$ != null
  array index out of bounds
Medium Prob.
check that i$ < arr$.length
Prev Msg Next Msg










Prev Msg Next Msg
  null dereference
Medium Prob.
check that ann != null
Prev Msg Next Msg











method Object getFakeArg(Object[], Class)
pretarget != null
prethis.type != null
pre(soft) args != null
pre(soft) args.length >= 1
pre(soft) init'ed(args[...])
presumptionarr$.length@207 in {1..232-1}
presumptionarr$.length@207 <= 232-1
presumptionarr$.length@207 <= args.length
presumptionarr$.length@207 - arr$.length@207 in {0..232-1}
presumptionarr$.length@217 <= 232-1
presumptionarr$.length@224 <= 232-1
presumptionarr$.length@224 <= java.lang.reflect. Constructor:getParameterTypes(...).length@218
presumptionarr$.length@240 <= 232-1
presumptionarr$[i$]@207 != null
presumptionarr$[i$]@217 != null
presumptionarr$[i$]@224 != null
presumptionarr$[i$]@240 != null
presumptioninit'ed(java.lang.Boolean.TYPE)
presumptionjava.lang.Class:getConstructors(...)@217 != null
presumptionjava.lang.Class:getMethods(...).length@207 >= 1
presumptionjava.lang.Class:getMethods(...).length@210 >= 1
presumptionjava.lang.Class:getMethods(...)@207 != null
presumptionjava.lang.Class:getMethods(...)@210 != null
presumptionjava.lang.Class:getMethods(...)@240 != null
presumptionjava.lang.Class:getMethods(...)[0]@207 != null
presumptionjava.lang.Class:getMethods(...)[0]@210 != null
presumptionjava.lang.annotation.Annotation:annotationType(... )@209 != null
presumptionjava.lang.reflect.Constructor:getParameterTypes(... ).length@218 >= 1
presumptionjava.lang.reflect.Constructor:getParameterTypes(... )@218 != null
presumptionjava.lang.reflect.Constructor:getParameterTypes(... )@224 != null
presumptionjava.lang.reflect.Method:getName(...)@241 != null
presumptionjava.lang.reflect.Method:getParameterAnnotations(.. .)@207 != null
presumptionjava.lang.reflect.Method:getParameterTypes(...). length@210 >= 1
presumptionarr$.length@207 <= java.lang.reflect. Method:getParameterTypes(...).length@210
presumptionjava.lang.reflect.Method:getParameterTypes(...). length@241 >= 1
presumptionjava.lang.reflect.Method:getParameterTypes(... )@210 != null
presumptionjava.lang.reflect.Method:getParameterTypes(... )@241 != null
presumptionjava.lang.reflect.Method:getParameterTypes(... )[0]@241 != null
postinit'ed(return_value)
unanalyzedcall on java.lang.Class:getMethods
unanalyzedcall on java.lang.reflect.Method:getParameterAnnota tions
unanalyzedcall on java.lang.annotation.Annotation:annotationT ype
unanalyzedcall on java.lang.Object:equals
unanalyzedcall on java.lang.reflect.Method:getParameterTypes
unanalyzedcall on getFakeArg
unanalyzedcall on java.util.HashMap
unanalyzedcall on java.util.Map:put
unanalyzedcall on java.lang.Class:getConstructors
unanalyzedcall on java.lang.reflect.Constructor:getParameterT ypes
unanalyzedcall on java.util.Map:containsKey
unanalyzedcall on java.util.Map:get
unanalyzedcall on java.lang.Throwable:__curr_excep_obj
unanalyzedcall on java.lang.reflect.Constructor:newInstance
unanalyzedcall on java.lang.reflect.Method:getName
unanalyzedcall on java.lang.String:equals
unanalyzedcall on java.lang.Boolean:valueOf
unanalyzedcall on java.lang.reflect.Method:invoke
test_vectorjava.lang.Object:equals(...)@209: {0}, {1}
test_vectorjava.lang.Object:equals(...)@241: {0}, {1}
test_vectorjava.lang.String:equals(...)@241: {0}, {1}
test_vectorjava.lang.reflect.Method:getParameterTypes(...). length@241: {0, 2..+Inf}, {1}
test_vectorjava.util.Map:containsKey(...)@225: {0}, {1}