DCCSend.java


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


Filter Options
Annotation Kind:
pre
presumption
post
unanalyzed
test_vector


  • void com.dmdirc.addons.dcc.DCCSend$TransferType(String, int)

  • Kind Annotation Text

  • com.dmdirc.addons.dcc.DCCSend$TransferType__static_init

  • Kind Annotation Text
    post$VALUES == &new DCCSend$TransferType[](DCCSend$ TransferType__static_init#3)
    post$VALUES.length == 2
    post$VALUES[0] == &new DCCSend$TransferType(DCCSend $TransferType__static_init#1)
    post$VALUES[1] == &new DCCSend$TransferType(DCCSend $TransferType__static_init#2)
    postRECEIVE == &new DCCSend$TransferType(DCCSend$Tr ansferType__static_init#2)
    postSEND == &new DCCSend$TransferType(DCCSend$Trans ferType__static_init#1)
    postnew DCCSend$TransferType(DCCSend$TransferType__ static_init#1) num objects == 1
    postnew DCCSend$TransferType(DCCSend$TransferType__ static_init#2) num objects == 1
    postnew DCCSend$TransferType[](DCCSend$TransferType__ static_init#3) num objects == 1
    unanalyzedcall on java.lang.Enum

  • void com.dmdirc.addons.dcc.DCCSend()

  • Kind Annotation Text
    postnew Semaphore(DCC#1) num objects == 1
    postnew Semaphore(DCC#2) num objects == 1
    postthis.address == 0
    postthis.blockSize == 1_024
    postthis.filename == &""
    postthis.listen == 0
    postthis.port == 0
    postthis.running == 0
    postthis.serverListeningSem == &new Semaphore(DCC#2)
    postthis.serverSocketSem == &new Semaphore(DCC#1)
    postthis.size == -1
    postthis.token == &""
    postthis.transferType == &com.dmdirc.addons.dcc. DCCSend$TransferType__static_init.new DCCSend$TransferType(DCCSend$TransferType__static_ init#2)
    postthis.turbo == 0
    unanalyzedcall on java.lang.Throwable:__curr_excep_obj
    unanalyzedcall on java.util.List:add
    unanalyzedcall on java.util.concurrent.Semaphore

  • void com.dmdirc.addons.dcc.DCCSend(int)

  • Kind Annotation Text
    postinit'ed(this.blockSize)
    postnew Semaphore(DCC#1) num objects == 1
    postnew Semaphore(DCC#2) num objects == 1
    postthis.address == 0
    postthis.blockSize == blockSize
    postthis.filename == &""
    postthis.listen == 0
    postthis.port == 0
    postthis.running == 0
    postthis.serverListeningSem == &new Semaphore(DCC#2)
    postthis.serverSocketSem == &new Semaphore(DCC#1)
    postthis.size == -1
    postthis.token == &""
    postthis.transferType == &com.dmdirc.addons.dcc. DCCSend$TransferType__static_init.new DCCSend$TransferType(DCCSend$TransferType__static_ init#2)
    postthis.turbo == 0
    unanalyzedcall on java.util.concurrent.Semaphore

  • com.dmdirc.addons.dcc.DCCSend__static_init

  • Kind Annotation Text
    postSENDS == &new ArrayList(DCCSend__static_ init#1)
    postnew ArrayList(DCCSend__static_init#1) num objects == 1

  • DCCSend findByToken(String)

  • Kind Annotation Text
    presumptionjava.util.Iterator:next(...)@241 != null
    presumptionsend.token@241 != null
    postinit'ed(return_value)
    unanalyzedcall on java.lang.Throwable:__curr_excep_obj
    unanalyzedcall on java.util.ArrayList
    test_vectorjava.lang.String:equals(...)@242: {0}, {1}
    test_vectorjava.lang.String:isEmpty(...)@240: {0}, {1}
    test_vectorjava.util.Iterator:hasNext(...)@241: {0}, {1}
    test_vectortoken: Addr_Set{null}, Inverse{null}

  • String getFileName()

  • Kind Annotation Text
    preinit'ed(this.filename)
    postinit'ed(return_value)
    postreturn_value == this.filename

  • long getFileSize()

  • Kind Annotation Text
    preinit'ed(this.size)
    postinit'ed(return_value)
    postreturn_value == this.size

  • int getFileStart()

  • Kind Annotation Text
    preinit'ed(this.startpos)
    postinit'ed(return_value)
    postreturn_value == this.startpos

  • List getSends()

  • Kind Annotation Text
    postnew ArrayList(getSends#1) num objects == 1
    postreturn_value == &new ArrayList(getSends#1)

  • String getShortFileName()

  • Kind Annotation Text
    preinit'ed(this.filename)
    postinit'ed(return_value)

  • String getToken()

  • Kind Annotation Text
    preinit'ed(this.token)
    postinit'ed(return_value)
    postreturn_value == this.token

  • DCCSend$TransferType getType()

  • Kind Annotation Text
    preinit'ed(this.transferType)
    postinit'ed(return_value)
    postreturn_value == this.transferType

  • bool handleReceive()

  • Kind Annotation Text
    pre(soft) init'ed(this.handler)
    pre(soft) init'ed(this.size)
    pre(soft) this.blockSize >= 0
    pre(soft) this.fileOut != null
    pre(soft) this.in != null
    pre(soft) this.out != null
    pre(soft) this.readSize in {-6_442_450_943.. 6_442_450_943}
    presumptionthis.readSize + java.io.DataInputStream:read(... )@367 in {-231..232-1}
    postinit'ed(return_value)
    postthis.handler.transferCount == old this.handler. transferCount
    postthis.readSize in {-6_442_450_943..6_442_450_943}
    test_vectorjava.io.DataInputStream:read(...)@367: {0}, {1..232-1}, {-231..-1}
    test_vectorthis.handler: Addr_Set{null}, Inverse{null}

  • bool handleSend()

  • Kind Annotation Text
    pre(soft) init'ed(this.handler)
    pre(soft) init'ed(this.readSize)
    pre(soft) init'ed(this.size)
    pre(soft) init'ed(this.turbo)
    pre(soft) this.blockSize >= 0
    pre(soft) this.fileIn != null
    pre(soft) this.in != null
    pre(soft) this.out != null
    presumptionthis.readSize + java.io.DataInputStream:read(... )@401 in {-263.. 264-1}
    postinit'ed(return_value)
    postinit'ed(this.readSize)
    postthis.handler.transferCount == old this.handler. transferCount
    test_vectorjava.io.DataInputStream:read(...)@401: {0}, {1..232-1}, {-231..-1}
    test_vectorjava.io.DataInputStream:readInt(...)@429: {-231..0}, {1..232-1}
    test_vectorthis.handler: Addr_Set{null}, Inverse{null}
    test_vectorthis.turbo: {1}, {0}

  • bool handleSocket()

  • Kind Annotation Text
    pre(soft) init'ed(this.handler)
    pre(soft) init'ed(this.in)
    pre(soft) init'ed(this.size)
    pre(soft) init'ed(this.transferType)
    pre(soft) init'ed(this.turbo)
    pre(soft) this.blockSize >= 0
    pre(soft) this.fileIn != null
    pre(soft) this.fileOut != null
    pre(soft) this.readSize in {-6_442_450_943.. 6_442_450_943}
    preinit'ed(this.out)
    postinit'ed(return_value)
    postinit'ed(this.readSize)
    postpossibly_updated(this.handler.transferCount)
    unanalyzedcall on com.dmdirc.interfaces.ActionListener:proces sEvent
    unanalyzedcall on com.dmdirc.logger.Logger:assertTrue
    unanalyzedcall on com.dmdirc.util.MapList:containsKey
    unanalyzedcall on com.dmdirc.util.MapList:get
    unanalyzedcall on dataTransfered
    unanalyzedcall on getArity
    unanalyzedcall on getType
    unanalyzedcall on java.io.DataInputStream:close
    unanalyzedcall on java.io.DataInputStream:read
    unanalyzedcall on java.io.DataInputStream:readInt
    unanalyzedcall on java.io.DataOutputStream:close
    unanalyzedcall on java.io.DataOutputStream:flush
    unanalyzedcall on java.io.DataOutputStream:write
    unanalyzedcall on java.io.DataOutputStream:writeInt
    unanalyzedcall on java.lang.Double:valueOf
    unanalyzedcall on java.lang.Integer:valueOf
    unanalyzedcall on java.lang.Long:valueOf
    unanalyzedcall on java.lang.Math:floor
    unanalyzedcall on java.lang.String:format
    unanalyzedcall on java.lang.System:currentTimeMillis
    unanalyzedcall on java.lang.Throwable:__curr_excep_obj
    unanalyzedcall on java.util.ArrayList
    unanalyzedcall on java.util.ArrayList:iterator
    unanalyzedcall on javax.swing.JLabel:setText
    unanalyzedcall on javax.swing.JProgressBar:setValue
    unanalyzedcall on trigger
    unanalyzedcall on updateSpeedAndTime
    test_vectorthis.in: Inverse{null}, Addr_Set{null}
    test_vectorthis.out: Addr_Set{null}, Inverse{null}

  • bool isTurbo()

  • Kind Annotation Text
    preinit'ed(this.turbo)
    postinit'ed(return_value)
    postreturn_value == this.turbo

  • String makeToken()

  • Kind Annotation Text
    preinit'ed(this.filename)
    postjava.lang.Integer:toString(...)._tainted == 0
    postreturn_value == &java.lang.Integer:toString(... )
    postthis.token == &java.lang.Integer:toString(...)
    unanalyzedcall on java.lang.String:equals
    unanalyzedcall on java.lang.String:isEmpty
    unanalyzedcall on java.lang.Throwable:__curr_excep_obj
    unanalyzedcall on java.util.ArrayList
    unanalyzedcall on java.util.List:iterator

  • void removeFromSends()

  • Kind Annotation Text

  • void reset()

  • Kind Annotation Text
    pre(soft) init'ed(this.fileIn)
    pre(soft) init'ed(this.serverSocket)
    pre(soft) init'ed(this.socket)
    pre(soft) this.serverListeningSem != null
    preinit'ed(this.filename)
    preinit'ed(this.startpos)
    preinit'ed(this.transferType)
    prethis.serverSocketSem != null
    postinit'ed(this.fileIn)
    postinit'ed(this.filename)
    postinit'ed(this.startpos)
    postnew DataInputStream(setFileName#2) num objects <= 1
    postnew File(setFileName#1) num objects <= 1
    postpossibly_updated(this.in)
    postpossibly_updated(this.out)
    postthis.fileIn == One-of{old this.fileIn, &amp;new DataInputStream(setFileName#2), null}
    postthis.filename == old this.filename
    postthis.readSize == One-of{old this.startpos, old this.readSize}
    postthis.serverSocket == null
    postthis.socket == null
    postthis.transferFile == One-of{old this.transferFile, &amp;new File(setFileName#1)}
    unanalyzedcall on addLine
    unanalyzedcall on com.dmdirc.interfaces.ActionListener:proces sEvent
    unanalyzedcall on com.dmdirc.logger.Logger:assertTrue
    unanalyzedcall on com.dmdirc.util.MapList:containsKey
    unanalyzedcall on com.dmdirc.util.MapList:get
    unanalyzedcall on getArity
    unanalyzedcall on getType
    unanalyzedcall on isWindowClosing
    unanalyzedcall on java.io.DataInputStream
    unanalyzedcall on java.io.DataInputStream:close
    unanalyzedcall on java.io.DataInputStream:skipBytes
    unanalyzedcall on java.io.DataOutputStream:close
    unanalyzedcall on java.io.File
    unanalyzedcall on java.io.File:getAbsolutePath
    unanalyzedcall on java.io.FileInputStream
    unanalyzedcall on java.lang.Double:valueOf
    unanalyzedcall on java.lang.Long:valueOf
    unanalyzedcall on java.lang.Math:floor
    unanalyzedcall on java.lang.String:format
    unanalyzedcall on java.lang.System:currentTimeMillis
    unanalyzedcall on java.lang.Thread:sleep
    unanalyzedcall on java.lang.Throwable:__curr_excep_obj
    unanalyzedcall on java.net.ServerSocket:close
    unanalyzedcall on java.net.ServerSocket:isClosed
    unanalyzedcall on java.net.Socket:close
    unanalyzedcall on java.net.Socket:isClosed
    unanalyzedcall on java.util.ArrayList
    unanalyzedcall on java.util.ArrayList:iterator
    unanalyzedcall on java.util.List:remove
    unanalyzedcall on java.util.concurrent.Semaphore:release
    unanalyzedcall on java.util.concurrent.Semaphore:tryAcquire
    unanalyzedcall on javax.swing.JButton:setText
    unanalyzedcall on javax.swing.JLabel:setText
    unanalyzedcall on javax.swing.JProgressBar:setValue
    unanalyzedcall on setIcon
    unanalyzedcall on socketClosed
    unanalyzedcall on trigger

  • void setFileName(String)

  • Kind Annotation Text
    preinit'ed(this.transferType)
    postinit'ed(this.filename)
    postnew DataInputStream(setFileName#2) num objects <= 1
    postnew File(setFileName#1) num objects <= 1
    postthis.fileIn == One-of{old this.fileIn, &amp;new DataInputStream(setFileName#2), null}
    postthis.filename == filename
    postthis.transferFile == One-of{old this.transferFile, &amp;new File(setFileName#1)}

  • void setFileSize(long)

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

  • int setFileStart(int)

  • Kind Annotation Text
    pre(soft) init'ed(this.fileIn)
    preinit'ed(this.transferType)
    postinit'ed(return_value)
    postinit'ed(this.startpos)
    postthis.readSize == One-of{startpos, old this.readSize}
    test_vectorthis.fileIn: Addr_Set{null}, Inverse{null}

  • void setHandler(DCCSendInterface)

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

  • void setToken(String)

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

  • void setTurbo(bool)

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

  • void setType(DCCSend$TransferType)

  • Kind Annotation Text
    postinit'ed(this.transferType)
    postthis.transferType == type

  • void socketClosed()

  • Kind Annotation Text
    preinit'ed(this.handler)
    preinit'ed(this.in)
    preinit'ed(this.out)
    postthis.in == null
    postthis.out == null
    test_vectorthis.handler: Addr_Set{null}, Inverse{null}
    test_vectorthis.in: Addr_Set{null}, Inverse{null}
    test_vectorthis.out: Addr_Set{null}, Inverse{null}

  • void socketOpened()

  • Kind Annotation Text
    pre(soft) init'ed(this.filename)
    pre(soft) init'ed(this.in)
    pre(soft) init'ed(this.out)
    pre(soft) init'ed(this.startpos)
    pre(soft) init'ed(this.transferType)
    pre(soft) this.socket != null
    preinit'ed(this.handler)
    postnew DataInputStream(socketOpened#5) num objects <= 1
    postnew DataOutputStream(socketOpened#2) num objects <= 1
    postnew DataOutputStream(socketOpened#4) num objects <= 1
    postnew File(socketOpened#1) num objects <= 1
    postthis.fileOut == One-of{old this.fileOut, &amp;new DataOutputStream(socketOpened#2)}
    postthis.handler.timeStarted == old this.handler. timeStarted
    postthis.in in Addr_Set{null,&amp;new DataInputStream(s ocketOpened#5)}
    postthis.out in Addr_Set{null,&amp;new DataOutputStream (socketOpened#4)}
    postthis.transferFile == One-of{&amp;new File(socketOpened#1), old this.transferFile}
    unanalyzedcall on com.dmdirc.interfaces.ActionListener:proces sEvent
    unanalyzedcall on com.dmdirc.logger.Logger:assertTrue
    unanalyzedcall on com.dmdirc.util.MapList:containsKey
    unanalyzedcall on com.dmdirc.util.MapList:get
    unanalyzedcall on getArity
    unanalyzedcall on getType
    unanalyzedcall on isWindowClosing
    unanalyzedcall on java.io.DataInputStream:close
    unanalyzedcall on java.io.DataOutputStream:close
    unanalyzedcall on java.lang.Double:valueOf
    unanalyzedcall on java.lang.Long:valueOf
    unanalyzedcall on java.lang.Math:floor
    unanalyzedcall on java.lang.String:format
    unanalyzedcall on java.lang.System:currentTimeMillis
    unanalyzedcall on java.lang.Throwable:__curr_excep_obj
    unanalyzedcall on java.util.ArrayList
    unanalyzedcall on java.util.ArrayList:iterator
    unanalyzedcall on java.util.List:remove
    unanalyzedcall on javax.swing.JButton:setText
    unanalyzedcall on javax.swing.JLabel:setText
    unanalyzedcall on javax.swing.JProgressBar:setValue
    unanalyzedcall on setIcon
    unanalyzedcall on socketClosed
    unanalyzedcall on trigger
    test_vectorthis.handler: Addr_Set{null}, Inverse{null}

  • DCCSend$TransferType valueOf(String)

  • Kind Annotation Text
    postinit'ed(return_value)

  • DCCSend$TransferType[] values()

  • Kind Annotation Text
    pre(soft) init'ed($VALUES[...])
    postnew DCCSend$TransferType[](values#1) num objects == 1
    postreturn_value == &amp;new DCCSend$TransferType[](val ues#1)
    postreturn_value.length == 2
    postreturn_value[...] == One-of{$VALUES[...], undefined}