Reach.Evidence.ParameterShape.Fact (Reach v2.8.1)

Copy Markdown View Source

Observed fixed-map shape variants for one function parameter.

Summary

Types

function_id()

@type function_id() :: {module() | nil, atom(), non_neg_integer()}

key()

@type key() :: atom() | String.t()

t()

@type t() :: %Reach.Evidence.ParameterShape.Fact{
  callers: [function_id()],
  companion_dispatch?: boolean(),
  consumed_keys: [key()],
  core_keys: [key()],
  defensive_consumed_keys: [key()],
  entropy: float(),
  file: Path.t() | nil,
  intentional_dispatch?: boolean(),
  line: pos_integer() | nil,
  occurrences: [Reach.Evidence.ParameterShape.Occurrence.t()],
  optional_keys: [key()],
  parameter: atom() | String.t(),
  parameter_index: non_neg_integer(),
  role: :domain | :non_contract,
  strict_consumed_keys: [key()],
  tagged_variants?: boolean(),
  target: function_id(),
  union_keys: [key()],
  variants: [[key()]]
}