Skip to content

Analysis

GeminiLogicalValidation dataclass

GeminiLogicalValidation()

Bases: ValidationPass


              flowchart TD
              bloqade.gemini.logical.validation.clifford.analysis.GeminiLogicalValidation[GeminiLogicalValidation]

              

              click bloqade.gemini.logical.validation.clifford.analysis.GeminiLogicalValidation href "" "bloqade.gemini.logical.validation.clifford.analysis.GeminiLogicalValidation"
            

Validates a logical gemini program.

Unresolved calls are reported by delegating to NoStaticCallValidation rather than by an impl in impls.py. A func.Invoke impl only sees the statements this Forward analysis reaches, and the scf.For impl returns bottom without descending into the loop body -- so a call nested in a loop was never visited. The delegate is a syntactic walk() and sees all of them.

Delegating rather than composing the two passes side by side in every suite keeps this pass a drop-in for callers who assemble their own ValidationSuite, and stops a single unresolved call being counted twice.