LoggingPlugin.java


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


Filter Options
Annotation Kind:
pre
presumption
post
unanalyzed
test_vector


  • void addNetworkDir(StringBuffer, StringBuffer, String)

  • Kind Annotation Text
    pre(soft) directory != null
    pre(soft) file != null
    pre(soft) networkName != null
    presumptioncom.dmdirc.config.IdentityManager:getGlobalConfig(. ..)@662 != null
    presumptioninit'ed(com.dmdirc.logger.ErrorLevel.LOW)
    postinit'ed(directory._tainted)
    unanalyzedcall on java.lang.String:replaceAll
    test_vectorcom.dmdirc.config.ConfigManager:getOptionBool(... )@662: {1}, {0}
    test_vectorjava.io.File:exists(...)@672: {0}, {1}
    test_vectorjava.io.File:exists(...)@676: {1}, {0}
    test_vectorjava.io.File:isDirectory(...)@672: {1}, {0}
    test_vectorjava.io.File:mkdirs(...)@676: {1}, {0}

  • bool appendLine(String, String)

  • Kind Annotation Text
    pre(soft) this.openFiles != null
    presumptioncom.dmdirc.config.IdentityManager:getGlobalConfig(. ..)@544 != null
    presumptioncom.dmdirc.config.IdentityManager:getGlobalConfig(. ..)@546 != null
    presumptioncom.dmdirc.config.IdentityManager:getGlobalConfig(. ..)@561 != null
    presumptioninit'ed(com.dmdirc.logger.ErrorLevel.LOW)
    presumptionjava.text.DateFormat:format(...)@549 != null
    presumptionjava.text.DateFormat:format(...)@553 != null
    presumptionjava.util.Map:get(...)@570 != null
    presumptionof.writer@570 != null
    postinit'ed(return_value)
    unanalyzedcall on java.lang.System:currentTimeMillis
    test_vectorcom.dmdirc.config.ConfigManager:getOptionBool(... )@544: {0}, {1}
    test_vectorcom.dmdirc.config.ConfigManager:getOptionBool(... )@561: {0}, {1}
    test_vectorjava.util.Map:containsKey(...)@569: {0}, {1}

  • bool appendLine(String, String, Object[])

  • Kind Annotation Text
    pre(soft) this.openFiles != null
    postinit'ed(return_value)
    unanalyzedcall on com.dmdirc.addons.logging.LoggingPlugin:get Domain
    unanalyzedcall on com.dmdirc.config.ConfigManager:getOption
    unanalyzedcall on com.dmdirc.config.ConfigManager:getOptionBo ol
    unanalyzedcall on com.dmdirc.config.IdentityManager:getGlobal Config
    unanalyzedcall on com.dmdirc.logger.Logger:userError
    unanalyzedcall on com.dmdirc.ui.messages.Styliser:stipControl Codes
    unanalyzedcall on java.io.BufferedWriter
    unanalyzedcall on java.io.BufferedWriter:flush
    unanalyzedcall on java.io.BufferedWriter:newLine
    unanalyzedcall on java.io.BufferedWriter:write
    unanalyzedcall on java.io.FileWriter
    unanalyzedcall on java.lang.String:trim
    unanalyzedcall on java.lang.System:currentTimeMillis
    unanalyzedcall on java.lang.Throwable:__curr_excep_obj
    unanalyzedcall on java.text.DateFormat:format
    unanalyzedcall on java.text.SimpleDateFormat
    unanalyzedcall on java.util.Date
    unanalyzedcall on java.util.Map:containsKey
    unanalyzedcall on java.util.Map:get
    unanalyzedcall on java.util.Map:put

  • void com.dmdirc.addons.logging.LoggingPlugin$1(LoggingPlugin)

  • Kind Annotation Text

  • com.dmdirc.addons.logging.LoggingPlugin$1__static_init

  • Kind Annotation Text

  • com.dmdirc.addons.logging.LoggingPlugin$2__static_init

  • Kind Annotation Text
    presumptioncom.dmdirc.actions.CoreActionType.CHANNEL_ACTION != null
    presumptioncom.dmdirc.actions.CoreActionType.CHANNEL_CLOSED != null
    presumptioncom.dmdirc.actions.CoreActionType.CHANNEL_GOTTOPIC != null
    presumptioncom.dmdirc.actions.CoreActionType.CHANNEL_JOIN != null
    presumptioncom.dmdirc.actions.CoreActionType.CHANNEL_KICK != null
    presumptioncom.dmdirc.actions.CoreActionType.CHANNEL_MESSAGE != null
    presumptioncom.dmdirc.actions.CoreActionType.CHANNEL_ MODECHANGE != null
    presumptioncom.dmdirc.actions.CoreActionType.CHANNEL_ NICKCHANGE != null
    presumptioncom.dmdirc.actions.CoreActionType.CHANNEL_OPENED != null
    presumptioncom.dmdirc.actions.CoreActionType.CHANNEL_PART != null
    presumptioncom.dmdirc.actions.CoreActionType.CHANNEL_QUIT != null
    presumptioncom.dmdirc.actions.CoreActionType.CHANNEL_SELF_ ACTION != null
    presumptioncom.dmdirc.actions.CoreActionType.CHANNEL_SELF_ MESSAGE != null
    presumptioncom.dmdirc.actions.CoreActionType.CHANNEL_ TOPICCHANGE != null
    presumptioncom.dmdirc.actions.CoreActionType.QUERY_ACTION != null
    presumptioncom.dmdirc.actions.CoreActionType.QUERY_CLOSED != null
    presumptioncom.dmdirc.actions.CoreActionType.QUERY_MESSAGE != null
    presumptioncom.dmdirc.actions.CoreActionType.QUERY_OPENED != null
    presumptioncom.dmdirc.actions.CoreActionType.QUERY_SELF_ ACTION != null
    presumptioncom.dmdirc.actions.CoreActionType.QUERY_SELF_ MESSAGE != null
    presumptioncom.dmdirc.actions.CoreActionType:ordinal(...)@268 < com.dmdirc.actions.CoreActionType:values(...). length@268
    presumptioncom.dmdirc.actions.CoreActionType:ordinal(...)@268 >= 0
    presumptioncom.dmdirc.actions.CoreActionType:values(...). length@268 >= 1
    presumptioncom.dmdirc.actions.CoreActionType:values(...)@268 != null
    postnew int[](LoggingPlugin$2__static_init#1) num objects == 1

  • void com.dmdirc.addons.logging.LoggingPlugin$OpenFile(LoggingPlugin, BufferedWriter)

  • Kind Annotation Text
    postinit'ed(this.lastUsedTime)
    postinit'ed(this.writer)
    postthis.writer == writer

  • com.dmdirc.addons.logging.LoggingPlugin$OpenFile__static_init

  • Kind Annotation Text

  • void com.dmdirc.addons.logging.LoggingPlugin()

  • Kind Annotation Text
    postnew Hashtable(LoggingPlugin#1) num objects == 1
    postnew SimpleDateFormat(LoggingPlugin#2) num objects == 1
    postthis.openFiles == &amp;new Hashtable(LoggingPlugin# 1)
    postthis.openedAtFormat == &amp;new SimpleDateFormat(Lo ggingPlugin#2)

  • com.dmdirc.addons.logging.LoggingPlugin__static_init

  • Kind Annotation Text

  • void domainUpdated()

  • Kind Annotation Text
    presumptioncom.dmdirc.config.IdentityManager:getAddonIdentity( ...)@105 != null

  • String getColouredString(String, String)

  • Kind Annotation Text
    precolour != null
    postinit'ed(return_value)
    test_vectorjava.lang.Integer:parseInt(...)@501: {16..232-1}, {0..15}
    test_vectorjava.lang.String:length(...)@497: {3.. 232-1}, {0..2}
    test_vectorjava.lang.String:length(...)@509: {0..5, 7..232-1}, {6}

  • String getDisplayName(ChannelClientInfo)

  • Kind Annotation Text
    postinit'ed(com.dmdirc.parser.irc.ChannelClientInfo:toS tring(...)._tainted)
    postinit'ed(return_value)
    postjava.lang.StringBuilder:toString(...)._tainted == 0
    unanalyzedcall on com.dmdirc.addons.logging.LoggingPlugin:get Domain
    unanalyzedcall on com.dmdirc.config.ConfigManager:getOptionBo ol
    unanalyzedcall on com.dmdirc.config.IdentityManager:getGlobal Config
    unanalyzedcall on com.dmdirc.parser.irc.ChannelClientInfo:get ImportantModePrefix
    unanalyzedcall on com.dmdirc.parser.irc.ChannelClientInfo:get Nickname
    unanalyzedcall on com.dmdirc.parser.irc.ChannelClientInfo:toS tring
    unanalyzedcall on java.lang.String:isEmpty

  • String getDisplayName(ChannelClientInfo, String)

  • Kind Annotation Text
    preoverrideNick != null
    presumptioncom.dmdirc.config.IdentityManager:getGlobalConfig(. ..)@760 != null
    postinit'ed(com.dmdirc.parser.irc.ChannelClientInfo:toS tring(...)._tainted)
    postinit'ed(java.lang.StringBuilder:toString(...)._ tainted)
    postinit'ed(return_value)
    test_vectorchannelClient: Inverse{null}, Addr_Set{null}
    test_vectorcom.dmdirc.config.ConfigManager:getOptionBool(... )@760: {1}, {0}
    test_vectorjava.lang.String:isEmpty(...)@764: {0}, {1}

  • String getDisplayName(ClientInfo)

  • Kind Annotation Text
    postinit'ed(return_value)
    unanalyzedcall on com.dmdirc.parser.irc.ClientInfo:getNicknam e
    unanalyzedcall on java.lang.String:isEmpty

  • String getDisplayName(ClientInfo, String)

  • Kind Annotation Text
    preoverrideNick != null
    postinit'ed(return_value)
    test_vectorjava.lang.String:isEmpty(...)@735: {0}, {1}

  • String getLogFile(Object)

  • Kind Annotation Text
    presumptioncom.dmdirc.config.IdentityManager:getGlobalConfig(. ..)@604 != null
    presumptioncom.dmdirc.config.IdentityManager:getGlobalConfig(. ..)@630 != null
    presumptioncom.dmdirc.config.IdentityManager:getGlobalConfig(. ..)@631 != null
    presumptioncom.dmdirc.config.IdentityManager:getGlobalConfig(. ..)@643 != null
    presumptioncom.dmdirc.parser.irc.ChannelInfo:getName(...)@616 != null
    presumptioncom.dmdirc.parser.irc.ChannelInfo:getName(...)@617 != null
    presumptioncom.dmdirc.parser.irc.ChannelInfo:getParser(... )@614 != null
    presumptioncom.dmdirc.parser.irc.ClientInfo:getNickname(... )@623 != null
    presumptioncom.dmdirc.parser.irc.ClientInfo:getNickname(... )@624 != null
    presumptioncom.dmdirc.parser.irc.ClientInfo:getParser(... )@621 != null
    presumptioncom.dmdirc.parser.irc.IRCParser:getNetworkName(... )@614 != null
    presumptioncom.dmdirc.parser.irc.IRCParser:getNetworkName(... )@621 != null
    presumptioninit'ed(com.dmdirc.logger.ErrorLevel.LOW)
    presumptioninit'ed(java.io.File.separatorChar)
    presumptionjava.lang.StringBuffer:length(...)@605 >= -231+1
    presumptionjava.lang.StringBuffer:length(...)@634 >= -231+1
    postinit'ed(java.lang.StringBuilder:toString(...)._ tainted)
    postreturn_value == &amp;java.lang.StringBuilder:toStri ng(...)
    unanalyzedcall on com.dmdirc.addons.logging.LoggingPlugin:get Domain
    unanalyzedcall on com.dmdirc.config.ConfigManager:getOptionBo ol
    unanalyzedcall on com.dmdirc.config.IdentityManager:getGlobal Config
    unanalyzedcall on com.dmdirc.logger.Logger:userError
    unanalyzedcall on java.io.File
    unanalyzedcall on java.io.File:exists
    unanalyzedcall on java.io.File:isDirectory
    unanalyzedcall on java.io.File:mkdirs
    unanalyzedcall on java.lang.String:getBytes
    unanalyzedcall on java.lang.String:length
    unanalyzedcall on java.lang.String:replaceAll
    unanalyzedcall on java.lang.String:toLowerCase
    unanalyzedcall on java.lang.System:getProperty
    unanalyzedcall on java.lang.Throwable:__curr_excep_obj
    unanalyzedcall on java.math.BigInteger
    unanalyzedcall on java.math.BigInteger:toString
    unanalyzedcall on java.security.MessageDigest:digest
    unanalyzedcall on java.security.MessageDigest:getInstance
    unanalyzedcall on java.security.MessageDigest:update
    test_vectorcom.dmdirc.config.ConfigManager:getOptionBool(... )@630: {0}, {1}
    test_vectorcom.dmdirc.config.ConfigManager:getOptionBool(... )@643: {0}, {1}
    test_vectorcom.dmdirc.parser.irc.ChannelInfo:getParser(... )@613: Addr_Set{null}, Inverse{null}
    test_vectorcom.dmdirc.parser.irc.ChannelInfo:instanceof(... )@611: {0}, {1}
    test_vectorcom.dmdirc.parser.irc.ClientInfo:getParser(... )@620: Addr_Set{null}, Inverse{null}
    test_vectorcom.dmdirc.parser.irc.ClientInfo:instanceof(... )@618: {0}, {1}
    test_vectorjava.io.File:exists(...)@638: {1}, {0}
    test_vectorjava.io.File:mkdirs(...)@638: {1}, {0}
    test_vectorobj: Inverse{null}, Addr_Set{null}

  • void handleChannelEvent(CoreActionType, StringBuffer, Object[])

  • Kind Annotation Text
    pre(soft) arguments.length >= 4
    pre(soft) arguments[3] != null
    pre(soft) init'ed(arguments[1])
    pre(soft) init'ed(arguments[2])
    pre(soft) init'ed(com.dmdirc.addons.logging. LoggingPlugin$2__static_init.new int[](LoggingPlugi n$2__static_init#1)[...])
    pre(soft) this.openFiles != null
    pre(soft) this.openedAtFormat != null
    prearguments != null
    prearguments[0] != null
    pretype != null
    presumptioncom.dmdirc.Channel:getChannelInfo(...)@315 != null
    presumptioncom.dmdirc.actions.CoreActionType:ordinal(...)@323 < com.dmdirc.actions.CoreActionType:values(...). length
    presumptioncom.dmdirc.actions.CoreActionType:ordinal(...)@323 >= 0
    presumptioncom.dmdirc.actions.CoreActionType:values(...). length >= 1
    presumptioncom.dmdirc.config.IdentityManager:getGlobalConfig(. ..)@325 != null
    presumptioncom.dmdirc.parser.irc.ChannelClientInfo:getClient(. ..)@319 != null
    presumptioncom.dmdirc.parser.irc.ChannelClientInfo:getNickname (...)@396 != null
    presumptioncom.dmdirc.parser.irc.ChannelInfo:getTopicTime(... )@360 in {-9_223_372_036_854_775..18_446_744_073_70 9_551}
    presumptioninit'ed(com.dmdirc.actions.CoreActionType.CHANNEL_ MESSAGE)
    presumptioninit'ed(com.dmdirc.actions.CoreActionType.CHANNEL_ SELF_MESSAGE)
    presumptioninit'ed(com.dmdirc.logger.ErrorLevel.LOW)
    presumptionjava.util.Map:get(...).writer@335 != null
    presumptionjava.util.Map:get(...)@335 != null
    unanalyzedcall on com.dmdirc.addons.logging.LoggingPlugin:get Domain
    unanalyzedcall on com.dmdirc.config.ConfigManager:getOption
    unanalyzedcall on com.dmdirc.config.ConfigManager:getOptionBo ol
    unanalyzedcall on com.dmdirc.config.ConfigManager:getOptionIn t
    unanalyzedcall on com.dmdirc.config.IdentityManager:getGlobal Config
    unanalyzedcall on com.dmdirc.logger.Logger:userError
    unanalyzedcall on com.dmdirc.parser.irc.ChannelClientInfo:get ImportantModePrefix
    unanalyzedcall on com.dmdirc.parser.irc.ChannelClientInfo:get Nickname
    unanalyzedcall on com.dmdirc.parser.irc.ChannelClientInfo:toS tring
    unanalyzedcall on com.dmdirc.parser.irc.ChannelInfo:getName
    unanalyzedcall on com.dmdirc.parser.irc.ChannelInfo:getParser
    unanalyzedcall on com.dmdirc.parser.irc.ChannelInfo:instanceo f
    unanalyzedcall on com.dmdirc.parser.irc.ClientInfo:getNicknam e
    unanalyzedcall on com.dmdirc.parser.irc.ClientInfo:getParser
    unanalyzedcall on com.dmdirc.parser.irc.ClientInfo:instanceof
    unanalyzedcall on com.dmdirc.parser.irc.IRCParser:getNetworkN ame
    unanalyzedcall on com.dmdirc.ui.interfaces.Window:addLine
    unanalyzedcall on com.dmdirc.ui.messages.Styliser:stipControl Codes
    unanalyzedcall on java.awt.Color:decode
    unanalyzedcall on java.io.BufferedWriter
    unanalyzedcall on java.io.BufferedWriter:flush
    unanalyzedcall on java.io.BufferedWriter:newLine
    unanalyzedcall on java.io.BufferedWriter:write
    unanalyzedcall on java.io.File
    unanalyzedcall on java.io.File:exists
    unanalyzedcall on java.io.File:isDirectory
    unanalyzedcall on java.io.File:mkdirs
    unanalyzedcall on java.io.FileNotFoundException:getMessage
    unanalyzedcall on java.io.FileWriter
    unanalyzedcall on java.io.IOException:getMessage
    unanalyzedcall on java.io.RandomAccessFile
    unanalyzedcall on java.io.RandomAccessFile:close
    unanalyzedcall on java.io.RandomAccessFile:getFilePointer
    unanalyzedcall on java.io.RandomAccessFile:length
    unanalyzedcall on java.io.RandomAccessFile:read
    unanalyzedcall on java.io.RandomAccessFile:seek
    unanalyzedcall on java.lang.Byte:byteValue
    unanalyzedcall on java.lang.Byte:valueOf
    unanalyzedcall on java.lang.Character:valueOf
    unanalyzedcall on java.lang.Integer:parseInt
    unanalyzedcall on java.lang.Integer:valueOf
    unanalyzedcall on java.lang.Object:toString
    unanalyzedcall on java.lang.SecurityException:getMessage
    unanalyzedcall on java.lang.String
    unanalyzedcall on java.lang.String:format
    unanalyzedcall on java.lang.String:getBytes
    unanalyzedcall on java.lang.String:isEmpty
    unanalyzedcall on java.lang.String:length
    unanalyzedcall on java.lang.String:replaceAll
    unanalyzedcall on java.lang.String:toLowerCase
    unanalyzedcall on java.lang.String:trim
    unanalyzedcall on java.lang.System:currentTimeMillis
    unanalyzedcall on java.lang.System:getProperty
    unanalyzedcall on java.lang.Throwable:__curr_excep_obj
    unanalyzedcall on java.math.BigInteger
    unanalyzedcall on java.math.BigInteger:toString
    unanalyzedcall on java.nio.charset.Charset:forName
    unanalyzedcall on java.security.MessageDigest:digest
    unanalyzedcall on java.security.MessageDigest:getInstance
    unanalyzedcall on java.security.MessageDigest:update
    unanalyzedcall on java.text.DateFormat:format
    unanalyzedcall on java.text.SimpleDateFormat
    unanalyzedcall on java.text.SimpleDateFormat:format
    unanalyzedcall on java.util.ArrayList
    unanalyzedcall on java.util.ArrayList:add
    unanalyzedcall on java.util.ArrayList:get
    unanalyzedcall on java.util.ArrayList:size
    unanalyzedcall on java.util.Date
    unanalyzedcall on java.util.Map:containsKey
    unanalyzedcall on java.util.Map:get
    unanalyzedcall on java.util.Map:put
    unanalyzedcall on java.util.Stack
    unanalyzedcall on java.util.Stack:empty
    unanalyzedcall on java.util.Stack:pop
    unanalyzedcall on java.util.Stack:push
    test_vectorcom.dmdirc.addons.logging.LoggingPlugin$2__static_ init.new int[](LoggingPlugin$2__static_init#1)[...]: {7}, {8}, {9..12}, {13}, {14}, {15}, {16}, {17}, {18}, {19}, {20}, {-231..6, 21..232-1}
    test_vectorcom.dmdirc.config.ConfigManager:getOptionBool(... )@325: {0}, {1}
    test_vectorjava.lang.String:isEmpty(...)@369: {0}, {1}
    test_vectorjava.lang.String:isEmpty(...)@376: {0}, {1}
    test_vectorjava.lang.String:isEmpty(...)@386: {0}, {1}
    test_vectorjava.lang.String:isEmpty(...)@396: {0}, {1}
    test_vectorjava.util.Map:containsKey(...)@334: {0}, {1}

  • void handleQueryEvent(CoreActionType, StringBuffer, Object[])

  • Kind Annotation Text
    pre(soft) arguments.length >= 2
    pre(soft) init'ed(arguments[1])
    pre(soft) init'ed(com.dmdirc.addons.logging. LoggingPlugin$2__static_init.new int[](LoggingPlugi n$2__static_init#1)[...])
    pre(soft) this.openFiles != null
    pre(soft) this.openedAtFormat != null
    pre(soft) type != null
    prearguments != null
    prearguments[0] != null
    presumptioncom.dmdirc.Query:getServer(...)@249 != null
    presumptioncom.dmdirc.actions.CoreActionType:ordinal(...)@268 < com.dmdirc.actions.CoreActionType:values(...). length
    presumptioncom.dmdirc.actions.CoreActionType:ordinal(...)@268 >= 0
    presumptioncom.dmdirc.actions.CoreActionType:values(...). length >= 1
    presumptioncom.dmdirc.config.IdentityManager:getGlobalConfig(. ..)@254 != null
    presumptioncom.dmdirc.config.IdentityManager:getGlobalConfig(. ..)@270 != null
    presumptioninit'ed(com.dmdirc.actions.CoreActionType.QUERY_ MESSAGE)
    presumptioninit'ed(com.dmdirc.actions.CoreActionType.QUERY_ SELF_ACTION)
    presumptioninit'ed(com.dmdirc.actions.CoreActionType.QUERY_ SELF_MESSAGE)
    presumptioninit'ed(com.dmdirc.logger.ErrorLevel.LOW)
    presumptioninit'ed(com.dmdirc.logger.ErrorLevel.MEDIUM)
    presumptionjava.util.Map:get(...).writer@281 != null
    presumptionjava.util.Map:get(...)@281 != null
    unanalyzedcall on com.dmdirc.addons.logging.LoggingPlugin:get Domain
    unanalyzedcall on com.dmdirc.config.ConfigManager:getOption
    unanalyzedcall on com.dmdirc.config.ConfigManager:getOptionBo ol
    unanalyzedcall on com.dmdirc.config.ConfigManager:getOptionIn t
    unanalyzedcall on com.dmdirc.config.IdentityManager:getGlobal Config
    unanalyzedcall on com.dmdirc.logger.Logger:userError
    unanalyzedcall on com.dmdirc.parser.irc.ChannelInfo:getName
    unanalyzedcall on com.dmdirc.parser.irc.ChannelInfo:getParser
    unanalyzedcall on com.dmdirc.parser.irc.ChannelInfo:instanceo f
    unanalyzedcall on com.dmdirc.parser.irc.ClientInfo:getNicknam e
    unanalyzedcall on com.dmdirc.parser.irc.ClientInfo:getParser
    unanalyzedcall on com.dmdirc.parser.irc.ClientInfo:instanceof
    unanalyzedcall on com.dmdirc.parser.irc.IRCParser:getNetworkN ame
    unanalyzedcall on com.dmdirc.ui.interfaces.Window:addLine
    unanalyzedcall on com.dmdirc.ui.messages.Styliser:stipControl Codes
    unanalyzedcall on java.awt.Color:decode
    unanalyzedcall on java.io.BufferedWriter
    unanalyzedcall on java.io.BufferedWriter:flush
    unanalyzedcall on java.io.BufferedWriter:newLine
    unanalyzedcall on java.io.BufferedWriter:write
    unanalyzedcall on java.io.File
    unanalyzedcall on java.io.File:exists
    unanalyzedcall on java.io.File:isDirectory
    unanalyzedcall on java.io.File:mkdirs
    unanalyzedcall on java.io.FileNotFoundException:getMessage
    unanalyzedcall on java.io.FileWriter
    unanalyzedcall on java.io.IOException:getMessage
    unanalyzedcall on java.io.RandomAccessFile
    unanalyzedcall on java.io.RandomAccessFile:close
    unanalyzedcall on java.io.RandomAccessFile:getFilePointer
    unanalyzedcall on java.io.RandomAccessFile:length
    unanalyzedcall on java.io.RandomAccessFile:read
    unanalyzedcall on java.io.RandomAccessFile:seek
    unanalyzedcall on java.lang.Byte:byteValue
    unanalyzedcall on java.lang.Byte:valueOf
    unanalyzedcall on java.lang.Character:valueOf
    unanalyzedcall on java.lang.Integer:parseInt
    unanalyzedcall on java.lang.Integer:valueOf
    unanalyzedcall on java.lang.Object:toString
    unanalyzedcall on java.lang.SecurityException:getMessage
    unanalyzedcall on java.lang.String
    unanalyzedcall on java.lang.String:format
    unanalyzedcall on java.lang.String:getBytes
    unanalyzedcall on java.lang.String:isEmpty
    unanalyzedcall on java.lang.String:length
    unanalyzedcall on java.lang.String:replaceAll
    unanalyzedcall on java.lang.String:toLowerCase
    unanalyzedcall on java.lang.String:trim
    unanalyzedcall on java.lang.System:currentTimeMillis
    unanalyzedcall on java.lang.System:getProperty
    unanalyzedcall on java.lang.Throwable:__curr_excep_obj
    unanalyzedcall on java.math.BigInteger
    unanalyzedcall on java.math.BigInteger:toString
    unanalyzedcall on java.nio.charset.Charset:forName
    unanalyzedcall on java.security.MessageDigest:digest
    unanalyzedcall on java.security.MessageDigest:getInstance
    unanalyzedcall on java.security.MessageDigest:update
    unanalyzedcall on java.text.DateFormat:format
    unanalyzedcall on java.text.SimpleDateFormat
    unanalyzedcall on java.text.SimpleDateFormat:format
    unanalyzedcall on java.util.ArrayList
    unanalyzedcall on java.util.ArrayList:add
    unanalyzedcall on java.util.ArrayList:get
    unanalyzedcall on java.util.ArrayList:size
    unanalyzedcall on java.util.Date
    unanalyzedcall on java.util.Map:containsKey
    unanalyzedcall on java.util.Map:get
    unanalyzedcall on java.util.Map:put
    unanalyzedcall on java.util.Stack
    unanalyzedcall on java.util.Stack:empty
    unanalyzedcall on java.util.Stack:pop
    unanalyzedcall on java.util.Stack:push
    test_vectorcom.dmdirc.Query:getServer(...)@244: Inverse{null}, Addr_Set{null}
    test_vectorcom.dmdirc.Server:getParser(...)@249: Inverse{null}, Addr_Set{null}
    test_vectorcom.dmdirc.addons.logging.LoggingPlugin$2__static_ init.new int[](LoggingPlugin$2__static_init#1)[...]: {1}, {2}, {3..6}, {-231.. 0, 7..232-1}
    test_vectorcom.dmdirc.config.ConfigManager:getOptionBool(... )@254: {0}, {1}
    test_vectorcom.dmdirc.config.ConfigManager:getOptionBool(... )@270: {0}, {1}
    test_vectorcom.dmdirc.parser.irc.IRCParser:getClientInfo(... )@260: Inverse{null}, Addr_Set{null}
    test_vectorjava.util.Map:containsKey(...)@280: {0}, {1}

  • String md5(String)

  • Kind Annotation Text
    pre(soft) string != null
    presumptionjava.security.MessageDigest:getInstance(...)@709 != null
    postreturn_value != null

  • void onLoad()

  • Kind Annotation Text
    presumptioncom.dmdirc.config.IdentityManager:getGlobalConfig(. ..)@115 != null
    presumptioninit'ed(com.dmdirc.actions.CoreActionType.CHANNEL_ ACTION)
    presumptioninit'ed(com.dmdirc.actions.CoreActionType.CHANNEL_ CLOSED)
    presumptioninit'ed(com.dmdirc.actions.CoreActionType.CHANNEL_ GOTTOPIC)
    presumptioninit'ed(com.dmdirc.actions.CoreActionType.CHANNEL_ JOIN)
    presumptioninit'ed(com.dmdirc.actions.CoreActionType.CHANNEL_ KICK)
    presumptioninit'ed(com.dmdirc.actions.CoreActionType.CHANNEL_ MESSAGE)
    presumptioninit'ed(com.dmdirc.actions.CoreActionType.CHANNEL_ MODECHANGE)
    presumptioninit'ed(com.dmdirc.actions.CoreActionType.CHANNEL_ NICKCHANGE)
    presumptioninit'ed(com.dmdirc.actions.CoreActionType.CHANNEL_ OPENED)
    presumptioninit'ed(com.dmdirc.actions.CoreActionType.CHANNEL_ PART)
    presumptioninit'ed(com.dmdirc.actions.CoreActionType.CHANNEL_ QUIT)
    presumptioninit'ed(com.dmdirc.actions.CoreActionType.CHANNEL_ SELF_ACTION)
    presumptioninit'ed(com.dmdirc.actions.CoreActionType.CHANNEL_ SELF_MESSAGE)
    presumptioninit'ed(com.dmdirc.actions.CoreActionType.CHANNEL_ TOPICCHANGE)
    presumptioninit'ed(com.dmdirc.actions.CoreActionType.QUERY_ ACTION)
    presumptioninit'ed(com.dmdirc.actions.CoreActionType.QUERY_ CLOSED)
    presumptioninit'ed(com.dmdirc.actions.CoreActionType.QUERY_ MESSAGE)
    presumptioninit'ed(com.dmdirc.actions.CoreActionType.QUERY_ OPENED)
    presumptioninit'ed(com.dmdirc.actions.CoreActionType.QUERY_ SELF_ACTION)
    presumptioninit'ed(com.dmdirc.actions.CoreActionType.QUERY_ SELF_MESSAGE)
    presumptioninit'ed(com.dmdirc.logger.ErrorLevel.LOW)
    postnew LoggingCommand(onLoad#2) num objects == 1
    postnew Timer(onLoad#4) num objects == 1
    postthis.command == &amp;new LoggingCommand(onLoad#2)
    postthis.idleFileTimer == &amp;new Timer(onLoad#4)
    unanalyzedcall on com.dmdirc.commandparser.CommandManager:reg isterCommand
    unanalyzedcall on com.dmdirc.commandparser.commands. ServerCommand
    unanalyzedcall on java.util.TimerTask
    test_vectorjava.io.File:exists(...)@116: {0}, {1}
    test_vectorjava.io.File:isDirectory(...)@117: {1}, {0}
    test_vectorjava.io.File:mkdirs(...)@121: {1}, {0}

  • void onUnload()

  • Kind Annotation Text
    preinit'ed(this.command)
    prethis.idleFileTimer != null
    prethis.openFiles != null
    presumptionfile.writer@195 != null
    presumptioninit'ed(com.dmdirc.logger.ErrorLevel.LOW)
    presumptionjava.util.Map:get(...)@195 != null
    presumptionjava.util.Map:keySet(...)@194 != null
    test_vectorjava.util.Iterator:hasNext(...)@194: {0}, {1}

  • void processEvent(ActionType, StringBuffer, Object[])

  • Kind Annotation Text
    pre(soft) arguments != null
    pre(soft) arguments.length >= 4
    pre(soft) arguments[0] != null
    pre(soft) arguments[3] != null
    pre(soft) init'ed(arguments[1])
    pre(soft) init'ed(arguments[2])
    pre(soft) init'ed(com.dmdirc.addons.logging. LoggingPlugin$2__static_init.new int[](LoggingPlugi n$2__static_init#1)[...])
    pre(soft) this.openFiles != null
    pre(soft) this.openedAtFormat != null
    presumptioncom.dmdirc.actions.CoreActionType:ordinal(...)@417 < com.dmdirc.actions.CoreActionType:values(...). length
    presumptioncom.dmdirc.actions.CoreActionType:ordinal(...)@417 >= 0
    presumptioncom.dmdirc.actions.CoreActionType:values(...). length - com.dmdirc.actions.CoreActionType:ordinal( ...)@417 in range
    presumptioncom.dmdirc.actions.CoreActionType:values(...). length >= 1
    unanalyzedcall on com.dmdirc.Channel:getChannelInfo
    unanalyzedcall on com.dmdirc.Channel:getFrame
    unanalyzedcall on com.dmdirc.Query:getFrame
    unanalyzedcall on com.dmdirc.Query:getHost
    unanalyzedcall on com.dmdirc.Query:getServer
    unanalyzedcall on com.dmdirc.Server:getParser
    unanalyzedcall on com.dmdirc.actions.CoreActionType:ordinal
    unanalyzedcall on com.dmdirc.actions.CoreActionType:toString
    unanalyzedcall on com.dmdirc.addons.logging.LoggingPlugin:get Domain
    unanalyzedcall on com.dmdirc.config.ConfigManager:getOption
    unanalyzedcall on com.dmdirc.config.ConfigManager:getOptionBo ol
    unanalyzedcall on com.dmdirc.config.ConfigManager:getOptionIn t
    unanalyzedcall on com.dmdirc.config.IdentityManager:getGlobal Config
    unanalyzedcall on com.dmdirc.logger.Logger:appError
    unanalyzedcall on com.dmdirc.logger.Logger:userError
    unanalyzedcall on com.dmdirc.parser.irc.ChannelClientInfo:get Client
    unanalyzedcall on com.dmdirc.parser.irc.ChannelClientInfo:get ImportantModePrefix
    unanalyzedcall on com.dmdirc.parser.irc.ChannelClientInfo:get Nickname
    unanalyzedcall on com.dmdirc.parser.irc.ChannelClientInfo:ins tanceof
    unanalyzedcall on com.dmdirc.parser.irc.ChannelClientInfo:toS tring
    unanalyzedcall on com.dmdirc.parser.irc.ChannelInfo:getName
    unanalyzedcall on com.dmdirc.parser.irc.ChannelInfo:getParser
    unanalyzedcall on com.dmdirc.parser.irc.ChannelInfo:getTopic
    unanalyzedcall on com.dmdirc.parser.irc.ChannelInfo:getTopicT ime
    unanalyzedcall on com.dmdirc.parser.irc.ChannelInfo:getTopicU ser
    unanalyzedcall on com.dmdirc.parser.irc.ChannelInfo:instanceo f
    unanalyzedcall on com.dmdirc.parser.irc.ClientInfo
    unanalyzedcall on com.dmdirc.parser.irc.ClientInfo:getNicknam e
    unanalyzedcall on com.dmdirc.parser.irc.ClientInfo:getParser
    unanalyzedcall on com.dmdirc.parser.irc.ClientInfo:instanceof
    unanalyzedcall on com.dmdirc.parser.irc.ClientInfo:setFake
    unanalyzedcall on com.dmdirc.parser.irc.ClientInfo:toString
    unanalyzedcall on com.dmdirc.parser.irc.IRCParser:getClientIn fo
    unanalyzedcall on com.dmdirc.parser.irc.IRCParser:getMyself
    unanalyzedcall on com.dmdirc.parser.irc.IRCParser:getNetworkN ame
    unanalyzedcall on com.dmdirc.ui.interfaces.Window:addLine
    unanalyzedcall on com.dmdirc.ui.messages.Styliser:stipControl Codes
    unanalyzedcall on getDisplayName
    unanalyzedcall on getLogFile
    unanalyzedcall on java.awt.Color:decode
    unanalyzedcall on java.io.BufferedWriter
    unanalyzedcall on java.io.BufferedWriter:close
    unanalyzedcall on java.io.BufferedWriter:flush
    unanalyzedcall on java.io.BufferedWriter:newLine
    unanalyzedcall on java.io.BufferedWriter:write
    unanalyzedcall on java.io.File
    unanalyzedcall on java.io.File:exists
    unanalyzedcall on java.io.File:isDirectory
    unanalyzedcall on java.io.File:mkdirs
    unanalyzedcall on java.io.FileNotFoundException:getMessage
    unanalyzedcall on java.io.FileWriter
    unanalyzedcall on java.io.IOException:getMessage
    unanalyzedcall on java.io.RandomAccessFile
    unanalyzedcall on java.io.RandomAccessFile:close
    unanalyzedcall on java.io.RandomAccessFile:getFilePointer
    unanalyzedcall on java.io.RandomAccessFile:length
    unanalyzedcall on java.io.RandomAccessFile:read
    unanalyzedcall on java.io.RandomAccessFile:seek
    unanalyzedcall on java.lang.Byte:byteValue
    unanalyzedcall on java.lang.Byte:valueOf
    unanalyzedcall on java.lang.Character:valueOf
    unanalyzedcall on java.lang.Exception
    unanalyzedcall on java.lang.Integer:parseInt
    unanalyzedcall on java.lang.Integer:valueOf
    unanalyzedcall on java.lang.Long:valueOf
    unanalyzedcall on java.lang.Object:toString
    unanalyzedcall on java.lang.SecurityException:getMessage
    unanalyzedcall on java.lang.String
    unanalyzedcall on java.lang.String:format
    unanalyzedcall on java.lang.String:getBytes
    unanalyzedcall on java.lang.String:instanceof
    unanalyzedcall on java.lang.String:isEmpty
    unanalyzedcall on java.lang.String:length
    unanalyzedcall on java.lang.String:replaceAll
    unanalyzedcall on java.lang.String:toLowerCase
    unanalyzedcall on java.lang.String:trim
    unanalyzedcall on java.lang.System:currentTimeMillis
    unanalyzedcall on java.lang.System:getProperty
    unanalyzedcall on java.lang.Throwable:__curr_excep_obj
    unanalyzedcall on java.math.BigInteger
    unanalyzedcall on java.math.BigInteger:toString
    unanalyzedcall on java.nio.charset.Charset:forName
    unanalyzedcall on java.security.MessageDigest:digest
    unanalyzedcall on java.security.MessageDigest:getInstance
    unanalyzedcall on java.security.MessageDigest:update
    unanalyzedcall on java.text.DateFormat:format
    unanalyzedcall on java.text.SimpleDateFormat
    unanalyzedcall on java.text.SimpleDateFormat:format
    unanalyzedcall on java.util.ArrayList
    unanalyzedcall on java.util.ArrayList:add
    unanalyzedcall on java.util.ArrayList:get
    unanalyzedcall on java.util.ArrayList:size
    unanalyzedcall on java.util.Date
    unanalyzedcall on java.util.Map:containsKey
    unanalyzedcall on java.util.Map:get
    unanalyzedcall on java.util.Map:put
    unanalyzedcall on java.util.Map:remove
    unanalyzedcall on java.util.Stack
    unanalyzedcall on java.util.Stack:empty
    unanalyzedcall on java.util.Stack:pop
    unanalyzedcall on java.util.Stack:push
    unanalyzedcall on showBackBuffer
    test_vectorcom.dmdirc.addons.logging.LoggingPlugin$2__static_ init.new int[](LoggingPlugin$2__static_init#1)[...]: {1..6}, {7..20}, {-231.. 0, 21..232-1}

  • void run()

  • Kind Annotation Text
    pre(soft) this.openFiles != null
    unanalyzedcall on com.dmdirc.logger.Logger:userError
    unanalyzedcall on java.io.BufferedWriter:close
    unanalyzedcall on java.lang.System:currentTimeMillis
    unanalyzedcall on java.lang.Throwable:__curr_excep_obj
    unanalyzedcall on java.util.Hashtable
    unanalyzedcall on java.util.Hashtable:keySet
    unanalyzedcall on java.util.Map:get
    unanalyzedcall on java.util.Map:remove
    unanalyzedcall on java.util.Set:iterator

  • String sanitise(String)

  • Kind Annotation Text
    prename != null
    postreturn_value != null

  • void showBackBuffer(Window, String)

  • Kind Annotation Text
    presumptioncom.dmdirc.config.ConfigManager:getOption(...)@456 != null
    presumptioncom.dmdirc.config.IdentityManager:getGlobalConfig(. ..)@455 != null
    presumptioncom.dmdirc.config.IdentityManager:getGlobalConfig(. ..)@456 != null
    presumptioncom.dmdirc.config.IdentityManager:getGlobalConfig(. ..)@457 != null
    presumptioninit'ed(com.dmdirc.logger.ErrorLevel.LOW)
    unanalyzedcall on java.awt.Color:decode
    unanalyzedcall on java.io.RandomAccessFile
    unanalyzedcall on java.io.RandomAccessFile:close
    unanalyzedcall on java.io.RandomAccessFile:getFilePointer
    unanalyzedcall on java.io.RandomAccessFile:length
    unanalyzedcall on java.io.RandomAccessFile:read
    unanalyzedcall on java.io.RandomAccessFile:seek
    unanalyzedcall on java.lang.Byte:byteValue
    unanalyzedcall on java.lang.Byte:valueOf
    unanalyzedcall on java.lang.Character:valueOf
    unanalyzedcall on java.lang.Integer:parseInt
    unanalyzedcall on java.lang.Integer:valueOf
    unanalyzedcall on java.lang.String
    unanalyzedcall on java.lang.String:format
    unanalyzedcall on java.lang.String:length
    unanalyzedcall on java.lang.Throwable:__curr_excep_obj
    unanalyzedcall on java.nio.charset.Charset:forName
    unanalyzedcall on java.util.ArrayList
    unanalyzedcall on java.util.ArrayList:add
    unanalyzedcall on java.util.ArrayList:get
    unanalyzedcall on java.util.ArrayList:size
    unanalyzedcall on java.util.Stack
    unanalyzedcall on java.util.Stack:push
    test_vectorframe: Inverse{null}, Addr_Set{null}
    test_vectorjava.io.File:exists(...)@464: {0}, {1}
    test_vectorjava.util.Stack:empty(...)@472: {1}, {0}

  • void showConfig(PreferencesManager)

  • Kind Annotation Text
    premanager != null
    presumptioncom.dmdirc.config.prefs.PreferencesManager:getCateg ory(...)@232 != null
    presumptioninit'ed(com.dmdirc.config.prefs.PreferencesType. BOOLEAN)
    presumptioninit'ed(com.dmdirc.config.prefs.PreferencesType. COLOUR)
    presumptioninit'ed(com.dmdirc.config.prefs.PreferencesType. INTEGER)
    presumptioninit'ed(com.dmdirc.config.prefs.PreferencesType. TEXT)

  • bool showHistory(InputWindow)

  • Kind Annotation Text
    pretarget != null
    presumptioncom.dmdirc.Query:getServer(...)@783 != null
    presumptioncom.dmdirc.Server:getParser(...)@783 != null
    presumptioncom.dmdirc.WritableFrameContainer:getServer(... )@789 != null
    presumptioncom.dmdirc.config.IdentityManager:getGlobalConfig(. ..)@814 != null
    presumptioncom.dmdirc.ui.interfaces.InputWindow:getContainer(. ..)@781 != null
    presumptioncom.dmdirc.ui.interfaces.InputWindow:getContainer(. ..)@783 != null
    presumptioncom.dmdirc.ui.interfaces.InputWindow:getContainer(. ..)@784 != null
    presumptioncom.dmdirc.ui.interfaces.InputWindow:getContainer(. ..)@786 != null
    presumptioncom.dmdirc.ui.interfaces.InputWindow:getContainer(. ..)@789 != null
    postinit'ed(return_value)
    unanalyzedcall on com.dmdirc.FrameContainer
    unanalyzedcall on com.dmdirc.Main:getUI
    unanalyzedcall on com.dmdirc.addons.logging.LoggingPlugin:get Domain
    unanalyzedcall on com.dmdirc.config.ConfigManager:getOption
    unanalyzedcall on com.dmdirc.config.ConfigManager:getOptionBo ol
    unanalyzedcall on com.dmdirc.config.ConfigManager:getOptionIn t
    unanalyzedcall on com.dmdirc.config.IdentityManager:getGlobal Config
    unanalyzedcall on com.dmdirc.logger.Logger:userError
    unanalyzedcall on com.dmdirc.parser.irc.ChannelInfo:getName
    unanalyzedcall on com.dmdirc.parser.irc.ChannelInfo:getParser
    unanalyzedcall on com.dmdirc.parser.irc.ChannelInfo:instanceo f
    unanalyzedcall on com.dmdirc.parser.irc.ClientInfo:getNicknam e
    unanalyzedcall on com.dmdirc.parser.irc.ClientInfo:getParser
    unanalyzedcall on com.dmdirc.parser.irc.ClientInfo:instanceof
    unanalyzedcall on com.dmdirc.parser.irc.IRCParser:getNetworkN ame
    unanalyzedcall on com.dmdirc.ui.WindowManager:addWindow
    unanalyzedcall on com.dmdirc.ui.interfaces.UIController:getWi ndow
    unanalyzedcall on com.dmdirc.ui.interfaces.Window:addLine
    unanalyzedcall on com.dmdirc.ui.interfaces.Window:getConfigMa nager
    unanalyzedcall on com.dmdirc.ui.interfaces.Window:open
    unanalyzedcall on com.dmdirc.ui.interfaces.Window:setTitle
    unanalyzedcall on java.io.File
    unanalyzedcall on java.io.File:exists
    unanalyzedcall on java.io.File:isDirectory
    unanalyzedcall on java.io.File:mkdirs
    unanalyzedcall on java.io.RandomAccessFile
    unanalyzedcall on java.io.RandomAccessFile:getFilePointer
    unanalyzedcall on java.io.RandomAccessFile:length
    unanalyzedcall on java.io.RandomAccessFile:read
    unanalyzedcall on java.io.RandomAccessFile:seek
    unanalyzedcall on java.lang.Byte:byteValue
    unanalyzedcall on java.lang.Byte:valueOf
    unanalyzedcall on java.lang.Math:min
    unanalyzedcall on java.lang.Object:toString
    unanalyzedcall on java.lang.String
    unanalyzedcall on java.lang.String:getBytes
    unanalyzedcall on java.lang.String:length
    unanalyzedcall on java.lang.String:replaceAll
    unanalyzedcall on java.lang.String:toLowerCase
    unanalyzedcall on java.lang.System:getProperty
    unanalyzedcall on java.lang.Throwable:__curr_excep_obj
    unanalyzedcall on java.math.BigInteger
    unanalyzedcall on java.math.BigInteger:toString
    unanalyzedcall on java.nio.charset.Charset:forName
    unanalyzedcall on java.security.MessageDigest:digest
    unanalyzedcall on java.security.MessageDigest:getInstance
    unanalyzedcall on java.security.MessageDigest:update
    unanalyzedcall on java.text.SimpleDateFormat
    unanalyzedcall on java.text.SimpleDateFormat:format
    unanalyzedcall on java.util.ArrayList
    unanalyzedcall on java.util.ArrayList:add
    unanalyzedcall on java.util.ArrayList:get
    unanalyzedcall on java.util.ArrayList:size
    unanalyzedcall on java.util.Date
    test_vectorcom.dmdirc.parser.irc.IRCParser:getClientInfo(... )@784: Inverse{null}, Addr_Set{null}
    test_vectorjava.io.File:exists(...)@797: {1}, {0}

  • void timerTask()

  • Kind Annotation Text
    pre(soft) this.openFiles != null
    presumptionfile.writer@169 != null
    presumptioninit'ed(com.dmdirc.logger.ErrorLevel.LOW)
    presumptionjava.lang.System:currentTimeMillis(...)@165 >= -9_223_372_036_851_295_808
    presumptionjava.util.Map:get(...)@169 != null
    test_vectorjava.util.Iterator:hasNext(...)@168: {1}, {0}