Skip to content

Conversation

@thisisalexandercook
Copy link
Collaborator

Summary

This PR refactors the core instrumentation logic to decouple annotation identity from runtime verification behavior. It replaces the previous TargetAnnotation and OptOutAnnotation abstractions with a unified TypeSystemConfiguration and a functional RuntimeVerifier interface.

Changes

  • Introduced ValidationKind (ENFORCE or NOOP) to explicitly define how a qualifier should be treated by the runtime
  • Introduced RuntimeVerifier, a functional interface for bytecode generation. This allows the same verification logic to be reused across different annotations or as a system-wide default
  • Added TypeSystemConfiguration to allow checkers to define their semantics in a readable, centralized way

@thisisalexandercook thisisalexandercook merged commit b0bb285 into eisop:main Jan 27, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant