Last Msg First Msg
























method com.dmdirc.actions.ActionSubstitutor__static_init










method void com.dmdirc.actions.ActionSubstitutor(ActionTy pe)
postthis.type == type
postinit'ed(this.type)










method Set getConfigSubstitutions()
presumptioncom.dmdirc.config.ConfigManager:getOptions(...)@62 != null
presumptioncom.dmdirc.config.IdentityManager:getGlobalConfig(. ..)@62 != null
postinit'ed(return_value)









  method not available - call not analyzedInfocall on ConfigManager com.dmdirc.config. IdentityManager:getGlobalConfig()
  method not available - call not analyzedInfocall on Map com.dmdirc.config.ConfigManager:getOpti ons(String)











method void doConfigSubstitutions(StringBuilder)
pre(soft) target != null
presumptioncom.dmdirc.config.ConfigManager:getOptions(...)@72 != null
presumptioncom.dmdirc.config.IdentityManager:getGlobalConfig(. ..)@72 != null
presumptionjava.util.Iterator:next(...)@72 != null
presumptionjava.util.Map:entrySet(...)@72 != null
unanalyzedcall on java.lang.String:length
test_vectorjava.util.Iterator:hasNext(...)@72: {0}, {1}









  method not available - call not analyzedInfocall on ConfigManager com.dmdirc.config. IdentityManager:getGlobalConfig()
  method not available - call not analyzedInfocall on Map com.dmdirc.config.ConfigManager:getOpti ons(String)











method Map getComponentSubstitutions()
prethis.type != null
pre(soft) this.type.type != null
presumptionarr$.length@88 <= 232-1
presumptiongetArgNames(...).length@91 >= 1
presumptionarr$.length@88 <= getArgNames(...).length@91
presumptiongetArgNames(...)@91 != null
presumptiongetArgTypes(...)@88 != null
presumptionjava.util.Iterator:next(...)@89 != null
postreturn_value == &amp;new HashMap(getComponentSubsti tutions#1)
postnew HashMap(getComponentSubstitutions#1) num objects == 1
unanalyzedcall on java.util.ArrayList
unanalyzedcall on com.dmdirc.logger.Logger:assertTrue
unanalyzedcall on java.util.List:add
unanalyzedcall on java.util.List:iterator
unanalyzedcall on java.lang.Object:equals
unanalyzedcall on appliesTo
test_vectorjava.util.Iterator:hasNext(...)@89: {0}, {1}









  call too complex - analysis skippedInfocall on Class[] getArgTypes()










  call too complex - analysis skippedInfocall on String[] getArgNames()
  call too complex - analysis skippedInfocall on String getName()











method void doComponentSubstitutions(StringBuilder, Object[])
prethis.type != null
pre(soft) args != null
pre(soft) init'ed(args[...])
pre(soft) target != null
pre(soft) this.type.type != null
presumptionarr$.length@110 <= 232-1
presumptionarr$.length@110 <= args.length
presumptiongetArgTypes(...)@110 != null
presumptionjava.util.Iterator:next(...)@112 != null
unanalyzedcall on java.lang.String:length
unanalyzedcall on java.util.ArrayList
unanalyzedcall on com.dmdirc.logger.Logger:assertTrue
unanalyzedcall on java.util.List:add
unanalyzedcall on java.util.List:iterator
unanalyzedcall on java.lang.Object:equals
unanalyzedcall on appliesTo
test_vectorargs[...]: Addr_Set{null}, Inverse{null}
test_vectorget(...)@114: Addr_Set{null}, Inverse{null}
test_vectorjava.util.Iterator:hasNext(...)@112: {0}, {1}









  call too complex - analysis skippedInfocall on Class[] getArgTypes()










  call too complex - analysis skippedInfocall on Object get(Object)











method Map getServerSubstitutions()
prethis.type != null
pre(soft) this.type.type != null
presumptiongetCompatibleComponents(...)@137 init'ed
presumptionjava.util.Iterator:next(...)@137 != null
postreturn_value == &amp;new HashMap(getServerSubstitut ions#1)
postnew HashMap(getServerSubstitutions#1) num objects == 1
unanalyzedcall on getType
unanalyzedcall on getArgTypes
unanalyzedcall on java.lang.Class:getSuperclass
unanalyzedcall on java.util.ArrayList
unanalyzedcall on com.dmdirc.logger.Logger:assertTrue
unanalyzedcall on java.util.List:add
unanalyzedcall on java.util.List:iterator
unanalyzedcall on java.lang.Object:equals
unanalyzedcall on appliesTo
test_vectorjava.util.Iterator:hasNext(...)@137: {0}, {1}









  call too complex - analysis skippedInfocall on String getName()











method void doServerSubstitutions(StringBuilder, Object[])
preargs != null
pre(soft) init'ed(args[0])
pre(soft) target != null
presumptiongetCompatibleComponents(...)@164 init'ed
presumptionjava.util.Iterator:next(...)@164 != null
presumptionserver.myState.state@156 != null
presumptionserver.myState@156 != null
unanalyzedcall on java.lang.String:length
unanalyzedcall on java.util.ArrayList
unanalyzedcall on com.dmdirc.logger.Logger:assertTrue
unanalyzedcall on java.util.List:add
unanalyzedcall on java.util.List:iterator
unanalyzedcall on java.lang.Object:equals
unanalyzedcall on appliesTo
test_vectorargs.length: {0}, {1..+Inf}
test_vectorargs[0]: Addr_Set{null}, Inverse{null}
test_vectorcom.dmdirc.ServerState:equals(...)@160: {1}, {0}
test_vectorget(...)@166: Addr_Set{null}, Inverse{null}
test_vectorgetServer(...)@156: Addr_Set{null}, Inverse{null}









  call too complex - analysis skippedInfocall on Server getServer()










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










  call too complex - analysis skippedInfocall on Server getServer()
  call too complex - analysis skippedInfocall on Object get(Object)











method bool hasFrameContainer()
prethis.type != null
pre(soft) this.type.type != null
presumptiongetArgTypes(...).length@187 >= 1
presumptiongetArgTypes(...)@186 != null
presumptiongetArgTypes(...)@187 != null
postinit'ed(return_value)
test_vectorgetArgTypes(...).length@186: {0}, {1..+Inf}









  call too complex - analysis skippedInfocall on Class[] getArgTypes()










  call too complex - analysis skippedInfocall on Class[] getArgTypes()











method bool usesWordSubstitutions()
prethis.type != null
pre(soft) this.type.type != null
presumptiongetArgTypes(...).length@204 >= 3
presumptiongetArgTypes(...)@204 != null
postinit'ed(return_value)









  call too complex - analysis skippedInfocall on Class[] getArgTypes()











method void doWordSubstitutions(StringBuilder, Object[])
preargs != null
pre(soft) init'ed(args[1])
pre(soft) args[1].length in {1..232-1}
pre(soft) init'ed(args[2])
pre(soft) args[2].length in {1..232-1}
pre(soft) target != null
unanalyzedcall on java.lang.String:length
test_vectorargs.length: {0,1}, {2}, {3..+Inf}
test_vectorjava.lang.StringBuffer:length(...)@231: {-231..0}, {1..232-1}









Prev Msg Next Msg
  use of default init
Low Prob.
check if init'ed(words.length)
Prev Msg Next Msg











method String doSubstitution(String, Object[])
preargs != null
prethis.type != null
pre(soft) init'ed(args[0])
pre(soft) init'ed(args[1])
pre(soft) args[1].length in {1..232-1}
pre(soft) init'ed(args[2])
pre(soft) args[2].length in {1..232-1}
pre(soft) init'ed(args[...])
pre(soft) this.type.type != null
postjava.lang.StringBuilder:toString(...)._tainted == target._tainted
postinit'ed(java.lang.StringBuilder:toString(...)._ tainted)
postreturn_value == &amp;java.lang.StringBuilder:toStri ng(...)
unanalyzedcall on com.dmdirc.config.IdentityManager:getGlobal Config
unanalyzedcall on com.dmdirc.config.ConfigManager:getOptions
unanalyzedcall on java.lang.String:length
unanalyzedcall on java.util.Map:entrySet
unanalyzedcall on java.util.Set:iterator
unanalyzedcall on java.util.Map$Entry:getKey
unanalyzedcall on java.util.Map$Entry:getValue
unanalyzedcall on [Ljava.lang.String;:instanceof
unanalyzedcall on java.lang.String:instanceof
unanalyzedcall on java.lang.String:split
unanalyzedcall on getServer
unanalyzedcall on getState
unanalyzedcall on com.dmdirc.ServerState:equals
unanalyzedcall on getCompatibleComponents
unanalyzedcall on java.util.List:iterator
unanalyzedcall on java.lang.Object:toString
unanalyzedcall on get
unanalyzedcall on java.lang.Throwable:__curr_excep_obj
unanalyzedcall on getType
unanalyzedcall on getArgTypes
unanalyzedcall on java.util.ArrayList
unanalyzedcall on com.dmdirc.logger.Logger:assertTrue
unanalyzedcall on java.util.List:add
unanalyzedcall on java.lang.Object:equals
unanalyzedcall on appliesTo










method void doReplacement(StringBuilder, String, String)
prehaystack != null
pre(soft) needle != null
presumptionjava.lang.StringBuilder:indexOf(...)@273 + java.lang.String:length(...)@276 in {-231..232-1}
test_vectorjava.lang.StringBuilder:indexOf(...)@273: {-1}, {-231..-2, 0..232-1}