Skip to content

kirin.validation.validationpass.ValidationSuite

← Module overview

classValidationSuitesource

kirin.validation.validationpass.ValidationSuite

Compose multiple validation passes and run them together.

Signature
class ValidationSuite(passes: list[type[ValidationPass]] = list(), fail_fast: bool = False)

Caches analysis results to avoid redundant computation when multiple validation passes depend on the same underlying analysis.

fail_fast: If True, stops at the first validation pass that fails.

Example

suite = ValidationSuite([ NoCloningValidation, AnotherValidation, ]) result = suite.validate(my_kernel) result.raise_if_invalid()

Parameters

NameTypeDefaultDescription
passeslist[type[ValidationPass]]list()
fail_fastboolFalse

Attributes

NameTypeDefaultDescription
passeslist[type[ValidationPass]]field(default_factory=list)
fail_fastboolFalse

methodadd_passsource

kirin.validation.validationpass.ValidationSuite.add_pass

def add_pass(pass_cls: type[ValidationPass]) -> ValidationSuite

Add a validation pass to the suite.

Parameters

NameTypeDescription
pass_clstype[ValidationPass]

Returns

ValidationSuite

source

methodvalidatesource

kirin.validation.validationpass.ValidationSuite.validate

def validate(method: ir.Method) -> ValidationResult

Run all validation passes and collect results.

Parameters

NameTypeDescription
methodir.Method

Returns

ValidationResult

source