package frama-c

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

Module PdgIndex.SignatureSource

What we call a Signature a mapping between keys that represent either a function input or output, and some information.

Sourcetype 'a t

type of a signature where 'a is the type of the information that we * want to store for each input/output.

Sourcetype in_key = private
  1. | InCtrl
    (*

    input control point

    *)
  2. | InNum of int
    (*

    parameters numbered from 1

    *)
  3. | InImpl of Frama_c_kernel.Locations.Zone.t
    (*

    key for implicit inputs. Used in function signatures only

    *)

key for input elements

Sourcetype out_key = private
  1. | OutRet
    (*

    key for the output corresponding to the return

    *)
  2. | OutLoc of Frama_c_kernel.Locations.Zone.t
    (*

    key for output locations. used in call signatures only

    *)
Sourcetype key = private
  1. | In of in_key
  2. | Out of out_key

a key represents either an input or an output of a function.

Sourceval empty : 'a t

build a new, empty signature

Sourceval cmp_in_key : in_key -> in_key -> int
Sourceval cmp_out_key : out_key -> out_key -> int
Sourceval equal_out_key : out_key -> out_key -> bool
Sourceval find_info : 'a t -> key -> 'a
Sourceval find_input : 'a t -> int -> 'a
Sourceval find_in_ctrl : 'info t -> 'info
Sourceval find_in_top : 'info t -> 'info
Sourceval find_in_info : 'info t -> in_key -> 'info
Sourceval find_out_ret : 'a t -> 'a
Sourceval find_out_info : 'info t -> out_key -> 'info
Sourceval fold : ('a -> (key * 'b) -> 'a) -> 'a -> 'b t -> 'a
Sourceval fold_num_inputs : ('a -> (int * 'b) -> 'a) -> 'a -> 'b t -> 'a
Sourceval fold_impl_inputs : ('a -> (Frama_c_kernel.Locations.Zone.t * 'b) -> 'a) -> 'a -> 'b t -> 'a
Sourceval fold_matching_impl_inputs : Frama_c_kernel.Locations.Zone.t -> ('a -> (Frama_c_kernel.Locations.Zone.t * 'b) -> 'a) -> 'a -> 'b t -> 'a
Sourceval fold_all_inputs : ('a -> (in_key * 'b) -> 'a) -> 'a -> 'b t -> 'a
Sourceval fold_all_outputs : ('a -> (out_key * 'b) -> 'a) -> 'a -> 'b t -> 'a
Sourceval pretty : (Stdlib.Format.formatter -> 'a -> unit) -> Stdlib.Format.formatter -> 'a t -> unit
Sourceval pretty_key : Stdlib.Format.formatter -> key -> unit
Sourceval pretty_in_key : Stdlib.Format.formatter -> in_key -> unit
Sourceval pretty_out_key : Stdlib.Format.formatter -> out_key -> unit
OCaml

Innovation. Community. Security.