Formatter.java


current inspection = 2009-09-03 21:56:13 (id #1)


Filter Options
Annotation Kind:
pre
presumption
post
unanalyzed
test_vector


  • void analyseFormat(String, Object[])

  • Kind Annotation Text
    pre(soft) format != null
    preargs != null
    preargs.length <= 232-1
    presumptionjava.lang.String:indexOf(...)@212 <= 232-4
    test_vectorjava.lang.String:indexOf(...)@212: {-231. .-1}, {0..232-4}

  • Object[] castArguments(String, Object[])

  • Kind Annotation Text
    pre(soft) args.length <= 232-1
    pre(soft) args[...] != null
    preargs != null
    preformat != null
    presumptionarr$.length@108 - args.length in {-232+1.. 0}
    presumptionarr$.length@108 <= 232-1
    presumptionarr$[i$]@108 != null
    presumptionjava.lang.Integer:valueOf(...)@141 != null
    presumptionjava.lang.Long:longValue(...)@134 in {-9_223_372_036_854_775..18_446_744_073_709_551}
    presumptionjava.lang.Long:valueOf(...)@134 != null
    presumptionjava.util.Map:get(...)@108 != null
    postinit'ed(java.lang.String:valueOf(...)._tainted)
    postinit'ed(java.lang.StringBuilder:toString(...)._ tainted)
    postnew Object[](castArguments#1) num objects == 1
    postpossibly_updated(return_value[...])
    postreturn_value == &amp;new Object[](castArguments#1)
    postreturn_value.length <= 232-1
    postreturn_value.length == args.length
    unanalyzedcall on java.lang.Character:valueOf
    unanalyzedcall on java.lang.String:charAt
    unanalyzedcall on java.lang.String:indexOf
    unanalyzedcall on java.util.Map:put
    test_vectorjava.lang.Character:charValue(...)@113: {65, 69, 71, 97, 101..103}, {66, 72, 83, 98, 104, 115}, {67, 99}, {84, 116}, {88, 100, 111, 120}, {117}, {0..64, 68, 70, 73..82, 85..87, 89..96, 105..110, 112..114, 118,119, 121..216-1}
    test_vectorjava.lang.String:instanceof(...)@132: {0}, {1}
    test_vectorjava.util.Map:containsKey(...)@101: {1}, {0}

  • void com.dmdirc.ui.messages.Formatter()

  • Kind Annotation Text

  • com.dmdirc.ui.messages.Formatter__static_init

  • Kind Annotation Text
    postnew HashMap(Formatter__static_init#1) num objects == 1
    posttypeCache == &amp;new HashMap(Formatter__static_ init#1)

  • int doDuration(StringBuilder, int, int, String)

  • Kind Annotation Text
    pre(soft) builder != null
    pre(soft) current/duration in {-231.. 232-1}
    pre(soft) duration != 0
    pre(soft) duration*(current/duration) in {-231..232-1}
    postinit'ed(builder._tainted)
    postinit'ed(return_value)
    postreturn_value == One-of{0, duration*(current/duratio n)}
    test_vectorduration - current: {1..6_442_450_943}, {-6_442_450_943..0}
    test_vectorjava.lang.StringBuilder:length(...)@170: {-231..0}, {1..232-1}

  • String formatDuration(int)

  • Kind Annotation Text
    postinit'ed(java.lang.StringBuilder:toString(...)._ tainted)
    postreturn_value == &amp;java.lang.StringBuilder:toStri ng(...)
    unanalyzedcall on java.lang.Character:valueOf

  • String formatMessage(ConfigManager, String, Object[])

  • Kind Annotation Text
    pre(soft) arguments != null
    pre(soft) arguments.length <= 232-1
    pre(soft) arguments[...] != null
    preconfig != null
    premessageType != null
    presumptioncom.dmdirc.config.ConfigManager:getOption(...)@66 != null
    postinit'ed(java.lang.StringBuilder:toString(...)._ tainted)
    postinit'ed(return_value)
    unanalyzedcall on java.lang.Character:charValue
    unanalyzedcall on java.lang.Character:valueOf
    unanalyzedcall on java.lang.Float:valueOf
    unanalyzedcall on java.lang.Integer:intValue
    unanalyzedcall on java.lang.Integer:valueOf
    unanalyzedcall on java.lang.Long:longValue
    unanalyzedcall on java.lang.Long:valueOf
    unanalyzedcall on java.lang.Object:toString
    unanalyzedcall on java.lang.String:charAt
    unanalyzedcall on java.lang.String:indexOf
    unanalyzedcall on java.lang.String:instanceof
    unanalyzedcall on java.lang.String:valueOf
    unanalyzedcall on java.util.Map:containsKey
    unanalyzedcall on java.util.Map:get
    unanalyzedcall on java.util.Map:put
    test_vectorcom.dmdirc.config.ConfigManager:hasOptionString(... )@66: {1}, {0}