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 indicies 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
.