Last Msg First Msg
























method com.dmdirc.updater.Update$1__static_init

method com.dmdirc.updater.Update__static_init










method UpdateComponent access$000(Update)
prex0 != null
postreturn_value == x0.component
postinit'ed(return_value)










method void com.dmdirc.updater.Update(String)
preupdateInfo != null
presumptioninit'ed(com.dmdirc.logger.ErrorLevel.LOW)
postthis.component == null
postthis.listeners == &new WeakList(Update#1)
postthis.status == &com.dmdirc.updater. UpdateStatus__static_init.new UpdateStatus(UpdateSt atus__static_init#1)
postthis.url == null
postthis.versionName == null
postnew ArrayList(WeakList#1) num objects == 1
postnew WeakList(Update#1) num objects == 1
postthis.listeners.list == &new ArrayList(WeakList# 1)
unanalyzedcall on java.util.ArrayList
unanalyzedcall on getName
unanalyzedcall on java.util.List:iterator
unanalyzedcall on java.lang.String:equals









Prev Msg Next Msg
  use of default init
Low Prob.
check if init'ed(parts.length)
  test always goes same way
Low Prob.
Test predetermined because parts.length == 0
Prev Msg Next Msg










Prev Msg Next Msg
  dead code
Low Prob.
Dead code here because parts.length == 0
Prev Msg Next Msg










  method not available - call not analyzedInfocall on void com.dmdirc.logger.Logger:appError(Erro rLevel, String, Throwable)











method UpdateComponent getComponent()
postreturn_value == this.component
postinit'ed(return_value)










method String getRemoteVersion()
postreturn_value == this.versionName
postinit'ed(return_value)










method String getUrl()
postreturn_value == this.url
postinit'ed(return_value)










method UpdateStatus getStatus()
preinit'ed(this.status)
postreturn_value == this.status
postinit'ed(return_value)










method void setStatus(UpdateStatus)
prethis.listeners != null
pre(soft) com.dmdirc.util.ListenerList.new MapList(ListenerList#1).map != null
pre(soft) init'ed(com/dmdirc/updater/UpdateChecker. status)
presumptionjava.util.Iterator:next(...)@127 != null
postinit'ed(com/dmdirc/updater/UpdateChecker.status)
postthis.progress == +0
postinit'ed(this.status)
unanalyzedcall on java.util.ArrayList
unanalyzedcall on java.util.List:iterator
unanalyzedcall on java.lang.Thread
unanalyzedcall on java.lang.Thread:start
unanalyzedcall on java.util.List:remove
unanalyzedcall on removeUpdate
unanalyzedcall on access$000
unanalyzedcall on access$100
unanalyzedcall on getStatus
unanalyzedcall on doUpdate
unanalyzedcall on setStatus
unanalyzedcall on java.util.List:isEmpty
unanalyzedcall on java.util.Map:containsKey
unanalyzedcall on java.util.Map:get
unanalyzedcall on statusChanged
unanalyzedcall on removeUpdateListener
test_vectorjava.util.Iterator:hasNext(...)@127: {0}, {1}










method void removeUpdateListener(Object)
prethis.listeners != null










method void addUpdateListener(UpdateListener)
prethis.listeners != null










method void com.dmdirc.updater.Update$1(Update)

method void doUpdate()










method void run()
prethis.component != null
prethis.listeners != null
pre(soft) com.dmdirc.util.ListenerList.new MapList(ListenerList#1).map != null
pre(soft) init'ed(com/dmdirc/updater/UpdateChecker. status)
presumptioninit'ed(com.dmdirc.logger.ErrorLevel.MEDIUM)
presumptiongetName(...)@182 != null
postinit'ed(com/dmdirc/updater/UpdateChecker.status)
unanalyzedcall on getName
unanalyzedcall on java.util.List:iterator
unanalyzedcall on removeUpdate
unanalyzedcall on access$000
unanalyzedcall on access$100
unanalyzedcall on updateStatusChange
unanalyzedcall on java.net.URL
unanalyzedcall on java.net.URL:openConnection
unanalyzedcall on java.net.URLConnection:setUseCaches
unanalyzedcall on java.net.URLConnection:setDoInput
unanalyzedcall on java.lang.String:length
unanalyzedcall on java.net.URLConnection:setDoOutput
unanalyzedcall on java.net.URLConnection:setConnectTimeout
unanalyzedcall on java.net.URLConnection:setRequestProperty
unanalyzedcall on java.net.URLConnection:getOutputStream
unanalyzedcall on java.io.DataOutputStream
unanalyzedcall on java.io.DataOutputStream:writeBytes
unanalyzedcall on java.io.DataOutputStream:flush
unanalyzedcall on java.io.DataOutputStream:close
unanalyzedcall on java.net.URLConnection:getInputStream
unanalyzedcall on java.io.File
unanalyzedcall on java.io.FileOutputStream
unanalyzedcall on java.net.URLConnection:getContentLength
unanalyzedcall on setIndeterminate
unanalyzedcall on java.io.InputStream:read
unanalyzedcall on java.io.FileOutputStream:write
unanalyzedcall on downloadProgress
unanalyzedcall on java.io.InputStream:close
unanalyzedcall on java.io.FileOutputStream:close
unanalyzedcall on java.util.List:remove
unanalyzedcall on java.lang.String:equals
unanalyzedcall on java.util.ArrayList
unanalyzedcall on getStatus
unanalyzedcall on doUpdate
unanalyzedcall on setStatus
unanalyzedcall on java.util.List:isEmpty
unanalyzedcall on java.util.Map:containsKey
unanalyzedcall on java.util.Map:get
unanalyzedcall on statusChanged
unanalyzedcall on removeUpdateListener
unanalyzedcall on updateProgressChange
unanalyzedcall on java.lang.Thread
unanalyzedcall on java.lang.Thread:start
test_vectordoInstall(...)@178: {0}, {1}









  method not available - call not analyzedInfocall on String com.dmdirc.Main:getConfigDir()










  call too complex - analysis skippedInfocall on String getName()
  method not available - call not analyzedInfocall on void com.dmdirc.logger.Logger:userError(Err orLevel, String, Throwable)










  call too complex - analysis skippedInfocall on bool doInstall(String)










  call too complex - analysis skippedInfocall on String getName()










  call too complex - analysis skippedInfocall on String getName()
  method not available - call not analyzedInfocall on void com.dmdirc.logger.Logger:userError(Err orLevel, String, Throwable)










  call too complex - analysis skippedInfocall on String getName()
  method not available - call not analyzedInfocall on void com.dmdirc.logger.Logger:appError(Erro rLevel, String, Throwable)











method void downloadProgress(float)
prethis.listeners != null
presumptionjava.util.Iterator:next(...)@205 != null
postthis.progress == percent
postinit'ed(this.progress)
test_vectorjava.util.Iterator:hasNext(...)@205: {0}, {1}










method float getProgress()
preinit'ed(this.progress)
postreturn_value == this.progress
postinit'ed(return_value)










method void setIndeterminate(bool)