Compiled classes as values: which classes a .class file links against, and which of those links the jar does not satisfy. Pure.
An AOT jar that hardcodes implements hive_addon.protocol.IAddon builds and
publishes in silence, then fails to mount because the host loaded that
protocol from source under a different class identity. The link is visible
in the constant pool long before anyone tries to mount it.
Compiled classes as values: which classes a .class file links against, and which of those links the jar does not satisfy. Pure. An AOT jar that hardcodes `implements hive_addon.protocol.IAddon` builds and publishes in silence, then fails to mount because the host loaded that protocol from source under a different class identity. The link is visible in the constant pool long before anyone tries to mount it.
(class-names bytes)Internal names of every class the class file in bytes references.
Reads the constant pool only: CONSTANT_Class entries and the CONSTANT_Utf8 entries they point at. Array descriptors ([Lfoo/Bar;) are unwrapped to the element class.
Internal names of every class the class file in `bytes` references. Reads the constant pool only: CONSTANT_Class entries and the CONSTANT_Utf8 entries they point at. Array descriptors ([Lfoo/Bar;) are unwrapped to the element class.
(constant-pool bytes)The class file's constant pool, read once: {:utf8 {slot string} :class-refs [slot]}.
One walker, because every question this namespace answers is a projection of
the same pass. :utf8 carries EVERY CONSTANT_Utf8 entry, not only the ones a
CONSTANT_Class points at, so a caller auditing what text the class ships sees
the same pool the linker does.
The class file's constant pool, read once: `{:utf8 {slot string}
:class-refs [slot]}`.
One walker, because every question this namespace answers is a projection of
the same pass. `:utf8` carries EVERY CONSTANT_Utf8 entry, not only the ones a
CONSTANT_Class points at, so a caller auditing what text the class ships sees
the same pool the linker does.Class-name prefixes a hive jar is audited for.
Class-name prefixes a hive jar is audited for.
(foreign-refs names
{:keys [prefixes shipped allowed audited]
:or {audited default-foreign-prefixes}})The audited class names in names that this jar neither owns nor ships.
:prefixes — classpath prefixes of the namespaces the jar packages :shipped — internal names of classes present in the jar :allowed — internal names declared acceptable in version.edn :audited — name prefixes to audit (default: hive_)
The audited class names in `names` that this jar neither owns nor ships. :prefixes — classpath prefixes of the namespaces the jar packages :shipped — internal names of classes present in the jar :allowed — internal names declared acceptable in version.edn :audited — name prefixes to audit (default: hive_)
(internal-name x)Any spelling of a class name as the internal (slash) form a constant pool carries: hive-addon.protocol.IAddon -> hive_addon/protocol/IAddon.
Any spelling of a class name as the internal (slash) form a constant pool carries: hive-addon.protocol.IAddon -> hive_addon/protocol/IAddon.
(report offenders)A build-facing description of offenders, or nil when there are none.
A build-facing description of `offenders`, or nil when there are none.
(unpackaged declared copied)The declared protocol class paths in declared that copied does not
contain.
:aot/package-protocols names classes by hand, so a namespace that was
required rather than compiled — or a protocol since renamed — leaves
nothing at the declared path for the copy step to find.
The declared protocol class paths in `declared` that `copied` does not contain. `:aot/package-protocols` names classes by hand, so a namespace that was required rather than compiled — or a protocol since renamed — leaves nothing at the declared path for the copy step to find.
(unpackaged-report absent)A build-facing description of the absent declared protocol classes, or nil
when every declared class was produced.
A build-facing description of the `absent` declared protocol classes, or nil when every declared class was produced.
(utf8-constants bytes)Every CONSTANT_Utf8 string the class file in bytes carries, deduplicated.
This is the text a strings pass over the artifact would recover, minus the
guesswork: descriptors, member names, and any string literal the compiler
interned all sit in the same pool.
Every CONSTANT_Utf8 string the class file in `bytes` carries, deduplicated. This is the text a `strings` pass over the artifact would recover, minus the guesswork: descriptors, member names, and any string literal the compiler interned all sit in the same pool.
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |