MCPcopy Create free account
hub / github.com/CppCXY/EmmyLuaCodeStyle / Analyze

Method Analyze

CodeFormatCore/src/Format/Analyzer/TokenAnalyzer.cpp:9–63  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

7}
8
9void TokenAnalyzer::Analyze(FormatState &f, const LuaSyntaxTree &t) {
10 for (auto syntaxNode: t.GetSyntaxNodes()) {
11 if (syntaxNode.IsNode(t)) {
12 switch (syntaxNode.GetSyntaxKind(t)) {
13 case LuaSyntaxNodeKind::TableField: {
14 AnalyzeTableField(f, syntaxNode, t);
15 break;
16 }
17 case LuaSyntaxNodeKind::CallExpression: {
18 if (f.GetStyle().call_arg_parentheses != CallArgParentheses::Keep) {
19 AnalyzeCallExpression(f, syntaxNode, t);
20 }
21 if (f.GetStyle().remove_call_expression_list_finish_comma) {
22 auto exprList = syntaxNode.GetChildSyntaxNode(LuaSyntaxNodeKind::ExpressionList, t);
23 auto last = exprList.GetLastChild(t);
24 if (last.GetTokenKind(t) == ',') {
25 Mark(last, t, TokenStrategy::Remove);
26 }
27 }
28 }
29 default: {
30 break;
31 }
32 }
33 } else {
34 switch (syntaxNode.GetTokenKind(t)) {
35 case TK_STRING: {
36 switch (f.GetStyle().quote_style) {
37 case QuoteStyle::Single: {
38 Mark(syntaxNode, t, TokenStrategy::StringSingleQuote);
39 break;
40 }
41 case QuoteStyle::Double: {
42 Mark(syntaxNode, t, TokenStrategy::StringDoubleQuote);
43 break;
44 }
45 default: {
46 break;
47 }
48 }
49
50 break;
51 }
52 case TK_SHORT_COMMENT: {
53 if (f.GetStyle().space_after_comment_dash) {
54 AnalyzeComment(f, syntaxNode, t);
55 }
56 }
57 default: {
58 break;
59 }
60 }
61 }
62 }
63}
64
65void TokenAnalyzer::Query(FormatState &f, LuaSyntaxNode syntaxNode, const LuaSyntaxTree &t, FormatResolve &resolve) {
66 if (syntaxNode.IsToken(t)) {

Callers

nothing calls this directly

Calls 6

GetSyntaxKindMethod · 0.80
GetStyleMethod · 0.80
GetChildSyntaxNodeMethod · 0.80
IsNodeMethod · 0.45
GetLastChildMethod · 0.45
GetTokenKindMethod · 0.45

Tested by

no test coverage detected