Module PyEnv.Symbol

type kind =
  1. | Name of {
    1. is_imported : bool;
    2. typ : T.Typ.t;
    }
    (*

    The identifier is a name, like a variable name, or any name that might have been imported

    *)
  2. | Builtin
    (*

    The identifier is a known builtin, like print or range

    *)
  3. | Code
    (*

    The identifier is a code object, like a function declaration

    *)
  4. | Class
    (*

    The identifier is a class name

    *)
  5. | ImportCall
    (*

    The identifier is an imported name that has been used in a call, so we can suppose it is a function

    *)
  6. | Import
    (*

    The identifier is the name of an imported module

    *)
val pp_kind : Stdlib.Format.formatter -> kind -> unit
type t = {
  1. id : Ident.t;
  2. kind : kind;
  3. loc : T.Location.t;
}
type key =
  1. | Global of Ident.t
  2. | Local of string
val pp_key : Stdlib.Format.formatter -> key -> unit
val pp : Stdlib.Format.formatter -> t -> unit