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

Method Query

CodeFormatCore/src/Format/Analyzer/AlignAnalyzer.cpp:90–124  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

88}
89
90void AlignAnalyzer::Query(FormatState &f, LuaSyntaxNode syntaxNode, const LuaSyntaxTree &t, FormatResolve &resolve) {
91 if (_startNodeToGroupIndex.count(syntaxNode.GetIndex())) {
92 auto alignGroupIndex = _startNodeToGroupIndex[syntaxNode.GetIndex()];
93 auto &alignGroup = _alignGroup[alignGroupIndex];
94 if (!alignGroup.Resolve) {
95 ResolveAlignGroup(f, alignGroupIndex, alignGroup, t);
96 alignGroup.Resolve = true;
97 }
98 }
99
100 auto it = _resolveGroupIndex.find(syntaxNode.GetIndex());
101 if (it != _resolveGroupIndex.end()) {
102 auto alignGroupIndex = it->second;
103 auto &alignGroup = _alignGroup[alignGroupIndex];
104 switch (alignGroup.Strategy) {
105 case AlignStrategy::Normal:
106 case AlignStrategy::AlignToEqWhenExtraSpace:
107 case AlignStrategy::AlignToEqAlways: {
108 resolve.SetRelativeIndentAlign(alignGroup.AlignPos);
109 break;
110 }
111 case AlignStrategy::AlignToFirst: {
112 resolve.SetIndent(alignGroup.AlignPos, IndentStrategy::Absolute);
113 break;
114 }
115 case AlignStrategy::AlignComment: {
116 resolve.SetAlign(alignGroup.AlignPos);
117 break;
118 }
119 default: {
120 break;
121 }
122 }
123 }
124}
125
126void AlignAnalyzer::PushAlignGroup(AlignStrategy strategy, std::vector<std::size_t> &data) {
127 auto pos = _alignGroup.size();

Callers

nothing calls this directly

Calls 7

GetIndexMethod · 0.80
SetIndentMethod · 0.80
SetAlignMethod · 0.80
countMethod · 0.45
findMethod · 0.45
endMethod · 0.45

Tested by

no test coverage detected