method com.dmdirc.addons.logging.ReverseFileReader__ static_init










method void com.dmdirc.addons.logging.ReverseFileReader(S tring)
postthis.file == &new RandomAccessFile(ReverseFileR eader#1)
postthis.seekLength == 50
postnew RandomAccessFile(ReverseFileReader#1) num objects == 1
unanalyzedcall on java.io.RandomAccessFile:seek
unanalyzedcall on java.io.RandomAccessFile:length










method void com.dmdirc.addons.logging.ReverseFileReader(F ile)
postthis.file == &new RandomAccessFile(ReverseFileR eader#1)
postthis.seekLength == 50
postnew RandomAccessFile(ReverseFileReader#1) num objects == 1
unanalyzedcall on java.io.RandomAccessFile:seek
unanalyzedcall on java.io.RandomAccessFile:length










method void reset()
prethis.file != null










method byte getSeekLength()
preinit'ed(this.seekLength)
postreturn_value == this.seekLength
postinit'ed(return_value)










method void setSeekLength(byte)
postthis.seekLength == newValue
postinit'ed(this.seekLength)










method void close()
prethis.file != null
postthis.file == null










method String getNextLine()
prethis.file != null
preinit'ed(this.seekLength)
presumptionjava.io.RandomAccessFile:getFilePointer(...)@134 != 0
presumptionjava.io.RandomAccessFile:getFilePointer(...)@145 >= -231
presumptionjava.io.RandomAccessFile:getFilePointer(...)@145 - this.seekLength in {-2_147_483_903.. 264-1}
presumptionjava.util.ArrayList:get(...)@205 != null
presumptionjava.util.ArrayList:size(...)@204 >= 1
presumptionjava.util.ArrayList:size(...)@205 - java.util.ArrayList:size(...)@204 in {-6_442_450_943..0}
postreturn_value == &new String(getNextLine#4)
postnew String(getNextLine#4) num objects == 1
test_vectorbytes[i]@162: {13}, {10}, {-128..9, 11,12, 14..255}
test_vectorjava.io.RandomAccessFile:getFilePointer(...)@145 - this.seekLength: {1..264-1}, {-2_147_483_903..-1}










method Stack getLines(int)
pre(soft) this.file != null
pre(soft) init'ed(this.seekLength)
postreturn_value == &new Stack(getLines#1)
postnew Stack(getLines#1) num objects == 1
unanalyzedcall on java.util.ArrayList
unanalyzedcall on java.io.RandomAccessFile:getFilePointer
unanalyzedcall on java.io.RandomAccessFile:seek
unanalyzedcall on java.io.RandomAccessFile:read
unanalyzedcall on java.lang.Byte:valueOf
unanalyzedcall on java.util.ArrayList:add
unanalyzedcall on java.util.ArrayList:size
unanalyzedcall on java.util.ArrayList:get
unanalyzedcall on java.lang.Byte:byteValue
unanalyzedcall on java.nio.charset.Charset:forName
unanalyzedcall on java.lang.String










method String getLinesAsString(int)
pre(soft) this.file != null
pre(soft) init'ed(this.seekLength)
postjava.lang.StringBuilder:toString(...)._tainted == 0
postreturn_value == &java.lang.StringBuilder:toStri ng(...)
unanalyzedcall on java.util.ArrayList
unanalyzedcall on java.io.RandomAccessFile:getFilePointer
unanalyzedcall on java.io.RandomAccessFile:seek
unanalyzedcall on java.io.RandomAccessFile:read
unanalyzedcall on java.lang.Byte:valueOf
unanalyzedcall on java.util.ArrayList:add
unanalyzedcall on java.util.ArrayList:size
unanalyzedcall on java.util.ArrayList:get
unanalyzedcall on java.lang.Byte:byteValue
unanalyzedcall on java.nio.charset.Charset:forName
unanalyzedcall on java.lang.String
test_vectorjava.lang.StringBuilder:charAt(...)@245: {0..9, 11..216-1}, {10}