package frama-clang

  1. Overview
  2. Docs

Information related to class: inheritance diagram, virtual meths, ...

val inheritance_graph_state : Frama_c_kernel.State.t
val add_inheritance_relation : Fclang_datatype.Qualified_name.t -> Intermediate_format.inheritance -> unit

add_inheritance_relation b a indicates that b inherits from a.

val add_class : Fclang_datatype.Qualified_name.t -> unit

get_bases_list b returns all a such that b inherits from a.

val has_virtual_base_class : Fclang_datatype.Qualified_name.t -> bool

has_virtual_base_class b returns true iff b has a virtual base class or if has_virtual_base_class a for a such that b inherits from a.

get_virtual_base_classes b returns the list of the virtual base classes of b. The list is unordered and built recursively on the base classes

returns all the classes derived (directly or indirectly) from the one given as argument.

val class_of_mangled : string -> Fclang_datatype.Qualified_name.t option

retrieve the C++ name of a class from an mangled identifier, or None if no such class exist in the inheritance graph.

has_unambiguous_path b a is true if b unambiguously inherits from a.

has_public_path b a is true if a is a base class of b following a public inheritance path only.

exception No_path

inheritance_path derived base returns an inheritance path from derived to base. In case of ambiguity, the selected path is not specified.

  • raises No_path

    if derived is not derived from base

OCaml

Innovation. Community. Security.