blob: 1314f7c065ff40d8af9004f84c8a74609143bad4 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
#pragma once
#include <yql/essentials/ast/yql_errors.h>
#include <util/generic/hash.h>
#include <util/generic/set.h>
#include <yql/essentials/providers/common/provider/yql_provider_names.h>
#include <yql/essentials/public/langver/yql_langver.h>
namespace NYql {
namespace NFastCheck {
enum class ESyntax {
SExpr,
YQL,
PG
};
enum class EMode {
Default,
Main,
Library,
View
};
enum EClusterMode {
Many,
Single,
Unknown
};
struct TCheckFilter {
bool Include = true;
TString CheckNameGlob;
};
struct TChecksRequest {
TString Program;
TString File;
EClusterMode ClusterMode = Many;
TString ClusterSystem;
THashMap<TString, TString> ClusterMapping;
ESyntax Syntax = ESyntax::YQL;
ui16 SyntaxVersion = 1;
TLangVersion LangVer = MinLangVersion;
bool IsAnsiLexer = false;
EMode Mode = EMode::Default;
TMaybe<TVector<TCheckFilter>> Filters;
};
struct TCheckResponse {
TString CheckName;
bool Success = false;
TIssues Issues;
};
struct TChecksResponse {
TVector<TCheckResponse> Checks;
};
TVector<TCheckFilter> ParseChecks(const TString& checks);
TSet<TString> ListChecks(const TMaybe<TVector<TCheckFilter>>& filters = Nothing());
TChecksResponse RunChecks(const TChecksRequest& request);
}
}
|