method com.dmdirc.ui.themes.ThemeManager$1__static_init










method com.dmdirc.ui.themes.ThemeManager__static_init
presumptioncom.dmdirc.config.IdentityManager:getGlobalConfig(. ..)@50 != null
post"themes."._tainted == 0
postjava.lang.StringBuilder:toString(...)._tainted == 0
postTHEMES == &new HashMap(ThemeManager__static_ init#2)
postTHEME_DIR == &java.lang.StringBuilder:toString( ...)
postnew HashMap(ThemeManager__static_init#2) num objects == 1









  method not available - call not analyzedInfocall on String com.dmdirc.Main:getConfigDir()










  method not available - call not analyzedInfocall on ConfigManager com.dmdirc.config. IdentityManager:getGlobalConfig()
  method not available - call not analyzedInfocall on void com.dmdirc.config.ConfigManager:addCha ngeListener(String, String, ConfigChangeListener)











method void com.dmdirc.ui.themes.ThemeManager$1()










method void configChanged(String, String)










method void com.dmdirc.ui.themes.ThemeManager()










method void loadThemes()
presumptionarr$.length@86 <= 232-1
presumptionarr$[i$]@86 != null
presumptioncom.dmdirc.config.ConfigManager:getOptionList(... )@77 != null
presumptioncom.dmdirc.config.IdentityManager:getGlobalConfig(. ..)@77 != null
presumptioninit'ed(com.dmdirc.logger.ErrorLevel.HIGH)
presumptioninit'ed(com.dmdirc.logger.ErrorLevel.MEDIUM)
presumptionjava.io.File:listFiles(...)@86 != null
test_vectorjava.io.File:exists(...)@73: {1}, {0}
test_vectorjava.io.File:listFiles(...)@80: Inverse{null}, Addr_Set{null}
test_vectorjava.io.File:mkdirs(...)@73: {1}, {0}









  method not available - call not analyzedInfocall on void com.dmdirc.logger.Logger:userError(Err orLevel, String)










  method not available - call not analyzedInfocall on ConfigManager com.dmdirc.config. IdentityManager:getGlobalConfig()
  method not available - call not analyzedInfocall on List com.dmdirc.config.ConfigManager:getOpt ionList(String, String)










  method not available - call not analyzedInfocall on void com.dmdirc.logger.Logger:userError(Err orLevel, String)










  call too complex - analysis skippedInfocall on void loadTheme(File, bool)











method void loadTheme(File, bool)
prefile != null
presumptionjava.util.Map:get(...)@109 != null
presumptiontheme.file@109 != null
presumptiontheme.rm.zipFile@109 != null
presumptiontheme.rm.zipFile@114 != null
postnew ArrayList(ConfigFile#1) num objects <= 1
postnew ArrayList(ZipResourceManager#2) num objects <= 1
postnew ArrayList(readLines#4) num objects == 0
postnew ConfigFile(isValidTheme#2) num objects <= 1
postinit'ed(new ConfigFile(isValidTheme#2).charset)
postinit'ed(new ConfigFile(isValidTheme#2).domains)
postinit'ed(new ConfigFile(isValidTheme#2).file)
postinit'ed(new ConfigFile(isValidTheme#2). flatdomains)
postinit'ed(new ConfigFile(isValidTheme#2).is)
postinit'ed(new ConfigFile(isValidTheme#2).keydomains)
postinit'ed(new ConfigFile(isValidTheme#2).lines)
postnew HashMap(ConfigFile#3) num objects <= 1
postnew HashMap(MapList#1) num objects <= 1
postnew MapList(ConfigFile#2) num objects <= 1
postinit'ed(new MapList(ConfigFile#2).map)
postnew Theme(loadTheme#1) num objects <= 1
postinit'ed(new Theme(loadTheme#1).enabled)
postinit'ed(new Theme(loadTheme#1).file)
postinit'ed(new Theme(loadTheme#1).identity)
postpossibly_updated(new Theme(loadTheme#1).metadata)
postpossibly_updated(new Theme(loadTheme#1).rm)
postnew ThemeIdentity(applyTheme#1) num objects <= 1
postinit'ed(new ThemeIdentity(applyTheme#1).myTarget)
postinit'ed(new ThemeIdentity(applyTheme#1).theme)
postnew ZipFile(ZipResourceManager#1) num objects <= 1
postnew ZipResourceManager(getInstance#1) num objects <= 1
postinit'ed(new ZipResourceManager(getInstance#1). entries)
postinit'ed(new ZipResourceManager(getInstance#1). zipFile)
unanalyzedcall on java.util.Map:containsKey
unanalyzedcall on java.util.HashMap
unanalyzedcall on java.util.List:add
unanalyzedcall on java.util.Map:put
unanalyzedcall on java.util.Map:get
unanalyzedcall on java.util.zip.ZipFile:getEntry
unanalyzedcall on java.util.zip.ZipFile:getInputStream
unanalyzedcall on java.lang.Throwable:__curr_excep_obj
unanalyzedcall on com.dmdirc.logger.Logger:userError
unanalyzedcall on java.io.IOException:getMessage
unanalyzedcall on java.io.File:getCanonicalPath
unanalyzedcall on java.util.zip.ZipFile
unanalyzedcall on java.util.ArrayList
unanalyzedcall on java.util.zip.ZipFile:entries
unanalyzedcall on java.util.Enumeration:hasMoreElements
unanalyzedcall on java.util.Enumeration:nextElement
unanalyzedcall on java.util.zip.ZipEntry:getName
unanalyzedcall on java.util.zip.ZipEntry:isDirectory
unanalyzedcall on java.nio.charset.Charset:forName
unanalyzedcall on java.lang.String:length
unanalyzedcall on java.lang.String:charAt
unanalyzedcall on java.util.List:iterator
unanalyzedcall on java.util.Map:clear
unanalyzedcall on java.util.List: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.io.BufferedReader:close
unanalyzedcall on java.lang.String:isEmpty
unanalyzedcall on java.lang.String:substring
unanalyzedcall on java.lang.String:indexOf
unanalyzedcall on java.lang.String:endsWith
unanalyzedcall on java.util.List:contains
unanalyzedcall on java.lang.Exception
unanalyzedcall on java.io.File:getAbsolutePath
unanalyzedcall on isValidTheme
unanalyzedcall on com.dmdirc.config.Identity
unanalyzedcall on com.dmdirc.config.ConfigTarget:setTheme
unanalyzedcall on com.dmdirc.config.IdentityManager:addIdenti ty
unanalyzedcall on com.dmdirc.config.InvalidIdentityFileExcept ion:getMessage
unanalyzedcall on com.dmdirc.config.IdentityManager:removeIde ntity
test_vectorenabled: {0}, {1}
test_vectorjava.util.Map:containsKey(...)@108: {0}, {1}










method Map getAvailableThemes()
postreturn_value == &amp;new HashMap(getAvailableThemes #1)
postnew HashMap(getAvailableThemes#1) num objects == 1
unanalyzedcall on com.dmdirc.config.IdentityManager:getGlobal Config
unanalyzedcall on java.io.File:getName
unanalyzedcall on java.io.File
unanalyzedcall on java.io.File:exists
unanalyzedcall on java.io.File:mkdirs
unanalyzedcall on com.dmdirc.logger.Logger:userError
unanalyzedcall on com.dmdirc.config.ConfigManager:getOptionLi st
unanalyzedcall on java.io.File:listFiles
unanalyzedcall on java.io.File:isDirectory
unanalyzedcall on java.util.List:contains
unanalyzedcall on loadTheme
unanalyzedcall on java.lang.Throwable:__curr_excep_obj










method String getThemeDirectory()
postreturn_value == &amp;java.lang.StringBuilder:toStri ng(...)