Last Msg First Msg
























method com.dmdirc.logger.ErrorManager__static_init
postBANNED_EXCEPTIONS == &new Class[](ErrorManager_ _static_init#2)
postme == &new ErrorManager(ErrorManager__static_ init#1)
postnew AtomicLong(ErrorManager#4) num objects == 1
postnew Class[](ErrorManager__static_init#2) num objects == 1
postnew ErrorManager(ErrorManager__static_init#1) num objects == 1
postnew LinkedBlockingQueue(ErrorManager#1) num objects == 1
postnew LinkedList(ErrorManager#3) num objects == 1
postnew ListenerList(ErrorManager#2) num objects == 1
postBANNED_EXCEPTIONS.length == 5
postme.errorListeners == &new ListenerList(ErrorMan ager#2)
postme.errors == &new LinkedList(ErrorManager#3)
postinit'ed(me.logReports)
postme.nextErrorID == &new AtomicLong(ErrorManager# 4)
postme.reportQueue == &new LinkedBlockingQueue(Erro rManager#1)
postinit'ed(me.sendReports)
unanalyzedcall on com.dmdirc.config.IdentityManager:getGlobal Config
unanalyzedcall on com.dmdirc.config.ConfigManager:getOptionBo ol
unanalyzedcall on java.lang.Throwable:__curr_excep_obj
unanalyzedcall on java.util.concurrent.LinkedBlockingQueue
unanalyzedcall on com.dmdirc.util.ListenerList
unanalyzedcall on java.util.LinkedList
unanalyzedcall on java.util.concurrent.atomic.AtomicLong
unanalyzedcall on com.dmdirc.config.ConfigManager:addChangeLi stener









  method not available - call not analyzedInfocall on void com.dmdirc.util.ListenerList()











method void com.dmdirc.logger.ErrorManager()
presumptioncom.dmdirc.config.IdentityManager:getGlobalConfig(. ..)@88 != null
postthis.errorListeners == &new ListenerList(ErrorM anager#2)
postthis.errors == &new LinkedList(ErrorManager#3)
postinit'ed(this.logReports)
postthis.nextErrorID == &new AtomicLong(ErrorManage r#4)
postthis.reportQueue == &new LinkedBlockingQueue(Er rorManager#1)
postinit'ed(this.sendReports)
postnew AtomicLong(ErrorManager#4) num objects == 1
postnew LinkedBlockingQueue(ErrorManager#1) num objects == 1
postnew LinkedList(ErrorManager#3) num objects == 1
postnew ListenerList(ErrorManager#2) num objects == 1
unanalyzedcall on com.dmdirc.config.IdentityManager:getGlobal Config
unanalyzedcall on com.dmdirc.config.ConfigManager:getOptionBo ol
unanalyzedcall on java.lang.Throwable:__curr_excep_obj









  method not available - call not analyzedInfocall on ConfigManager com.dmdirc.config. IdentityManager:getGlobalConfig()










  method not available - call not analyzedInfocall on void com.dmdirc.config.ConfigManager:addCha ngeListener(String, String, ConfigChangeListener)










  method not available - call not analyzedInfocall on void com.dmdirc.config.ConfigManager:addCha ngeListener(String, String, ConfigChangeListener)










  method not available - call not analyzedInfocall on void com.dmdirc.config.ConfigManager:addCha ngeListener(String, String, ConfigChangeListener)











method ErrorManager getErrorManager()
postreturn_value == &new ErrorManager(ErrorManager_ _static_init#1)










method void addError(ErrorLevel, String)
prelevel != null
premessage != null
prethis.errors != null
preinit'ed(this.logReports)
prethis.nextErrorID != null
pre(soft) init'ed(com.dmdirc.ui.FatalErrorDialog$4__ static_init.new int[](FatalErrorDialog$4__static_in it#1)[...])
pre(soft) init'ed(com/dmdirc/logger/ProgramError. errorDir)
pre(soft) init'ed(this.reportThread)
pre(soft) this.errorListeners != null
pre(soft) this.reportQueue != null
pre(soft) init'ed(this.sendReports)
postcom/dmdirc/logger/ProgramError.errorDir == One-of{old com/dmdirc/logger/ProgramError. errorDir, &new File(getErrorFile#1)}
postinit'ed(com/dmdirc/logger/ProgramError.errorDir)
postthis.reportThread == old this.reportThread
postinit'ed(this.reportThread)
postnew ErrorReportingThread(sendError#1) num objects == 0
postinit'ed(new ErrorReportingThread(sendError#1). queue)
postnew File(getErrorFile#1) num objects <= 1
unanalyzedcall on java.lang.Throwable:__curr_excep_obj
unanalyzedcall on java.util.concurrent.atomic. AtomicLong:getAndIncrement
unanalyzedcall on java.util.Date
unanalyzedcall on java.lang.IllegalArgumentException
unanalyzedcall on java.lang.String:isEmpty
unanalyzedcall on java.util.Arrays:copyOf
unanalyzedcall on java.util.Date:clone
unanalyzedcall on java.util.List:contains
unanalyzedcall on java.util.List:add
unanalyzedcall on com.dmdirc.logger.ErrorReportStatus:equals
unanalyzedcall on getErrorManager
unanalyzedcall on fireErrorStatusChanged
unanalyzedcall on java.lang.Object:notifyAll
unanalyzedcall on java.util.concurrent.BlockingQueue:add
unanalyzedcall on java.lang.Thread:isAlive
unanalyzedcall on java.lang.Thread
unanalyzedcall on com.dmdirc.logger.ErrorReportingThread:setD aemon
unanalyzedcall on java.lang.Thread:start
unanalyzedcall on java.awt.GraphicsEnvironment:isHeadless
unanalyzedcall on java.io.PrintStream:println
unanalyzedcall on javax.swing.SwingUtilities:invokeLater
unanalyzedcall on java.util.concurrent.Semaphore
unanalyzedcall on java.util.concurrent.Semaphore:acquireUnint erruptibly
unanalyzedcall on java.lang.Object:wait
unanalyzedcall on com.dmdirc.util.ListenerList:get
unanalyzedcall on java.util.List:iterator
unanalyzedcall on com.dmdirc.logger.ErrorReportStatus:ordinal
unanalyzedcall on javax.swing.JButton:setText
unanalyzedcall on javax.swing.JButton:setEnabled
unanalyzedcall on equals
unanalyzedcall on getReportStatus
unanalyzedcall on errorStatusChanged
unanalyzedcall on isReady
unanalyzedcall on errorAdded
unanalyzedcall on com.dmdirc.logger.ErrorFixedStatus:equals
unanalyzedcall on java.lang.String:startsWith
unanalyzedcall on java.io.File:exists
unanalyzedcall on com.dmdirc.Main:getConfigDir
unanalyzedcall on java.io.File
unanalyzedcall on java.io.File:mkdirs
unanalyzedcall on java.util.Date:getTime
unanalyzedcall on java.io.File:renameTo
unanalyzedcall on java.io.File:createNewFile
unanalyzedcall on java.io.FileOutputStream
unanalyzedcall on java.util.concurrent.Semaphore:release
unanalyzedcall on java.io.IOException:printStackTrace
unanalyzedcall on java.io.OutputStream
unanalyzedcall on java.io.PrintWriter
unanalyzedcall on java.io.PrintWriter:println
unanalyzedcall on java.io.PrintWriter:close
unanalyzedcall on java.lang.Object:getClass
unanalyzedcall on java.lang.String:equals
unanalyzedcall on java.util.Arrays:equals










method void addError(ErrorLevel, String, Throwable, bool)
prelevel != null
premessage != null
prethis.errors != null
preinit'ed(this.logReports)
prethis.nextErrorID != null
pre(soft) init'ed(com.dmdirc.ui.FatalErrorDialog$4__ static_init.new int[](FatalErrorDialog$4__static_in it#1)[...])
pre(soft) BANNED_EXCEPTIONS[...] != null
pre(soft) init'ed(com/dmdirc/logger/ProgramError. errorDir)
pre(soft) init'ed(this.reportThread)
pre(soft) this.errorListeners != null
pre(soft) this.reportQueue != null
pre(soft) init'ed(this.sendReports)
presumptiongetTrace(...).length <= 232-1
postcom/dmdirc/logger/ProgramError.errorDir == One-of{old com/dmdirc/logger/ProgramError. errorDir, &amp;new File(getErrorFile#1)}
postinit'ed(com/dmdirc/logger/ProgramError.errorDir)
postthis.reportThread == One-of{old this.reportThread, &amp;new ErrorReportingThread(sendError#1)}
postinit'ed(this.reportThread)
postnew ErrorReportingThread(sendError#1) num objects <= 1
postinit'ed(new ErrorReportingThread(sendError#1). queue)
postnew File(getErrorFile#1) num objects <= 1
unanalyzedcall on java.lang.Throwable:__curr_excep_obj
unanalyzedcall on java.util.concurrent.atomic. AtomicLong:getAndIncrement
unanalyzedcall on java.util.Date
unanalyzedcall on java.lang.IllegalArgumentException
unanalyzedcall on java.lang.String:isEmpty
unanalyzedcall on java.util.Arrays:copyOf
unanalyzedcall on java.util.Date:clone
unanalyzedcall on java.util.List:contains
unanalyzedcall on java.util.List:add
unanalyzedcall on com.dmdirc.logger.ErrorReportStatus:equals
unanalyzedcall on getErrorManager
unanalyzedcall on fireErrorStatusChanged
unanalyzedcall on java.lang.Object:notifyAll
unanalyzedcall on java.util.concurrent.BlockingQueue:add
unanalyzedcall on java.lang.Thread:isAlive
unanalyzedcall on java.lang.Thread
unanalyzedcall on com.dmdirc.logger.ErrorReportingThread:setD aemon
unanalyzedcall on java.lang.Thread:start
unanalyzedcall on java.awt.GraphicsEnvironment:isHeadless
unanalyzedcall on java.io.PrintStream:println
unanalyzedcall on javax.swing.SwingUtilities:invokeLater
unanalyzedcall on java.util.concurrent.Semaphore
unanalyzedcall on java.util.concurrent.Semaphore:acquireUnint erruptibly
unanalyzedcall on java.lang.Object:wait
unanalyzedcall on java.lang.Throwable:getStackTrace
unanalyzedcall on java.lang.Throwable:toString
unanalyzedcall on java.lang.StackTraceElement:toString
unanalyzedcall on java.lang.Throwable:getCause
unanalyzedcall on getTrace
unanalyzedcall on java.lang.Object:getClass
unanalyzedcall on java.lang.Object:equals
unanalyzedcall on com.dmdirc.util.ListenerList:get
unanalyzedcall on java.util.List:iterator
unanalyzedcall on com.dmdirc.logger.ErrorReportStatus:ordinal
unanalyzedcall on javax.swing.JButton:setText
unanalyzedcall on javax.swing.JButton:setEnabled
unanalyzedcall on equals
unanalyzedcall on getReportStatus
unanalyzedcall on errorStatusChanged
unanalyzedcall on isReady
unanalyzedcall on errorAdded
unanalyzedcall on com.dmdirc.logger.ErrorFixedStatus:equals
unanalyzedcall on java.lang.String:startsWith
unanalyzedcall on java.io.File:exists
unanalyzedcall on com.dmdirc.Main:getConfigDir
unanalyzedcall on java.io.File
unanalyzedcall on java.io.File:mkdirs
unanalyzedcall on java.util.Date:getTime
unanalyzedcall on java.io.File:renameTo
unanalyzedcall on java.io.File:createNewFile
unanalyzedcall on java.io.FileOutputStream
unanalyzedcall on java.util.concurrent.Semaphore:release
unanalyzedcall on java.io.IOException:printStackTrace
unanalyzedcall on java.io.OutputStream
unanalyzedcall on java.io.PrintWriter
unanalyzedcall on java.io.PrintWriter:println
unanalyzedcall on java.io.PrintWriter:close
unanalyzedcall on java.lang.String:equals
unanalyzedcall on java.util.Arrays:equals










method void addError(ErrorLevel, String, String[], bool)
predetails != null
predetails.length <= 232-1
prelevel != null
premessage != null
prethis.errors != null
preinit'ed(this.logReports)
prethis.nextErrorID != null
pre(soft) init'ed(com.dmdirc.ui.FatalErrorDialog$4__ static_init.new int[](FatalErrorDialog$4__static_in it#1)[...])
pre(soft) init'ed(com/dmdirc/logger/ProgramError. errorDir)
pre(soft) init'ed(this.reportThread)
pre(soft) this.errorListeners != null
pre(soft) this.reportQueue != null
pre(soft) init'ed(this.sendReports)
postcom/dmdirc/logger/ProgramError.errorDir == One-of{old com/dmdirc/logger/ProgramError. errorDir, &amp;new File(getErrorFile#1)}
postinit'ed(com/dmdirc/logger/ProgramError.errorDir)
postthis.reportThread == One-of{old this.reportThread, &amp;new ErrorReportingThread(sendError#1)}
postinit'ed(this.reportThread)
postnew ErrorReportingThread(sendError#1) num objects <= 1
postinit'ed(new ErrorReportingThread(sendError#1). queue)
postnew File(getErrorFile#1) num objects <= 1
unanalyzedcall on java.lang.Throwable:__curr_excep_obj
unanalyzedcall on java.util.concurrent.atomic. AtomicLong:getAndIncrement
unanalyzedcall on java.util.Date
unanalyzedcall on java.lang.IllegalArgumentException
unanalyzedcall on java.lang.String:isEmpty
unanalyzedcall on java.util.Arrays:copyOf
unanalyzedcall on java.util.Date:clone
unanalyzedcall on java.util.List:contains
unanalyzedcall on java.util.List:add
unanalyzedcall on com.dmdirc.logger.ErrorReportStatus:equals
unanalyzedcall on getErrorManager
unanalyzedcall on fireErrorStatusChanged
unanalyzedcall on java.lang.Object:notifyAll
unanalyzedcall on java.util.concurrent.BlockingQueue:add
unanalyzedcall on java.lang.Thread:isAlive
unanalyzedcall on java.lang.Thread
unanalyzedcall on com.dmdirc.logger.ErrorReportingThread:setD aemon
unanalyzedcall on java.lang.Thread:start
unanalyzedcall on java.awt.GraphicsEnvironment:isHeadless
unanalyzedcall on java.io.PrintStream:println
unanalyzedcall on javax.swing.SwingUtilities:invokeLater
unanalyzedcall on java.util.concurrent.Semaphore
unanalyzedcall on java.util.concurrent.Semaphore:acquireUnint erruptibly
unanalyzedcall on java.lang.Object:wait
unanalyzedcall on com.dmdirc.util.ListenerList:get
unanalyzedcall on java.util.List:iterator
unanalyzedcall on com.dmdirc.logger.ErrorReportStatus:ordinal
unanalyzedcall on javax.swing.JButton:setText
unanalyzedcall on javax.swing.JButton:setEnabled
unanalyzedcall on equals
unanalyzedcall on getReportStatus
unanalyzedcall on errorStatusChanged
unanalyzedcall on isReady
unanalyzedcall on errorAdded
unanalyzedcall on com.dmdirc.logger.ErrorFixedStatus:equals
unanalyzedcall on java.lang.String:startsWith
unanalyzedcall on java.io.File:exists
unanalyzedcall on com.dmdirc.Main:getConfigDir
unanalyzedcall on java.io.File
unanalyzedcall on java.io.File:mkdirs
unanalyzedcall on java.util.Date:getTime
unanalyzedcall on java.io.File:renameTo
unanalyzedcall on java.io.File:createNewFile
unanalyzedcall on java.io.FileOutputStream
unanalyzedcall on java.util.concurrent.Semaphore:release
unanalyzedcall on java.io.IOException:printStackTrace
unanalyzedcall on java.io.OutputStream
unanalyzedcall on java.io.PrintWriter
unanalyzedcall on java.io.PrintWriter:println
unanalyzedcall on java.io.PrintWriter:close
unanalyzedcall on java.lang.Object:getClass
unanalyzedcall on java.lang.String:equals
unanalyzedcall on java.util.Arrays:equals










method void addError(ErrorLevel, String, String[], bool, bool)
predetails != null
predetails.length <= 232-1
prelevel != null
premessage != null
prethis.errors != null
preinit'ed(this.logReports)
prethis.nextErrorID != null
pre(soft) init'ed(com.dmdirc.ui.FatalErrorDialog$4__ static_init.new int[](FatalErrorDialog$4__static_in it#1)[...])
pre(soft) init'ed(com/dmdirc/logger/ProgramError. errorDir)
pre(soft) init'ed(this.reportThread)
pre(soft) this.errorListeners != null
pre(soft) this.reportQueue != null
pre(soft) init'ed(this.sendReports)
presumptionerror.trace.length in {1..232-1}
presumptionerror.trace[0] != null
presumptionerror.trace[...] != null
postcom/dmdirc/logger/ProgramError.errorDir == One-of{old com/dmdirc/logger/ProgramError. errorDir, &amp;new File(getErrorFile#1)}
postinit'ed(com/dmdirc/logger/ProgramError.errorDir)
postthis.reportThread == One-of{old this.reportThread, &amp;new ErrorReportingThread(sendError#1)}
postinit'ed(this.reportThread)
postnew ErrorReportingThread(sendError#1) num objects <= 1
postinit'ed(new ErrorReportingThread(sendError#1). queue)
postnew File(getErrorFile#1) num objects <= 1
unanalyzedcall on java.lang.Throwable:__curr_excep_obj
unanalyzedcall on java.util.concurrent.atomic. AtomicLong:getAndIncrement
unanalyzedcall on java.util.Date
unanalyzedcall on java.lang.IllegalArgumentException
unanalyzedcall on java.lang.String:isEmpty
unanalyzedcall on java.util.Arrays:copyOf
unanalyzedcall on java.util.Date:clone
unanalyzedcall on java.util.List:contains
unanalyzedcall on java.util.List:add
unanalyzedcall on com.dmdirc.logger.ErrorReportStatus:equals
unanalyzedcall on getErrorManager
unanalyzedcall on fireErrorStatusChanged
unanalyzedcall on java.lang.Object:notifyAll
unanalyzedcall on java.util.concurrent.BlockingQueue:add
unanalyzedcall on java.lang.Thread:isAlive
unanalyzedcall on java.lang.Thread
unanalyzedcall on com.dmdirc.logger.ErrorReportingThread:setD aemon
unanalyzedcall on java.lang.Thread:start
unanalyzedcall on java.awt.GraphicsEnvironment:isHeadless
unanalyzedcall on java.io.PrintStream:println
unanalyzedcall on javax.swing.SwingUtilities:invokeLater
unanalyzedcall on java.util.concurrent.Semaphore
unanalyzedcall on java.util.concurrent.Semaphore:acquireUnint erruptibly
unanalyzedcall on java.lang.Object:wait
unanalyzedcall on com.dmdirc.util.ListenerList:get
unanalyzedcall on java.util.List:iterator
unanalyzedcall on com.dmdirc.logger.ErrorReportStatus:ordinal
unanalyzedcall on javax.swing.JButton:setText
unanalyzedcall on javax.swing.JButton:setEnabled
unanalyzedcall on equals
unanalyzedcall on getReportStatus
unanalyzedcall on errorStatusChanged
unanalyzedcall on isReady
unanalyzedcall on errorAdded
unanalyzedcall on com.dmdirc.logger.ErrorFixedStatus:equals
unanalyzedcall on java.lang.String:startsWith
unanalyzedcall on java.io.File:exists
unanalyzedcall on com.dmdirc.Main:getConfigDir
unanalyzedcall on java.io.File
unanalyzedcall on java.io.File:mkdirs
unanalyzedcall on java.util.Date:getTime
unanalyzedcall on java.io.File:renameTo
unanalyzedcall on java.io.File:createNewFile
unanalyzedcall on java.io.FileOutputStream
unanalyzedcall on java.util.concurrent.Semaphore:release
unanalyzedcall on java.io.IOException:printStackTrace
unanalyzedcall on java.io.OutputStream
unanalyzedcall on java.io.PrintWriter
unanalyzedcall on java.io.PrintWriter:println
unanalyzedcall on java.io.PrintWriter:close
unanalyzedcall on java.lang.Object:getClass
unanalyzedcall on java.lang.String:equals
unanalyzedcall on java.util.Arrays:equals
test_vectorappError: {0}, {1}
test_vectorcanReport: {0}, {1}
test_vectorthis.logReports: {0}, {1}
test_vectorthis.sendReports: {0}, {1}









Prev Msg Next Msg
  precondition failure
Medium Prob.
com/dmdirc/logger/ProgramError.isValidSource: this.trace != null
Prev Msg Next Msg










Prev Msg Next Msg
  precondition failure
Medium Prob.
com/dmdirc/logger/ProgramError.save: this.trace != null
Prev Msg Next Msg










Prev Msg Next Msg
  precondition failure
Medium Prob.
com/dmdirc/logger/ErrorManager.fireErrorAdded: error.trace != null
Prev Msg Next Msg











method bool addError(ProgramError)
prethis.errors != null
postinit'ed(return_value)










method ProgramError getError(ErrorLevel, String, String[], bool)
predetails != null
predetails.length <= 232-1
prelevel != null
premessage != null
prethis.nextErrorID != null
presumptionjava.util.concurrent.atomic.AtomicLong:getAndIncrem ent(...)@218 >= 0
postreturn_value == &amp;new ProgramError(getError#1)
postnew ProgramError(getError#1) num objects == 1
postreturn_value.date != null
postreturn_value.fixedStatus == &amp;com.dmdirc.logger. ErrorFixedStatus__static_init.new ErrorFixedStatus( ErrorFixedStatus__static_init#7)
postreturn_value.id >= 0
postreturn_value.level == level
postreturn_value.level != null
postreturn_value.message == message
postreturn_value.message != null
postreturn_value.reportStatus == &amp;com.dmdirc. logger.ErrorReportStatus__static_init.new ErrorReportStatus(ErrorReportStatus__static_init#6 )
postinit'ed(return_value.trace)
unanalyzedcall on java.lang.IllegalArgumentException
unanalyzedcall on java.lang.String:isEmpty
unanalyzedcall on java.util.Arrays:copyOf
unanalyzedcall on java.util.Date:clone










method bool isValidError(Throwable)
pre(soft) BANNED_EXCEPTIONS[...] != null
postinit'ed(return_value)
test_vectorjava.lang.Object:equals(...)@235: {0}, {1}










method String[] getTrace(Throwable)
presumptionjava.lang.Throwable:getStackTrace(...)@259 != null
presumptiontraceElements.length@259 <= 232-1
presumptiontraceElements[i]@259 != null
postjava.lang.StackTraceElement:toString(...)._tainted == 0
postpossibly_updated(java.lang.StackTraceElement:toStri ng(...)._tainted)
postinit'ed(java.lang.StringBuilder:toString(...)._ tainted)
postjava.lang.StringBuilder:toString(...)._tainted == 0
postpossibly_updated(java.lang.StringBuilder:toString(. ..)._tainted)
postinit'ed(java.lang.Throwable:toString(...)._ tainted)
postjava.lang.Throwable:toString(...)._tainted == 0
postpossibly_updated(java.lang.Throwable:toString(...). _tainted)
postreturn_value == One-of{&amp;new String[](getTrace#1 ), &amp;new String[](getTrace#2), &amp;new String[](getTrace#3)}
postreturn_value in Addr_Set{&amp;new String[](getTrace #2),&amp;new String[](getTrace#3),&amp;new String[](getTrace#1)}
postnew String[](getTrace#1) num objects <= 1
postnew String[](getTrace#1).length == 0
postnew String[](getTrace#1)[0] == null
postnew String[](getTrace#1)[...] == null
postnew String[](getTrace#2) num objects <= 1
postnew String[](getTrace#2).length in {1.. 232}
postnew String[](getTrace#2)[0] in Addr_Set{&amp;java. lang.Throwable:toString(...),&amp;java.lang. StringBuilder:toString(...)}
postnew String[](getTrace#2)[...] in Addr_Set{null,&amp;java.lang.StackTraceElement:toS tring(...)}
postnew String[](getTrace#3) num objects <= 1
postnew String[](getTrace#3).length >= 1
postpossibly_updated(new String[](getTrace#3)[...])
unanalyzedcall on java.lang.Throwable:getStackTrace
unanalyzedcall on java.lang.Throwable:toString
unanalyzedcall on java.lang.StackTraceElement:toString
unanalyzedcall on java.lang.Throwable:getCause
unanalyzedcall on getTrace
test_vectorthrowable: Inverse{null}, Addr_Set{null}
test_vectorjava.lang.Throwable:getCause(...)@268: Addr_Set{null}, Inverse{null}










method void sendError(ProgramError)
preerror != null
preinit'ed(error.reportStatus)
pre(soft) init'ed(com.dmdirc.ui.FatalErrorDialog$4__ static_init.new int[](FatalErrorDialog$4__static_in it#1)[...])
pre(soft) init'ed(this.reportThread)
pre(soft) this.reportQueue != null
posterror.reportStatus == One-of{old error. reportStatus, &amp;com.dmdirc.logger. ErrorReportStatus__static_init.new ErrorReportStatu s(ErrorReportStatus__static_init#5)}
postinit'ed(error.reportStatus)
postthis.reportThread == One-of{old this.reportThread, &amp;new ErrorReportingThread(sendError#1)}
postinit'ed(this.reportThread)
postnew ErrorReportingThread(sendError#1) num objects <= 1
postnew ErrorReportingThread(sendError#1).queue == this.reportQueue
postnew ErrorReportingThread(sendError#1).queue != null
unanalyzedcall on java.lang.Throwable:__curr_excep_obj
unanalyzedcall on com.dmdirc.logger.ErrorReportStatus:equals
unanalyzedcall on getErrorManager
unanalyzedcall on fireErrorStatusChanged
unanalyzedcall on java.lang.Object:notifyAll
unanalyzedcall on java.lang.Thread
unanalyzedcall on com.dmdirc.logger.ErrorReportingThread:setD aemon
unanalyzedcall on com.dmdirc.util.ListenerList:get
unanalyzedcall on java.util.List:iterator
unanalyzedcall on com.dmdirc.logger.ErrorReportStatus:ordinal
unanalyzedcall on javax.swing.JButton:setText
unanalyzedcall on javax.swing.JButton:setEnabled
unanalyzedcall on equals
unanalyzedcall on getReportStatus
unanalyzedcall on errorStatusChanged
unanalyzedcall on java.lang.Object:getClass
unanalyzedcall on java.lang.String:equals
unanalyzedcall on java.util.Arrays:equals
test_vectorthis.reportThread: Addr_Set{null}, Inverse{null}
test_vectorjava.lang.Thread:isAlive(...)@298: {1}, {0}










method void deleteError(ProgramError)
prethis.errorListeners != null
prethis.errors != null
unanalyzedcall on com.dmdirc.util.ListenerList:get
unanalyzedcall on java.util.List:iterator
unanalyzedcall on errorDeleted










method void deleteAll()
prethis.errors != null
pre(soft) this.errorListeners != null
unanalyzedcall on com.dmdirc.util.ListenerList:get
unanalyzedcall on java.util.List:iterator
unanalyzedcall on errorDeleted
test_vectorjava.util.Iterator:hasNext(...)@324: {0}, {1}










method int getErrorCount()
prethis.errors != null
postinit'ed(return_value)










method List getErrors()
postreturn_value == &amp;new LinkedList(getErrors#1)
postnew LinkedList(getErrors#1) num objects == 1










method void addErrorListener(ErrorListener)
pre(soft) this.errorListeners != null
test_vectorlistener: Inverse{null}, Addr_Set{null}









  method not available - call not analyzedInfocall on void com.dmdirc.util.ListenerList:add(Class , Object)











method void removeErrorListener(ErrorListener)
prethis.errorListeners != null









  method not available - call not analyzedInfocall on void com.dmdirc.util.ListenerList:remove(Cl ass, Object)











method void fireErrorAdded(ProgramError)
preerror != null
preerror.trace != null
preerror.trace.length <= 232-1
prethis.errorListeners != null
presumptionarr$.length <= 232-1
presumptioncom.dmdirc.util.ListenerList:get(...)@382 != null
presumptionjava.lang.System.err != null
presumptionjava.util.Arrays:copyOf(...)@148 != null
presumptionjava.util.Iterator:next(...)@382 != null
unanalyzedcall on java.util.Arrays:copyOf
test_vectorjava.util.Iterator:hasNext(...)@382: {0}, {1}









  method not available - call not analyzedInfocall on List com.dmdirc.util.ListenerList:get(Class )










Prev Msg Next Msg
  test always goes same way
Low Prob.
Test predetermined because isReady(...) == 0
Prev Msg Next Msg










Prev Msg Next Msg
  dead code
Low Prob.
Dead code here because isReady(...) == 0
Prev Msg Next Msg










Prev Msg Next Msg
  test always goes same way
Low Prob.
Test predetermined because firedListeners == 0
Prev Msg Next Msg











method void fireFatalError(ProgramError)
preerror != null
preerror.reportStatus != null
pre(soft) error.trace != null
pre(soft) error.trace.length <= 232-1
presumptionarr$.length <= 232-1
presumptionjava.lang.System.err != null
presumptionjava.util.Arrays:copyOf(...)@148 != null
unanalyzedcall on java.util.Arrays:copyOf
unanalyzedcall on javax.swing.SwingUtilities:invokeLater
unanalyzedcall on java.util.concurrent.Semaphore
unanalyzedcall on java.util.concurrent.Semaphore:acquireUnint erruptibly
test_vectorjava.awt.GraphicsEnvironment:isHeadless(...)@405: {0}, {1}










method void fireErrorDeleted(ProgramError)
prethis.errorListeners != null
presumptioncom.dmdirc.util.ListenerList:get(...)@433 != null
presumptionjava.util.Iterator:next(...)@433 != null
test_vectorjava.util.Iterator:hasNext(...)@433: {0}, {1}









  method not available - call not analyzedInfocall on List com.dmdirc.util.ListenerList:get(Class )











method void fireErrorStatusChanged(ProgramError)
prethis.errorListeners != null
pre(soft) init'ed(com.dmdirc.ui.FatalErrorDialog$4__ static_init.new int[](FatalErrorDialog$4__static_in it#1)[...])
pre(soft) error.reportStatus != null
presumptioncom.dmdirc.util.ListenerList:get(...)@444 != null
presumptionjava.util.Iterator:next(...)@444 != null
presumptionlistener.error.message@444 != null
presumptionlistener.error@444 != null
presumptionlistener.okButton@444 != null
presumptionlistener.sendButton@444 != null
unanalyzedcall on com.dmdirc.logger.ErrorReportStatus:ordinal
unanalyzedcall on javax.swing.JButton:setText
unanalyzedcall on javax.swing.JButton:setEnabled
unanalyzedcall on equals
unanalyzedcall on getReportStatus
unanalyzedcall on java.lang.Object:getClass
unanalyzedcall on java.lang.String:equals
unanalyzedcall on java.util.Arrays:equals
test_vectorjava.util.Iterator:hasNext(...)@444: {0}, {1}









  method not available - call not analyzedInfocall on List com.dmdirc.util.ListenerList:get(Class )











method void configChanged(String, String)
postinit'ed(this.logReports)
postinit'ed(this.sendReports)
unanalyzedcall on com.dmdirc.config.IdentityManager:getGlobal Config
unanalyzedcall on com.dmdirc.config.ConfigManager:getOptionBo ol
unanalyzedcall on java.lang.Throwable:__curr_excep_obj










method void updateSettings()
presumptioncom.dmdirc.config.IdentityManager:getGlobalConfig(. ..)@457 != null
postinit'ed(this.logReports)
postinit'ed(this.sendReports)









  method not available - call not analyzedInfocall on ConfigManager com.dmdirc.config. IdentityManager:getGlobalConfig()










  method not available - call not analyzedInfocall on bool com.dmdirc.config.ConfigManager:getOpt ionBool(String, String)










  method not available - call not analyzedInfocall on bool com.dmdirc.config.ConfigManager:getOpt ionBool(String, String)