method com.dmdirc.installer.cliparser.CLIParser__static_ init










method CLIParser getCLIParser()
preinit'ed(me)
postme == One-of{old me, &new CLIParser(getCLIParse r#1)}
postme != null
postreturn_value == me
postnew ArrayList(CLIParser#2) num objects <= 1
postnew ArrayList(CLIParser#3) num objects <= 1
postnew CLIParser(getCLIParser#1) num objects <= 1
postnew CLIParser(getCLIParser#1).helpParam == null
postnew CLIParser(getCLIParser#1).paramList == &amp;new ArrayList(CLIParser#2)
postnew CLIParser(getCLIParser#1).params == &amp;new Hashtable(CLIParser#1)
postnew CLIParser(getCLIParser#1).redundant == &amp;new ArrayList(CLIParser#3)
postnew Hashtable(CLIParser#1) num objects <= 1
unanalyzedcall on java.util.Hashtable
unanalyzedcall on java.util.ArrayList
test_vectorme: Inverse{null}, Addr_Set{null}










method void com.dmdirc.installer.cliparser.CLIParser()
postthis.helpParam == null
postthis.paramList == &amp;new ArrayList(CLIParser#2)
postthis.params == &amp;new Hashtable(CLIParser#1)
postthis.redundant == &amp;new ArrayList(CLIParser#3)
postnew ArrayList(CLIParser#2) num objects == 1
postnew ArrayList(CLIParser#3) num objects == 1
postnew Hashtable(CLIParser#1) num objects == 1










method void clear()
prethis.paramList != null
prethis.params != null
prethis.redundant != null










method bool add(CLIParam)
preparam != null
preparam.stringFlag != null
pre(soft) this.paramList != null
pre(soft) this.params != null
postinit'ed(return_value)
test_vectorparam.charFlag: {1..216-1}, {0}
test_vectorjava.lang.String:isEmpty(...)@89: {1}, {0}










method int getParamNumber(String)
prethis.params != null
presumptionjava.util.Map:get(...)@109 != null
postinit'ed(return_value)
test_vectorjava.util.Map:containsKey(...)@108: {0}, {1}










method CLIParam getParam(String)
prethis.params != null
postinit'ed(return_value)
test_vectorjava.util.Map:containsKey(...)@122: {0}, {1}










method List getParamList()
postreturn_value == this.paramList
postinit'ed(return_value)










method List getRedundant()
prethis.redundant != null
postreturn_value == &amp;new ArrayList(getRedundant#1)
postnew ArrayList(getRedundant#1) num objects == 1
test_vectorjava.util.Iterator:hasNext(...)@145: {0}, {1}










method void setHelp(CLIParam)
postthis.helpParam == param
postinit'ed(this.helpParam)










method bool wantsHelp(String[])
preinit'ed(this.helpParam)
pre(soft) args != null
pre(soft) args.length <= 232-1
pre(soft) args[...] != null
pre(soft) this.params != null
postinit'ed(return_value)
unanalyzedcall on java.util.Map:containsKey
unanalyzedcall on java.util.Map:get
test_vectorthis.helpParam: Inverse{null}, Addr_Set{null}
test_vectorjava.lang.String:charAt(...)@166: {0..44, 46..216-1}, {45}
test_vectorjava.lang.String:equals(...)@168: {0}, {1}
test_vectorjava.lang.String:length(...)@166: {0,1}, {2..232-1}










method void showHelp(String, String)
prethis.paramList != null
presumptionjava.lang.System.out != null
presumptionjava.util.Iterator:next(...)@189 != null
presumptionparam.stringFlag@189 != null
test_vectorjava.lang.String:isEmpty(...)@195: {0}, {1}
test_vectorjava.util.Iterator:hasNext(...)@189: {0}, {1}
test_vectorparam.charFlag@189: {1..216-1}, {0}










method void parseArgs(String[], bool)
preargs != null
preargs.length <= 232-1
pre(soft) args[...] != null
pre(soft) init'ed(this.helpParam)
pre(soft) this.helpParam.stringFlag != null
pre(soft) this.params != null
pre(soft) this.redundant != null
presumptionjava.lang.System.out != null
presumptionlastParam.number@220 <= 232-2
postinit'ed(java.lang.String:substring(...)._tainted)
unanalyzedcall on java.util.Map:containsKey
unanalyzedcall on java.util.Map:get
unanalyzedcall on java.lang.Integer:parseInt
unanalyzedcall on java.lang.Throwable:__curr_excep_obj
unanalyzedcall on java.lang.String:isEmpty
unanalyzedcall on java.lang.String:equals
unanalyzedcall on java.lang.String:equalsIgnoreCase
test_vectorthis.helpParam: Addr_Set{null}, Inverse{null}
test_vectorthis.helpParam.charFlag: {0}, {1..216-1}
test_vectorjava.lang.String:charAt(...)@214: {0..44, 46..216-1}, {45}
test_vectorjava.lang.String:charAt(...)@242: {0..91, 93..216-1}, {92}
test_vectorjava.lang.String:equals(...)@217: {0}, {1}
test_vectorjava.lang.String:isEmpty(...)@225: {0}, {1}
test_vectorjava.lang.String:isEmpty(...)@230: {1}, {0}
test_vectorjava.lang.String:length(...)@214: {0,1}, {2..232-1}
test_vectorjava.lang.String:length(...)@242: {0,1}, {2..232-1}