# Functions
Decode decodes a serializable index of symbol reachability produced by Encode.
Encode analyzes the Go syntax trees of a package, constructs a reference graph, and uses it to compute, for each exported declaration, the set of exported symbols of directly imported packages that it references, perhaps indirectly.
NewPackageIndex creates a new PackageIndex instance for use in building reference and package sets.
# Structs
A Class is a reachability equivalence class.
PackageIndex stores common data to enable efficient representation of references and package sets.
A PackageSet is a set of metadata.PackageIDs, optimized for inuse memory footprint and efficient union operations.
A Symbol represents an external (imported) symbol referenced by the analyzed package.
# Type aliases
An IndexID is a small integer that uniquely identifies a package within a given PackageIndex.