package libsail

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module Libsail.CallgraphSource

Functions for generating and interacting with Sail call graphs.

Sourcetype node =
  1. | Register of Ast.id
  2. | Function of Ast.id
  3. | Mapping of Ast.id
  4. | Letbind of Ast.id
  5. | Type of Ast.id
  6. | Overload of Ast.id
  7. | Constructor of Ast.id
  8. | FunctionMeasure of Ast.id
  9. | LoopMeasures of Ast.id
  10. | Outcome of Ast.id
Sourceval node_id : node -> Ast.id
Sourcemodule Node : sig ... end
Sourcemodule NodeSet : sig ... end
Sourcemodule NodeMap : sig ... end
Sourcemodule G : sig ... end
Sourcetype callgraph = G.graph
Sourceval nodes_of_def : ('a, 'b) Ast.def -> NodeSet.t
Sourceval filter_ast : Set.Make(Node).t -> callgraph -> ('a, 'b) Ast_defs.ast -> ('a, 'b) Ast_defs.ast
Sourceval filter_ast_extra : Set.Make(Node).t -> callgraph -> ('a, 'b) Ast_defs.ast -> bool -> ('a, 'b) Ast_defs.ast
Sourceval slice_instantiation_types : string -> Type_check.typed_ast -> Type_check.typed_ast

Callgraph consisting *only* of calls, not other dependencies. Doesn't rely on types.

Sourcemodule FCG : sig ... end
Sourceval function_call_graph : ('a, 'b) Ast_defs.ast -> FCG.graph
OCaml

Innovation. Community. Security.