# Custom RTA analyzer
class MetricsRapidTypeAnalysis
super RapidTypeAnalysis
# Class Live Instances
var cnli: CNLI is lazy do return new CNLI(modelbuilder.model, mainmodule)
# Class Live Casts
var cnlc: CNLC is lazy do return new CNLC(modelbuilder.model, mainmodule)
# Type Live Instances
var tnli = new TNLI
# Rtpe Live Casts
var tnlc = new TNLC
redef fun add_new(recv, mtype) do
super
tnli.values.inc(mtype)
cnli.values.inc(mtype.mclass)
end
redef fun add_cast(mtype) do
super
tnlc.values.inc(mtype)
mtype = mtype.undecorate
if mtype isa MClassType then
cnlc.values.inc(mtype.mclass)
end
end
end
src/metrics/rta_metrics.nit:354,1--385,3