method com.dmdirc.config.prefs.PreferencesSetting__ static_init










method void com.dmdirc.config.prefs.PreferencesSetting(Pr eferencesType, Validator, String, String, String, String)
preinit'ed(com/dmdirc/config/IdentityManager. globalconfig)
pre(soft) init'ed(com.dmdirc.config.ConfigManager$1__ static_init.new int[](ConfigManager$1__static_init# 1)[...])
presumptioncom.dmdirc.config.prefs.PreferencesType:equals(... )@86 == 0
presumptiongetGlobalConfig(...).sources != null
postcom/dmdirc/config/IdentityManager.globalconfig == One-of{old com/dmdirc/config/IdentityManager. globalconfig, &new ConfigManager(getGlobalConfi g#1)}
postcom/dmdirc/config/IdentityManager.globalconfig != null
postjava.lang.StringBuilder:toString(...)._tainted == 0
postthis.combooptions == null
postinit'ed(this.current)
postthis.original == this.current
postthis.domain == domain
postinit'ed(this.domain)
postthis.helptext == helptext
postinit'ed(this.helptext)
postthis.listeners == &new ArrayList(PreferencesSet ting#1)
postthis.option == option
postinit'ed(this.option)
postthis.title == title
postinit'ed(this.title)
postthis.type == type
postinit'ed(this.type)
postthis.validator == validator
postinit'ed(this.validator)
postnew ArrayList(PreferencesSetting#1) num objects == 1
postnew ArrayList(getSources#1) num objects <= 1
postnew ConfigManager(getGlobalConfig#1) num objects == new ArrayList(getSources#1) num objects
postnew MapList(ConfigManager#1) num objects == new ArrayList(getSources#1) num objects
postnew ConfigManager(getGlobalConfig#1).channel == &amp;java.lang.StringBuilder:toString(...)
postnew ConfigManager(getGlobalConfig#1).ircd == &amp;""
postnew ConfigManager(getGlobalConfig#1).network == &amp;""
postnew ConfigManager(getGlobalConfig#1).server == &amp;""
postnew ConfigManager(getGlobalConfig#1).listeners == &amp;new MapList(ConfigManager#1)
postnew ConfigManager(getGlobalConfig#1).sources == &amp;new ArrayList(getSources#1)
unanalyzedcall on com.dmdirc.util.ConfigFile:getKeyDomain
unanalyzedcall on java.util.Map:containsKey
unanalyzedcall on java.util.List:add
unanalyzedcall on java.util.Map:get
unanalyzedcall on com.dmdirc.util.ConfigFile:isKeyDomain
unanalyzedcall on hasOption
unanalyzedcall on getOption
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 java.lang.Throwable:__curr_excep_obj
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.ArrayList
unanalyzedcall on java.util.Collections:sort









  method not available - call not analyzedInfocall on bool com.dmdirc.config.prefs. PreferencesType:equals(Object)











method void com.dmdirc.config.prefs.PreferencesSetting(Pr eferencesType, String, String, String, String)
preinit'ed(com/dmdirc/config/IdentityManager. globalconfig)
pre(soft) init'ed(com.dmdirc.config.ConfigManager$1__ static_init.new int[](ConfigManager$1__static_init# 1)[...])
presumptioncom.dmdirc.config.prefs.PreferencesType:equals(... )@115 == 0
presumptiongetGlobalConfig(...).sources != null
postcom/dmdirc/config/IdentityManager.globalconfig == One-of{old com/dmdirc/config/IdentityManager. globalconfig, &amp;new ConfigManager(getGlobalConfi g#1)}
postcom/dmdirc/config/IdentityManager.globalconfig != null
postjava.lang.StringBuilder:toString(...)._tainted == 0
postthis.combooptions == null
postinit'ed(this.current)
postthis.original == this.current
postthis.domain == domain
postinit'ed(this.domain)
postthis.helptext == helptext
postinit'ed(this.helptext)
postthis.listeners == &amp;new ArrayList(PreferencesSet ting#1)
postthis.option == option
postinit'ed(this.option)
postthis.title == title
postinit'ed(this.title)
postthis.type == type
postinit'ed(this.type)
postthis.validator == &amp;new PermissiveValidator(Pref erencesSetting#2)
postnew ArrayList(PreferencesSetting#1) num objects == 1
postnew PermissiveValidator(PreferencesSetting#2) num objects == 1
postnew ArrayList(getSources#1) num objects <= 1
postnew ConfigManager(getGlobalConfig#1) num objects == new ArrayList(getSources#1) num objects
postnew MapList(ConfigManager#1) num objects == new ArrayList(getSources#1) num objects
postnew ConfigManager(getGlobalConfig#1).channel == &amp;java.lang.StringBuilder:toString(...)
postnew ConfigManager(getGlobalConfig#1).ircd == &amp;""
postnew ConfigManager(getGlobalConfig#1).network == &amp;""
postnew ConfigManager(getGlobalConfig#1).server == &amp;""
postnew ConfigManager(getGlobalConfig#1).listeners == &amp;new MapList(ConfigManager#1)
postnew ConfigManager(getGlobalConfig#1).sources == &amp;new ArrayList(getSources#1)
unanalyzedcall on com.dmdirc.util.ConfigFile:getKeyDomain
unanalyzedcall on java.util.Map:containsKey
unanalyzedcall on java.util.List:add
unanalyzedcall on java.util.Map:get
unanalyzedcall on com.dmdirc.util.ConfigFile:isKeyDomain
unanalyzedcall on hasOption
unanalyzedcall on getOption
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 java.lang.Throwable:__curr_excep_obj
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.ArrayList
unanalyzedcall on java.util.Collections:sort









  method not available - call not analyzedInfocall on bool com.dmdirc.config.prefs. PreferencesType:equals(Object)











method void com.dmdirc.config.prefs.PreferencesSetting(St ring, String, String, String, Map)
preinit'ed(com/dmdirc/config/IdentityManager. globalconfig)
pre(soft) init'ed(com.dmdirc.config.ConfigManager$1__ static_init.new int[](ConfigManager$1__static_init# 1)[...])
presumptiongetGlobalConfig(...).sources != null
postcom/dmdirc/config/IdentityManager.globalconfig == One-of{old com/dmdirc/config/IdentityManager. globalconfig, &amp;new ConfigManager(getGlobalConfi g#1)}
postcom/dmdirc/config/IdentityManager.globalconfig != null
postjava.lang.StringBuilder:toString(...)._tainted == 0
postthis.combooptions == &amp;new HashMap(PreferencesSe tting#2)
postinit'ed(this.current)
postthis.original == this.current
postthis.domain == domain
postinit'ed(this.domain)
postthis.helptext == helptext
postinit'ed(this.helptext)
postthis.listeners == &amp;new ArrayList(PreferencesSet ting#1)
postthis.option == option
postinit'ed(this.option)
postthis.title == title
postinit'ed(this.title)
postthis.type == &amp;com.dmdirc.config.prefs. PreferencesType__static_init.new PreferencesType(Pr eferencesType__static_init#6)
postthis.validator == &amp;new PermissiveValidator(Pref erencesSetting#3)
postnew ArrayList(PreferencesSetting#1) num objects == 1
postnew HashMap(PreferencesSetting#2) num objects == 1
postnew PermissiveValidator(PreferencesSetting#3) num objects == 1
postnew ArrayList(getSources#1) num objects <= 1
postnew ConfigManager(getGlobalConfig#1) num objects == new ArrayList(getSources#1) num objects
postnew MapList(ConfigManager#1) num objects == new ArrayList(getSources#1) num objects
postnew ConfigManager(getGlobalConfig#1).channel == &amp;java.lang.StringBuilder:toString(...)
postnew ConfigManager(getGlobalConfig#1).ircd == &amp;""
postnew ConfigManager(getGlobalConfig#1).network == &amp;""
postnew ConfigManager(getGlobalConfig#1).server == &amp;""
postnew ConfigManager(getGlobalConfig#1).listeners == &amp;new MapList(ConfigManager#1)
postnew ConfigManager(getGlobalConfig#1).sources == &amp;new ArrayList(getSources#1)
unanalyzedcall on com.dmdirc.util.ConfigFile:getKeyDomain
unanalyzedcall on java.util.Map:containsKey
unanalyzedcall on java.util.List:add
unanalyzedcall on java.util.Map:get
unanalyzedcall on com.dmdirc.util.ConfigFile:isKeyDomain
unanalyzedcall on hasOption
unanalyzedcall on getOption
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 java.lang.Throwable:__curr_excep_obj
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.ArrayList
unanalyzedcall on java.util.Collections:sort
test_vectorjava.util.Map:containsKey(...)@155: {1}, {0}










method Map getComboOptions()
postreturn_value == this.combooptions
postinit'ed(return_value)










method String getHelptext()
postreturn_value == this.helptext
postinit'ed(return_value)










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










method String getValue()
preinit'ed(this.current)
postreturn_value == this.current
postinit'ed(return_value)










method PreferencesType getType()
postreturn_value == this.type
postinit'ed(return_value)










method Validator getValidator()
postreturn_value == this.validator
postinit'ed(return_value)










method void setValue(String)
prethis.listeners != null
presumptionjava.util.Iterator:next(...)@224 != null
postthis.current == newValue
postinit'ed(this.current)
test_vectorjava.util.Iterator:hasNext(...)@224: {0}, {1}









  method not available - call not analyzedInfocall on void settingChanged(PreferencesSetting)











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










method PreferencesSetting setRestartNeeded()
postreturn_value == this
postreturn_value != null
postthis.restartNeeded == 1










method PreferencesSetting registerChangeListener(SettingC hangeListener)
prethis.listeners != null
postreturn_value == this
postreturn_value != null










method bool save()
preinit'ed(this.current)
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)
pre(soft) init'ed(this.original)
postcom/dmdirc/config/IdentityManager.config. globalConfig == One-of{old com/dmdirc/config/Identi tyManager.config.globalConfig, &amp;new ConfigManager(setOption#2)}
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)
postthis.original == One-of{old this.original, this.current}
postinit'ed(this.original)
postnew ArrayList(getSources#1) num objects <= 1
postnew ConfigManager(setOption#2) num objects <= 1
postinit'ed(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)
postnew MapList(ConfigManager#1) num objects <= 1
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_vectorthis.current: Inverse{null}, Addr_Set{null}










method void dismiss()
preinit'ed(this.original)
pre(soft) init'ed(this.current)
pre(soft) this.listeners != null
presumptionjava.util.Iterator:next(...)@291 != null
postthis.current == One-of{old this.current, this.original}
postinit'ed(this.current)
test_vectorthis.current: Inverse{null}, Addr_Set{null}
test_vectorthis.original: Addr_Set{null}, Inverse{null}
test_vectorjava.lang.String:equals(...)@284: {1}, {0}
test_vectorjava.util.Iterator:hasNext(...)@291: {0}, {1}









  method not available - call not analyzedInfocall on void settingChanged(PreferencesSetting)











method bool needsSaving()
preinit'ed(this.current)
pre(soft) init'ed(this.original)
presumptionvalidate(...)@302 != null
postinit'ed(return_value)
test_vectorthis.current: Addr_Set{null}, Inverse{null}









  call too complex - analysis skippedInfocall on ValidationResponse validate(Object)