tooling library

First-party analyzer-backed tooling boundary used by build integrations.

This library is intentionally a toolchain API. Application assurance contracts remain analyzer-free in package:zuke and package:zuke_core.

Classes

AnnotationTarget
DartAnnotationValue
DartExtractionResult
DartExtractor
Resolved Dart extractor shared by the CLI and future analyzer/build-hook surfaces. It intentionally has no regex fallback: an unresolved source fragment is unsafe evidence and is reported as an extraction error.
ZukeIndex
Read-only input index shared by generation, editor diagnostics, and hooks. The index is never assurance evidence: it only allows local tooling to reject stale mappings before a CLI validation run.
ZukeIndexFreshnessIssue
ZukeIndexInput

Constants

zukeAnnotationLibrary → const String

Functions

constantString(DartObject? value, String field) String?
constantStrings(DartObject? value, String field) List<String>?
isResolvedLibrary(Element? element, String libraryUri) bool
isZukeAnnotation(Element? element) bool
Whether element resolves to an annotation owned by Zuke. This uses the resolved library identity rather than an annotation spelling, so local classes with matching names cannot impersonate the public annotations.
resolvedElementName(Element? element) String?
supportsZukeAnnotationTarget(String annotationName, String target) bool
The declaration targets supported by each public annotation. The extractor, analyzer plugin, and hook must all consult this one matrix.
zukeAnnotationName(Element? element) String?
The canonical Zuke annotation name for a resolved annotation element.