ErrorManager.java


current inspection = 2009-09-03 21:56:13 (id #1)


Filter Options
Annotation Kind:
pre
presumption
post
unanalyzed
test_vector


  • void addError(ErrorLevel, String)

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

  • void addError(ErrorLevel, String, Throwable, bool)

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

  • void addError(ErrorLevel, String, String[], bool)

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

  • void addError(ErrorLevel, String, String[], bool, bool)

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

  • bool addError(ProgramError)

  • Kind Annotation Text
    prethis.errors != null
    postinit'ed(return_value)

  • void addErrorListener(ErrorListener)

  • Kind Annotation Text
    pre(soft) this.errorListeners != null
    test_vectorlistener: Inverse{null}, Addr_Set{null}

  • void com.dmdirc.logger.ErrorManager()

  • Kind Annotation Text
    presumptioncom.dmdirc.config.IdentityManager:getGlobalConfig(. ..)@88 != null
    postinit'ed(this.logReports)
    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
    postthis.errorListeners == &amp;new ListenerList(ErrorM anager#2)
    postthis.errors == &amp;new LinkedList(ErrorManager#3)
    postthis.nextErrorID == &amp;new AtomicLong(ErrorManage r#4)
    postthis.reportQueue == &amp;new LinkedBlockingQueue(Er rorManager#1)
    unanalyzedcall on com.dmdirc.config.ConfigManager:getOptionBo ol
    unanalyzedcall on com.dmdirc.config.IdentityManager:getGlobal Config
    unanalyzedcall on java.lang.Throwable:__curr_excep_obj

  • com.dmdirc.logger.ErrorManager__static_init

  • Kind Annotation Text
    postBANNED_EXCEPTIONS == &amp;new Class[](ErrorManager_ _static_init#2)
    postBANNED_EXCEPTIONS.length == 5
    postinit'ed(me.logReports)
    postinit'ed(me.sendReports)
    postme == &amp;new ErrorManager(ErrorManager__static_ init#1)
    postme.errorListeners == &amp;new ListenerList(ErrorMan ager#2)
    postme.errors == &amp;new LinkedList(ErrorManager#3)
    postme.nextErrorID == &amp;new AtomicLong(ErrorManager# 4)
    postme.reportQueue == &amp;new LinkedBlockingQueue(Erro rManager#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
    unanalyzedcall on com.dmdirc.config.ConfigManager:addChangeLi stener
    unanalyzedcall on com.dmdirc.config.ConfigManager:getOptionBo ol
    unanalyzedcall on com.dmdirc.config.IdentityManager:getGlobal Config
    unanalyzedcall on com.dmdirc.util.ListenerList
    unanalyzedcall on java.lang.Throwable:__curr_excep_obj
    unanalyzedcall on java.util.LinkedList
    unanalyzedcall on java.util.concurrent.LinkedBlockingQueue
    unanalyzedcall on java.util.concurrent.atomic.AtomicLong

  • void configChanged(String, String)

  • Kind Annotation Text
    postinit'ed(this.logReports)
    postinit'ed(this.sendReports)
    unanalyzedcall on com.dmdirc.config.ConfigManager:getOptionBo ol
    unanalyzedcall on com.dmdirc.config.IdentityManager:getGlobal Config
    unanalyzedcall on java.lang.Throwable:__curr_excep_obj

  • void deleteAll()

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

  • void deleteError(ProgramError)

  • Kind Annotation Text
    prethis.errorListeners != null
    prethis.errors != null
    unanalyzedcall on com.dmdirc.util.ListenerList:get
    unanalyzedcall on errorDeleted
    unanalyzedcall on java.util.List:iterator

  • void fireErrorAdded(ProgramError)

  • Kind Annotation Text
    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}

  • void fireErrorDeleted(ProgramError)

  • Kind Annotation Text
    prethis.errorListeners != null
    presumptioncom.dmdirc.util.ListenerList:get(...)@433 != null
    presumptionjava.util.Iterator:next(...)@433 != null
    test_vectorjava.util.Iterator:hasNext(...)@433: {0}, {1}

  • void fireErrorStatusChanged(ProgramError)

  • Kind Annotation Text
    pre(soft) error.reportStatus != null
    pre(soft) init'ed(com.dmdirc.ui.FatalErrorDialog$4__ static_init.new int[](FatalErrorDialog$4__static_in it#1)[...])
    prethis.errorListeners != 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 equals
    unanalyzedcall on getReportStatus
    unanalyzedcall on java.lang.Object:getClass
    unanalyzedcall on java.lang.String:equals
    unanalyzedcall on java.util.Arrays:equals
    unanalyzedcall on javax.swing.JButton:setEnabled
    unanalyzedcall on javax.swing.JButton:setText
    test_vectorjava.util.Iterator:hasNext(...)@444: {0}, {1}

  • void fireFatalError(ProgramError)

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

  • ProgramError getError(ErrorLevel, String, String[], bool)

  • Kind Annotation Text
    predetails != null
    predetails.length <= 232-1
    prelevel != null
    premessage != null
    prethis.nextErrorID != null
    presumptionjava.util.concurrent.atomic.AtomicLong:getAndIncrem ent(...)@218 >= 0
    postinit'ed(return_value.trace)
    postnew ProgramError(getError#1) num objects == 1
    postreturn_value == &amp;new ProgramError(getError#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 != null
    postreturn_value.level == level
    postreturn_value.message != null
    postreturn_value.message == message
    postreturn_value.reportStatus == &amp;com.dmdirc. logger.ErrorReportStatus__static_init.new ErrorReportStatus(ErrorReportStatus__static_init#6 )
    unanalyzedcall on java.lang.IllegalArgumentException
    unanalyzedcall on java.lang.String:isEmpty
    unanalyzedcall on java.util.Arrays:copyOf
    unanalyzedcall on java.util.Date:clone

  • int getErrorCount()

  • Kind Annotation Text
    prethis.errors != null
    postinit'ed(return_value)

  • ErrorManager getErrorManager()

  • Kind Annotation Text
    postreturn_value == &amp;new ErrorManager(ErrorManager_ _static_init#1)

  • List getErrors()

  • Kind Annotation Text
    postnew LinkedList(getErrors#1) num objects == 1
    postreturn_value == &amp;new LinkedList(getErrors#1)

  • String[] getTrace(Throwable)

  • Kind Annotation Text
    presumptionjava.lang.Throwable:getStackTrace(...)@259 != null
    presumptiontraceElements.length@259 <= 232-1
    presumptiontraceElements[i]@259 != null
    postinit'ed(java.lang.StringBuilder:toString(...)._ tainted)
    postinit'ed(java.lang.Throwable:toString(...)._ tainted)
    postjava.lang.StackTraceElement:toString(...)._tainted == 0
    postjava.lang.StringBuilder:toString(...)._tainted == 0
    postjava.lang.Throwable:toString(...)._tainted == 0
    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(java.lang.StackTraceElement:toStri ng(...)._tainted)
    postpossibly_updated(java.lang.StringBuilder:toString(. ..)._tainted)
    postpossibly_updated(java.lang.Throwable:toString(...). _tainted)
    postpossibly_updated(new String[](getTrace#3)[...])
    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)}
    unanalyzedcall on getTrace
    unanalyzedcall on java.lang.StackTraceElement:toString
    unanalyzedcall on java.lang.Throwable:getCause
    unanalyzedcall on java.lang.Throwable:getStackTrace
    unanalyzedcall on java.lang.Throwable:toString
    test_vectorjava.lang.Throwable:getCause(...)@268: Addr_Set{null}, Inverse{null}
    test_vectorthrowable: Inverse{null}, Addr_Set{null}

  • bool isValidError(Throwable)

  • Kind Annotation Text
    pre(soft) BANNED_EXCEPTIONS[...] != null
    postinit'ed(return_value)
    test_vectorjava.lang.Object:equals(...)@235: {0}, {1}

  • void removeErrorListener(ErrorListener)

  • Kind Annotation Text
    prethis.errorListeners != null

  • void sendError(ProgramError)

  • Kind Annotation Text
    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
    preerror != null
    preinit'ed(error.reportStatus)
    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)
    postinit'ed(this.reportThread)
    postnew ErrorReportingThread(sendError#1) num objects <= 1
    postnew ErrorReportingThread(sendError#1).queue != null
    postnew ErrorReportingThread(sendError#1).queue == this.reportQueue
    postthis.reportThread == One-of{old this.reportThread, &amp;new ErrorReportingThread(sendError#1)}
    unanalyzedcall on com.dmdirc.logger.ErrorReportStatus:equals
    unanalyzedcall on com.dmdirc.logger.ErrorReportStatus:ordinal
    unanalyzedcall on com.dmdirc.logger.ErrorReportingThread:setD aemon
    unanalyzedcall on com.dmdirc.util.ListenerList:get
    unanalyzedcall on equals
    unanalyzedcall on errorStatusChanged
    unanalyzedcall on fireErrorStatusChanged
    unanalyzedcall on getErrorManager
    unanalyzedcall on getReportStatus
    unanalyzedcall on java.lang.Object:getClass
    unanalyzedcall on java.lang.Object:notifyAll
    unanalyzedcall on java.lang.String:equals
    unanalyzedcall on java.lang.Thread
    unanalyzedcall on java.lang.Throwable:__curr_excep_obj
    unanalyzedcall on java.util.Arrays:equals
    unanalyzedcall on java.util.List:iterator
    unanalyzedcall on javax.swing.JButton:setEnabled
    unanalyzedcall on javax.swing.JButton:setText
    test_vectorjava.lang.Thread:isAlive(...)@298: {1}, {0}
    test_vectorthis.reportThread: Addr_Set{null}, Inverse{null}

  • void updateSettings()

  • Kind Annotation Text
    presumptioncom.dmdirc.config.IdentityManager:getGlobalConfig(. ..)@457 != null
    postinit'ed(this.logReports)
    postinit'ed(this.sendReports)