// This file is part of the lluz programming language and is licensed under MIT License; see LICENSE.txt for details #include "lluz/Constraint.h" #include "lluz/NotNull.h" #include "lluz/Scope.h" #include "lluz/ToString.h" #include #include #include namespace lluz { struct ConstraintSolverLogger { std::string compileOutput(); void captureBoundarySnapshot(const Scope2* rootScope, std::vector>& unsolvedConstraints); void prepareStepSnapshot(const Scope2* rootScope, NotNull current, std::vector>& unsolvedConstraints); void commitPreparedStepSnapshot(); private: std::vector snapshots; std::optional preparedSnapshot; ToStringOptions opts; }; } // namespace lluz