Last Msg First Msg
























method com.dmdirc.util.ConfigFile__static_init










method void com.dmdirc.util.ConfigFile(InputStream)
postinit'ed(this.charset)
postthis.domains == &new ArrayList(ConfigFile#1)
postthis.flatdomains == &new MapList(ConfigFile#2)
postthis.is == is
postinit'ed(this.is)
postthis.keydomains == &new HashMap(ConfigFile#3)
postnew ArrayList(ConfigFile#1) num objects == 1
postnew HashMap(ConfigFile#3) num objects == 1
postnew HashMap(MapList#1) num objects == 1
postnew MapList(ConfigFile#2) num objects == 1
postthis.flatdomains.map == &new HashMap(MapList#1)
unanalyzedcall on java.util.HashMap










method void com.dmdirc.util.ConfigFile(File)
postinit'ed(this.charset)
postthis.domains == &new ArrayList(ConfigFile#1)
postthis.file == file
postinit'ed(this.file)
postthis.flatdomains == &new MapList(ConfigFile#2)
postthis.keydomains == &new HashMap(ConfigFile#3)
postnew ArrayList(ConfigFile#1) num objects == 1
postnew HashMap(ConfigFile#3) num objects == 1
postnew HashMap(MapList#1) num objects == 1
postnew MapList(ConfigFile#2) num objects == 1
postthis.flatdomains.map == &new HashMap(MapList#1)
unanalyzedcall on java.util.HashMap










method void com.dmdirc.util.ConfigFile(String)
postinit'ed(this.charset)
postthis.domains == &new ArrayList(ConfigFile#1)
postthis.file == &new File(ConfigFile#1)
postthis.flatdomains == &new MapList(ConfigFile#2)
postthis.keydomains == &new HashMap(ConfigFile#3)
postnew ArrayList(ConfigFile#1) num objects == 1
postnew File(ConfigFile#1) num objects == 1
postnew HashMap(ConfigFile#3) num objects == 1
postnew HashMap(MapList#1) num objects == 1
postnew MapList(ConfigFile#2) num objects == 1
postnew MapList(ConfigFile#2).map == &new HashMap(MapList#1)
unanalyzedcall on java.nio.charset.Charset:forName
unanalyzedcall on java.util.ArrayList
unanalyzedcall on java.util.HashMap










method void setAutomake(bool)
postthis.automake == automake
postinit'ed(this.automake)










method void read()
prethis.domains != null
preinit'ed(this.file)
prethis.flatdomains != null
prethis.flatdomains.map != null
prethis.keydomains != null
pre(soft) init'ed(this.is)
presumptionjava.util.Iterator:next(...)@112 != null
presumptionjava.util.Map:get(...)@142 != null
postthis.lines == &new ArrayList(readLines#4)
postnew ArrayList(readLines#4) num objects == 1
postnew ArrayList(readLines#4) num objects == 0
unanalyzedcall on java.lang.String:length
unanalyzedcall on java.lang.String:charAt
unanalyzedcall on java.util.Map:containsKey
unanalyzedcall on java.util.Map:get
unanalyzedcall on java.util.ArrayList
unanalyzedcall on java.util.Map:put
unanalyzedcall on java.util.Map:clear
unanalyzedcall on java.io.FileInputStream
unanalyzedcall on java.io.InputStreamReader
unanalyzedcall on java.io.BufferedReader
unanalyzedcall on java.io.BufferedReader:readLine
unanalyzedcall on java.util.List:add
unanalyzedcall on java.io.BufferedReader:close
unanalyzedcall on java.util.List:contains
unanalyzedcall on java.lang.Exception
test_vectorjava.lang.String:charAt(...)@115: {9}, {0..8, 10..216-1}
test_vectorjava.lang.String:charAt(...)@115: {0..31, 33..216-1}, {32}
test_vectorjava.lang.String:endsWith(...)@122: {0}, {1}
test_vectorjava.lang.String:endsWith(...)@122: {1}, {0}
test_vectorjava.lang.String:indexOf(...)@120: {0}, {-231..-1, 1..232-1}
test_vectorjava.lang.String:isEmpty(...)@115: {1}, {0}
test_vectorjava.lang.String:isEmpty(...)@120: {0}, {1}
test_vectorjava.util.Iterator:hasNext(...)@112: {0}, {1}
test_vectorjava.util.Map:containsKey(...)@132: {1}, {0}
test_vectorjava.util.Map:containsKey(...)@84: {1}, {0}









Prev Msg Next Msg
  conditional throw
Medium Prob.
check that domain != null
  conditional throw
Low Prob.
check that keydomain == 0
Prev Msg Next Msg











method void write()
prethis.domains != null
prethis.file != null
pre(soft) this.flatdomains != null
pre(soft) this.flatdomains.map != null
pre(soft) this.keydomains != null
presumptionjava.util.GregorianCalendar:getTime(...)@166 != null
presumptionjava.util.Iterator:next(...)@170 != null
presumptionjava.util.Iterator:next(...)@180 != null
presumptionjava.util.Iterator:next(...)@184 != null
presumptionjava.util.Map:entrySet(...)@184 != null
presumptionjava.util.Map:get(...)@107 != null
presumptionjava.util.Map:get(...)@184 != null
presumptionjava.util.Map_Entry:getKey(...)@185 != null
presumptionjava.util.Map_Entry:getValue(...)@185 != null
unanalyzedcall on java.util.List:add
unanalyzedcall on java.util.List:iterator
unanalyzedcall on java.lang.String:equals
unanalyzedcall on java.util.Map:containsKey
unanalyzedcall on java.lang.String:replaceAll
unanalyzedcall on java.util.Map:get
unanalyzedcall on java.io.FileWriter
unanalyzedcall on java.io.BufferedWriter
unanalyzedcall on java.io.BufferedWriter:write
unanalyzedcall on java.io.BufferedWriter:newLine
unanalyzedcall on java.io.BufferedWriter:close
test_vectorjava.lang.String:equals(...)@171: {0}, {1}
test_vectorjava.util.Iterator:hasNext(...)@170: {0}, {1}
test_vectorjava.util.Iterator:hasNext(...)@184: {0}, {1}
test_vectorjava.util.Map:containsKey(...)@84: {0}, {1}










method void writeMeta(List)
prelines != null
prethis.domains != null
pre(soft) this.keydomains != null
test_vectorjava.lang.String:equals(...)@207: {0}, {1}
test_vectorjava.util.Iterator:hasNext(...)@206: {0}, {1}
test_vectorjava.util.Map:containsKey(...)@209: {0}, {1}










method Map getKeyDomains()
postreturn_value == this.keydomains
postinit'ed(return_value)










method Map getKeyDomain(String)
preinit'ed(this.automake)
prethis.keydomains != null
pre(soft) this.domains != null
postinit'ed(return_value)
unanalyzedcall on java.util.Map:containsKey
test_vectorthis.automake: {0}, {1}
test_vectorjava.util.Map:containsKey(...)@267: {1}, {0}










method List getFlatDomain(String)
prethis.flatdomains != null
prethis.flatdomains.map != null
postinit'ed(return_value)
unanalyzedcall on java.util.Map:get










method bool hasDomain(String)
prethis.keydomains != null
pre(soft) this.flatdomains != null
pre(soft) this.flatdomains.map != null
postinit'ed(return_value)
unanalyzedcall on java.util.Map:containsKey










method bool isKeyDomain(String)
prethis.keydomains != null
postinit'ed(return_value)










method bool isFlatDomain(String)
prethis.flatdomains != null
prethis.flatdomains.map != null
postinit'ed(return_value)
unanalyzedcall on java.util.Map:containsKey










method void addDomain(String, List)
prethis.domains != null
prethis.flatdomains != null
prethis.flatdomains.map != null
unanalyzedcall on java.util.Map:containsKey
unanalyzedcall on java.util.Map:get
unanalyzedcall on java.util.ArrayList
unanalyzedcall on java.util.Map:put
unanalyzedcall on java.util.List:addAll










method void addDomain(String, Map)
prethis.domains != null
prethis.keydomains != null










method String unescape(String)
preinput != null
postjava.lang.StringBuilder:toString(...)._tainted == 0
postreturn_value == &java.lang.StringBuilder:toStri ng(...)
test_vectorjava.lang.String:charAt(...)@314: {110}, {92}, {114}










method String escape(String)
preinput != null
postreturn_value != null










method int findEquals(String)
preinput != null
postreturn_value in {-1..232-2}
test_vectorjava.lang.String:charAt(...)@361: {0..91, 93..216-1}, {92}
test_vectorjava.lang.String:charAt(...)@363: {0..60, 62..216-1}, {61}