method com.dmdirc.config.prefs.PreferencesCategory__ static_init
postinit'ed(LOGGER)









  method not available - call not analyzedInfocall on void com.dmdirc.util.ListenerList()











method void com.dmdirc.config.prefs.PreferencesCategory(S tring, String)
postthis.description == description
postinit'ed(this.description)
postthis.icon == null
postthis.object == null
postthis.inlineBefore == 1
postnew ArrayList(PreferencesCategory#1) num objects == 1
postnew ArrayList(PreferencesCategory#2) num objects == 1
postnew ListenerList(PreferencesCategory#3) num objects == 1
postthis.isInline == 0
postthis.listeners == &new ListenerList(Preferences Category#3)
postthis.settings == &new ArrayList(PreferencesCate gory#1)
postthis.subcats == &new ArrayList(PreferencesCateg ory#2)
postthis.title == title
postinit'ed(this.title)
unanalyzedcall on java.util.ArrayList
unanalyzedcall on com.dmdirc.util.ListenerList










method void com.dmdirc.config.prefs.PreferencesCategory(S tring, String, String)
postthis.description == description
postinit'ed(this.description)
postthis.icon == icon
postinit'ed(this.icon)
postthis.inlineBefore == 1
postnew ArrayList(PreferencesCategory#1) num objects == 1
postnew ArrayList(PreferencesCategory#2) num objects == 1
postnew ListenerList(PreferencesCategory#3) num objects == 1
postthis.isInline == 0
postthis.listeners == &new ListenerList(Preferences Category#3)
postthis.object == null
postthis.settings == &new ArrayList(PreferencesCate gory#1)
postthis.subcats == &new ArrayList(PreferencesCateg ory#2)
postthis.title == title
postinit'ed(this.title)
unanalyzedcall on java.util.ArrayList
unanalyzedcall on com.dmdirc.util.ListenerList










method void com.dmdirc.config.prefs.PreferencesCategory(S tring, String, PreferencesInterface)
postthis.description == description
postinit'ed(this.description)
postthis.icon == null
postthis.inlineBefore == 1
postnew ArrayList(PreferencesCategory#1) num objects == 1
postnew ArrayList(PreferencesCategory#2) num objects == 1
postnew ListenerList(PreferencesCategory#3) num objects == 1
postthis.isInline == 0
postthis.listeners == &new ListenerList(Preferences Category#3)
postthis.object == object
postinit'ed(this.object)
postthis.settings == &new ArrayList(PreferencesCate gory#1)
postthis.subcats == &new ArrayList(PreferencesCateg ory#2)
postthis.title == title
postinit'ed(this.title)
unanalyzedcall on java.util.ArrayList
unanalyzedcall on com.dmdirc.util.ListenerList










method void com.dmdirc.config.prefs.PreferencesCategory(S tring, String, String, PreferencesInterface)
postthis.description == description
postinit'ed(this.description)
postthis.icon == icon
postinit'ed(this.icon)
postthis.inlineBefore == 1
postnew ArrayList(PreferencesCategory#1) num objects == 1
postnew ArrayList(PreferencesCategory#2) num objects == 1
postnew ListenerList(PreferencesCategory#3) num objects == 1
postthis.isInline == 0
postthis.listeners == &new ListenerList(Preferences Category#3)
postthis.object == object
postinit'ed(this.object)
postthis.settings == &new ArrayList(PreferencesCate gory#1)
postthis.subcats == &new ArrayList(PreferencesCateg ory#2)
postthis.title == title
postinit'ed(this.title)










method PreferencesCategory setInline()
postreturn_value == this
postreturn_value != null
postthis.isInline == 1










method PreferencesCategory setInlineAfter()
postreturn_value == this
postreturn_value != null
postthis.inlineBefore == 0










method bool isInline()
preinit'ed(this.isInline)
postreturn_value == this.isInline
postinit'ed(return_value)










method bool isInlineBefore()
preinit'ed(this.inlineBefore)
postreturn_value == this.inlineBefore
postinit'ed(return_value)










method void addSetting(PreferencesSetting)
prethis.object == null
prethis.settings != null










method void addSubCategory(PreferencesCategory)
presubcategory != null
preinit'ed(this.isInline)
prethis.subcats != null
pre(soft) subcategory.isInline == 1
postsubcategory.parent == this
postsubcategory.parent != null
test_vectorthis.isInline: {0}, {1}










method String getDescription()
postreturn_value == this.description
postinit'ed(return_value)










method List getSettings()
postreturn_value == this.settings
postinit'ed(return_value)










method List getSubcats()
postreturn_value == this.subcats
postinit'ed(return_value)










method String getTitle()
postreturn_value == this.title
postinit'ed(return_value)










method String getIcon()
postreturn_value == this.icon
postinit'ed(return_value)










method bool hasObject()
postinit'ed(return_value)










method PreferencesInterface getObject()
postreturn_value == this.object
postinit'ed(return_value)










method String getPath()
preinit'ed(this.parent)
pre(soft) init'ed(this...parent)
postjava.lang.StringBuilder:toString(...)._tainted == this.title._tainted | One-of{0, this...title._ tainted | One-of{0, this...title._tainted | One-of{0, this...title._tainted | One-of{0, this...title._tainted}}}}
postinit'ed(java.lang.StringBuilder:toString(...)._ tainted)
postreturn_value == &java.lang.StringBuilder:toStri ng(...)
unanalyzedcall on getPath










method void setParent(PreferencesCategory)
postthis.parent == parent
postinit'ed(this.parent)










method PreferencesCategory getParent()
preinit'ed(this.parent)
postreturn_value == this.parent
postinit'ed(return_value)










method bool save()
prethis.settings != null
prethis.subcats != null
pre(soft) init'ed(com.dmdirc.config.ConfigManager$1__ static_init.new int[](ConfigManager$1__static_init# 1)[...])
pre(soft) com/dmdirc/config/IdentityManager.config != null
pre(soft) com/dmdirc/config/IdentityManager.config. file != null
pre(soft) com/dmdirc/config/IdentityManager.config. listeners != null
pre(soft) com/dmdirc/config/IdentityManager.config. myTarget != null
pre(soft) init'ed(com/dmdirc/config/IdentityManager. config.myTarget.type)
pre(soft) init'ed(com/dmdirc/config/IdentityManager. config.globalConfig)
presumptionjava.util.Iterator:next(...)@300 != null
presumptionjava.util.Iterator:next(...)@307 != null
presumptionjava.util.logging.Logger:getLogger(...)@39 != null
postinit'ed(com/dmdirc/config/IdentityManager.config. globalConfig)
postpossibly_updated(com/dmdirc/config/IdentityManager. config.needSave)
postjava.lang.StringBuilder:toString(...)._tainted == 0
postinit'ed(return_value)
postinit'ed(new ArrayList(getSources#1) num objects)
postnew ArrayList(getSources#1) num objects == undefined
postnew ArrayList(getSources#1) num objects == 0, if init'ed
postnew ConfigManager(setOption#2) num objects == new ArrayList(getSources#1) num objects
postnew MapList(ConfigManager#1) num objects == new ArrayList(getSources#1) num objects
postinit'ed(new ConfigManager(setOption#2) num objects)
postinit'ed(new ConfigManager(setOption#2).channel)
postnew ConfigManager(setOption#2).channel == undefined
postnew ConfigManager(setOption#2).channel == null
postnew ConfigManager(setOption#2).ircd == new ConfigManager(setOption#2).channel
postnew ConfigManager(setOption#2).listeners == new ConfigManager(setOption#2).channel
postnew ConfigManager(setOption#2).network == new ConfigManager(setOption#2).channel
postnew ConfigManager(setOption#2).server == new ConfigManager(setOption#2).channel
postnew ConfigManager(setOption#2).sources == new ConfigManager(setOption#2).channel
postinit'ed(new ConfigManager(setOption#2).ircd)
postinit'ed(new ConfigManager(setOption#2).listeners)
postinit'ed(new ConfigManager(setOption#2).network)
postinit'ed(new ConfigManager(setOption#2).server)
postinit'ed(new ConfigManager(setOption#2).sources)
postinit'ed(new MapList(ConfigManager#1) num objects)
unanalyzedcall on java.lang.String:equals
unanalyzedcall on validate
unanalyzedcall on java.util.ArrayList
unanalyzedcall on java.util.ArrayList:iterator
unanalyzedcall on com.dmdirc.interfaces.ConfigChangeListener: configChanged
unanalyzedcall on java.util.Map:remove
unanalyzedcall on com.dmdirc.util.ConfigFile:getKeyDomain
unanalyzedcall on com.dmdirc.util.ConfigFile:getKeyDomains
unanalyzedcall on java.util.Map:containsKey
unanalyzedcall on java.util.List:add
unanalyzedcall on java.util.Map:get
unanalyzedcall on java.util.Map:keySet
unanalyzedcall on java.lang.Throwable:__curr_excep_obj
unanalyzedcall on java.util.HashMap
unanalyzedcall on java.util.List:remove
unanalyzedcall on com.dmdirc.util.ConfigFile:isKeyDomain
unanalyzedcall on java.util.HashSet
unanalyzedcall on hasOption
unanalyzedcall on getOption
unanalyzedcall on java.util.logging.Logger:finer
unanalyzedcall on java.util.List:iterator
unanalyzedcall on getSources
unanalyzedcall on addListener
unanalyzedcall on com.dmdirc.config.ConfigSource
unanalyzedcall on com.dmdirc.util.MapList
unanalyzedcall on addConfigManager
unanalyzedcall on com.dmdirc.util.MapList:containsKey
unanalyzedcall on com.dmdirc.util.MapList:get
unanalyzedcall on java.util.List:addAll
unanalyzedcall on getDomains
unanalyzedcall on java.util.List:contains
unanalyzedcall on java.util.Set:iterator
unanalyzedcall on getOptions
unanalyzedcall on equals
unanalyzedcall on removeListener
unanalyzedcall on java.lang.Integer:intValue
unanalyzedcall on java.lang.Integer:valueOf
unanalyzedcall on java.util.Map:put
unanalyzedcall on java.lang.IllegalArgumentException
unanalyzedcall on com.dmdirc.logger.Logger:assertTrue
unanalyzedcall on getTarget
unanalyzedcall on com.dmdirc.config.ConfigTarget$TYPE:ordinal
unanalyzedcall on java.lang.String:equalsIgnoreCase
unanalyzedcall on java.util.Collections:sort
test_vectorjava.util.Iterator:hasNext(...)@300: {0}, {1}
test_vectorjava.util.Iterator:hasNext(...)@307: {0}, {1}
test_vectorsetting.restartNeeded@302: {0}, {1}









  call too complex - analysis skippedInfocall on bool save()











method void dismiss()
prethis.settings != null
prethis.subcats != null
presumptionchild.settings@322 != null
presumptionchild.subcats@322 != null
presumptionjava.util.Iterator:next(...)@318 != null
presumptionjava.util.Iterator:next(...)@322 != null
presumptionsetting.listeners@318 != null
unanalyzedcall on java.util.List:iterator
unanalyzedcall on java.lang.String:equals
unanalyzedcall on settingChanged
unanalyzedcall on dismiss
test_vectorjava.util.Iterator:hasNext(...)@318: {0}, {1}
test_vectorjava.util.Iterator:hasNext(...)@322: {0}, {1}










method void addChangeListener(CategoryChangeListener)
prethis.listeners != null









  method not available - call not analyzedInfocall on void com.dmdirc.util.ListenerList:add(Class , Object)











method void removeChangeListener(CategoryChangeListener)
prethis.listeners != null









  method not available - call not analyzedInfocall on void com.dmdirc.util.ListenerList:remove(Cl ass, Object)











method void fireCategorySelected()
prethis.listeners != null
presumptioncom.dmdirc.util.ListenerList:get(...)@349 != null
presumptionjava.util.Iterator:next(...)@349 != null
test_vectorjava.util.Iterator:hasNext(...)@349: {0}, {1}









  method not available - call not analyzedInfocall on List com.dmdirc.util.ListenerList:get(Class )










  method not available - call not analyzedInfocall on void categorySelected(PreferencesCategory)











method void fireCategoryDeselected()
prethis.listeners != null
presumptioncom.dmdirc.util.ListenerList:get(...)@358 != null
presumptionjava.util.Iterator:next(...)@358 != null
test_vectorjava.util.Iterator:hasNext(...)@358: {0}, {1}









  method not available - call not analyzedInfocall on List com.dmdirc.util.ListenerList:get(Class )










  method not available - call not analyzedInfocall on void categoryDeselected(PreferencesCategory )