A CleverError
is a special kind of abort code that is used to encode more
information than a normal abort code. These clever errors are used to encode
the line number, error constant name, and error constant value as pool
indices packed into a format satisfying the ErrorBitset
format. This
struct is the “inflated” view of that data, providing the module ID, line
number, and error constant name and value (if available).
Deserialized representation of a struct definition.
Fully qualified struct identifier. Uses copy-on-write strings so that when
it is used as a key to a map, an instance can be created to query the map
without having to allocate strings on the heap.
Deserialized representation of a function definition
Optional configuration that imposes limits on the work that the resolver can
do for each request.
Deserialized representation of a type signature that could appear as a
function parameter or return.
Store which fetches package for the given address from the backend db and
caches it locally in an lru cache. On every call to fetch
it checks
backend db and if package version is stale locally, it updates the local
state before returning to the user
The Resolver is responsible for providing information about types. It relies
on its internal package_store
to load packages and then type definitions
from those packages.
A function parameter or return signature, with its type parameters
instantiated.
Deserialized representation of an enum definition. These are always held
inside an EnumDef
.