kirin.validation.validationpass.ValidationSuite
← Module overview
class
method
sourcemethod
source
classValidationSuite¶source
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
| Name | Type | Default | Description |
|---|---|---|---|
passes | list[type[ValidationPass]] | list() | |
fail_fast | bool | False |
Attributes
| Name | Type | Default | Description |
|---|---|---|---|
passes | list[type[ValidationPass]] | field(default_factory=list) | |
fail_fast | bool | False |
methodadd_pass¶source
kirin.validation.validationpass.ValidationSuite.add_pass
def add_pass(pass_cls: type[ValidationPass]) -> ValidationSuiteAdd a validation pass to the suite.
Parameters
| Name | Type | Description |
|---|---|---|
pass_cls | type[ValidationPass] |
Returns
ValidationSuite
methodvalidate¶source
kirin.validation.validationpass.ValidationSuite.validate
def validate(method: ir.Method) -> ValidationResultRun all validation passes and collect results.
Parameters
| Name | Type | Description |
|---|---|---|
method | ir.Method |
Returns
ValidationResult