method com.dmdirc.logger.Logger__static_init
postmanager == &com.dmdirc.logger.ErrorManager__ static_init.new ErrorManager(ErrorManager__static_i nit#1)
unanalyzedcall on java.lang.Throwable:__curr_excep_obj










method void com.dmdirc.logger.Logger()










method void userError(ErrorLevel, String)
preinit'ed(manager.logReports)
premanager.nextErrorID != null
prelevel != null
premessage != null
pre(soft) init'ed(manager.sendReports)
pre(soft) init'ed(com.dmdirc.ui.FatalErrorDialog$4__ static_init.new int[](FatalErrorDialog$4__static_in it#1)[...])
pre(soft) init'ed(manager.reportThread)
pre(soft) init'ed(com/dmdirc/logger/ProgramError. errorDir)
postcom/dmdirc/logger/ProgramError.errorDir == One-of{old com/dmdirc/logger/ProgramError. errorDir, &new File(getErrorFile#1)}
postinit'ed(com/dmdirc/logger/ProgramError.errorDir)
postmanager.reportThread == old manager.reportThread
postinit'ed(manager.reportThread)
postnew ErrorReportingThread(sendError#1) num objects == 0
postinit'ed(new ErrorReportingThread(sendError#1). queue)
postnew File(getErrorFile#1) num objects <= 1
unanalyzedcall on getErrorManager
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 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 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 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










method void userError(ErrorLevel, String, String)
preinit'ed(manager.logReports)
premanager.nextErrorID != null
prelevel != null
premessage != null
pre(soft) init'ed(manager.sendReports)
pre(soft) init'ed(com.dmdirc.ui.FatalErrorDialog$4__ static_init.new int[](FatalErrorDialog$4__static_in it#1)[...])
pre(soft) init'ed(manager.reportThread)
pre(soft) init'ed(com/dmdirc/logger/ProgramError. errorDir)
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)
postmanager.reportThread == old manager.reportThread
postinit'ed(manager.reportThread)
postnew ErrorReportingThread(sendError#1) num objects == 0
postinit'ed(new ErrorReportingThread(sendError#1). queue)
postnew File(getErrorFile#1) num objects <= 1
unanalyzedcall on getErrorManager
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 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 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 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










method void userError(ErrorLevel, String, Throwable)
preinit'ed(manager.logReports)
premanager.nextErrorID != null
prelevel != null
premessage != null
pre(soft) com.dmdirc.logger.ErrorManager__static_init. new Class[](ErrorManager__static_init#2)[...] != null
pre(soft) init'ed(manager.sendReports)
pre(soft) init'ed(com.dmdirc.ui.FatalErrorDialog$4__ static_init.new int[](FatalErrorDialog$4__static_in it#1)[...])
pre(soft) init'ed(manager.reportThread)
pre(soft) init'ed(com/dmdirc/logger/ProgramError. errorDir)
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)
postmanager.reportThread == old manager.reportThread
postinit'ed(manager.reportThread)
postnew ErrorReportingThread(sendError#1) num objects == 0
postinit'ed(new ErrorReportingThread(sendError#1). queue)
postnew File(getErrorFile#1) num objects <= 1
unanalyzedcall on getErrorManager
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 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 addError
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.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.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.String:equals
unanalyzedcall on java.util.Arrays:equals










method void appError(ErrorLevel, String, Throwable)
preinit'ed(manager.logReports)
premanager.nextErrorID != null
prelevel != null
premessage != null
pre(soft) com.dmdirc.logger.ErrorManager__static_init. new Class[](ErrorManager__static_init#2)[...] != null
pre(soft) init'ed(manager.sendReports)
pre(soft) init'ed(com.dmdirc.ui.FatalErrorDialog$4__ static_init.new int[](FatalErrorDialog$4__static_in it#1)[...])
pre(soft) init'ed(manager.reportThread)
pre(soft) init'ed(com/dmdirc/logger/ProgramError. errorDir)
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)
postmanager.reportThread == One-of{old manager. reportThread, &amp;new ErrorReportingThread(sendErr or#1)}
postinit'ed(manager.reportThread)
postnew ErrorReportingThread(sendError#1) num objects <= 1
postinit'ed(new ErrorReportingThread(sendError#1). queue)
postnew File(getErrorFile#1) num objects <= 1
unanalyzedcall on getErrorManager
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 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 addError
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.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.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.String:equals
unanalyzedcall on java.util.Arrays:equals










method void assertTrue(bool)
prevalue == 1