check_runner.h 646 B

12345678910111213141516171819202122232425262728
  1. #pragma once
  2. #include "linter.h"
  3. namespace NYql {
  4. namespace NFastCheck {
  5. class ICheckRunner {
  6. public:
  7. virtual ~ICheckRunner() = default;
  8. virtual TString GetCheckName() const = 0;
  9. virtual TCheckResponse Run(const TChecksRequest& request) = 0;
  10. };
  11. class ICheckRunnerFactory {
  12. public:
  13. virtual ~ICheckRunnerFactory() = default;
  14. virtual std::unique_ptr<ICheckRunner> MakeRunner(const TString& checkName) const = 0;
  15. };
  16. std::unique_ptr<ICheckRunner> MakeLexerRunner();
  17. std::unique_ptr<ICheckRunner> MakeParserRunner();
  18. std::unique_ptr<ICheckRunner> MakeTranslatorRunner();
  19. std::unique_ptr<ICheckRunner> MakeFormatRunner();
  20. }
  21. }