nitc $ MetricsRapidTypeAnalysis :: SELF
Type of this instance, automatically specialized in every classnitc :: RapidTypeAnalysis :: _live_callsites
Live callsites.nitc :: RapidTypeAnalysis :: _live_cast_types
The pool of types used to perform type checks (isa and as).nitc :: RapidTypeAnalysis :: _live_classes
Live (instantiated) classes.nitc :: RapidTypeAnalysis :: _live_methoddefs
Live method definitions.nitc :: RapidTypeAnalysis :: _live_methods
Live methods.nitc :: RapidTypeAnalysis :: _live_mmodules
Live mmodules.nitc :: RapidTypeAnalysis :: _live_open_cast_types
The pool of undesolved types used to perform type checks (isa and as).nitc :: RapidTypeAnalysis :: _live_open_types
The pool of unresolved live typesnitc :: RapidTypeAnalysis :: _live_super_sends
Live call-to-super.nitc :: RapidTypeAnalysis :: _live_types
The pool to live types.nitc :: RapidTypeAnalysis :: _mainmodule
The main module of the analysis.nitc :: RapidTypeAnalysis :: _modelbuilder
The modelbuilder used to get the AST.nitc :: RapidTypeAnalysis :: _todo
The method definitions that remain to visitnitc :: RapidTypeAnalysis :: _totry_methods
Methods that are still candidate to the try_sendnitc :: RapidTypeAnalysis :: _totry_methods_to_remove
Methods that are are no more candidate to the try_sendnitc :: RapidTypeAnalysis :: _try_methods
Methods that are or were candidate to the try_sendnitc :: RapidTypeAnalysis :: add_call
nitc :: RapidTypeAnalysis :: add_cast
nitc :: RapidTypeAnalysis :: add_new
nitc :: RapidTypeAnalysis :: check_depth
core :: Object :: class_factory
Implementation used byget_class
to create the specific class.
nitc :: RapidTypeAnalysis :: defaultinit
core :: Object :: defaultinit
nitc :: RapidTypeAnalysis :: force_alive
core :: Object :: is_same_instance
Return true ifself
and other
are the same instance (i.e. same identity).
core :: Object :: is_same_serialized
Isself
the same as other
in a serialization context?
core :: Object :: is_same_type
Return true ifself
and other
have the same dynamic type.
nitc :: RapidTypeAnalysis :: live_callsites=
Live callsites.nitc :: RapidTypeAnalysis :: live_cast_types
The pool of types used to perform type checks (isa and as).nitc :: RapidTypeAnalysis :: live_cast_types=
The pool of types used to perform type checks (isa and as).nitc :: RapidTypeAnalysis :: live_classes
Live (instantiated) classes.nitc :: RapidTypeAnalysis :: live_classes=
Live (instantiated) classes.nitc :: RapidTypeAnalysis :: live_methoddefs
Live method definitions.nitc :: RapidTypeAnalysis :: live_methoddefs=
Live method definitions.nitc :: RapidTypeAnalysis :: live_methods=
Live methods.nitc :: RapidTypeAnalysis :: live_methods_to_tree
Return a ready-to-save OrderedTree object that agregates infomration about live methods.nitc :: RapidTypeAnalysis :: live_mmodules=
Live mmodules.nitc :: RapidTypeAnalysis :: live_open_cast_types
The pool of undesolved types used to perform type checks (isa and as).nitc :: RapidTypeAnalysis :: live_open_cast_types=
The pool of undesolved types used to perform type checks (isa and as).nitc :: RapidTypeAnalysis :: live_open_types
The pool of unresolved live typesnitc :: RapidTypeAnalysis :: live_open_types=
The pool of unresolved live typesnitc :: RapidTypeAnalysis :: live_super_sends
Live call-to-super.nitc :: RapidTypeAnalysis :: live_super_sends=
Live call-to-super.nitc :: RapidTypeAnalysis :: live_targets
The live targets of a specific callsite.nitc :: RapidTypeAnalysis :: live_types=
The pool to live types.nitc :: RapidTypeAnalysis :: live_types_to_csv
Return a ready-to-save CSV document objet that agregates informations about live types.nitc :: RapidTypeAnalysis :: mainmodule=
The main module of the analysis.nitc :: RapidTypeAnalysis :: modelbuilder
The modelbuilder used to get the AST.nitc :: RapidTypeAnalysis :: modelbuilder=
The modelbuilder used to get the AST.core :: Object :: native_class_name
The class name of the object in CString format.core :: Object :: output_class_name
Display class name on stdout (debug only).nitc :: RapidTypeAnalysis :: run_analysis
Run the analysis until all visitable method definitions are visited.nitc :: RapidTypeAnalysis :: todo
The method definitions that remain to visitnitc :: RapidTypeAnalysis :: todo=
The method definitions that remain to visitnitc :: RapidTypeAnalysis :: totry_methods
Methods that are still candidate to the try_sendnitc :: RapidTypeAnalysis :: totry_methods=
Methods that are still candidate to the try_sendnitc :: RapidTypeAnalysis :: totry_methods_to_remove
Methods that are are no more candidate to the try_sendnitc :: RapidTypeAnalysis :: totry_methods_to_remove=
Methods that are are no more candidate to the try_sendnitc :: RapidTypeAnalysis :: try_methods
Methods that are or were candidate to the try_sendnitc :: RapidTypeAnalysis :: try_methods=
Methods that are or were candidate to the try_sendnitc :: RapidTypeAnalysis :: try_send
# 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