Exograph.Fragment (exograph v0.1.0)

Copy Markdown View Source

Searchable code unit.

Fragments are the bridge between source parsing, structural terms, near-duplicate fingerprints, and the inverted index backend.

Summary

Types

id()

@type id() :: integer()

t()

@type t() :: %Exograph.Fragment{
  abstract_hash: binary() | nil,
  aliases: MapSet.t(String.t()),
  arity: non_neg_integer() | nil,
  ast: Macro.t(),
  atoms: MapSet.t(String.t()),
  content_hash: binary() | nil,
  defs: MapSet.t(String.t()),
  end_line: non_neg_integer() | nil,
  exact_hash: binary() | nil,
  file: String.t(),
  file_id: integer() | nil,
  functions: MapSet.t(String.t()),
  id: integer() | nil,
  kind: atom(),
  line: non_neg_integer(),
  mass: non_neg_integer(),
  module: String.t() | nil,
  modules: MapSet.t(String.t()),
  name: String.t() | nil,
  package_id: integer() | nil,
  package_version_id: integer() | nil,
  refs: MapSet.t(String.t()),
  source: String.t() | nil,
  structs: MapSet.t(String.t()),
  sub_hashes: MapSet.t(integer()),
  terms: MapSet.t(String.t())
}