Skip to content

Commit 942a4b3

Browse files
committed
修复算法重构导致的错误
1 parent b404e9d commit 942a4b3

26 files changed

+66
-70
lines changed

CodeService/src/FormatElement/AlignToFirstElement.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ FormatElementType AlignToFirstElement::GetType()
1010
return FormatElementType::AlignToFirstElement;
1111
}
1212

13-
void AlignToFirstElement::Serialize(FormatContext& ctx, ChildIterator& selfIt, FormatElement& parent)
13+
void AlignToFirstElement::Serialize(FormatContext& ctx, ChildIterator selfIt, FormatElement& parent)
1414
{
1515
for (auto it = _children.begin(); it != _children.end(); ++it)
1616
{
@@ -46,7 +46,7 @@ void AlignToFirstElement::Serialize(FormatContext& ctx, ChildIterator& selfIt, F
4646
}
4747
}
4848

49-
void AlignToFirstElement::Diagnosis(DiagnosisContext& ctx, ChildIterator& selfIt, FormatElement& parent)
49+
void AlignToFirstElement::Diagnosis(DiagnosisContext& ctx, ChildIterator selfIt, FormatElement& parent)
5050
{
5151
for (auto it = _children.begin(); it != _children.end(); ++it)
5252
{

CodeService/src/FormatElement/AlignmentElement.cpp

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,7 @@ FormatElementType AlignmentElement::GetType()
1212
return FormatElementType::AlignmentElement;
1313
}
1414

15-
void AlignmentElement::Serialize(FormatContext& ctx, ChildIterator& selfIt,
16-
FormatElement& parent)
15+
void AlignmentElement::Serialize(FormatContext& ctx, ChildIterator selfIt, FormatElement& parent)
1716
{
1817
const int blank = _alignmentPosition - static_cast<int>(ctx.GetCharacterCount());
1918
if (blank > 0)
@@ -22,8 +21,7 @@ void AlignmentElement::Serialize(FormatContext& ctx, ChildIterator& selfIt,
2221
}
2322
}
2423

25-
void AlignmentElement::Diagnosis(DiagnosisContext& ctx, ChildIterator& selfIt,
26-
FormatElement& parent)
24+
void AlignmentElement::Diagnosis(DiagnosisContext& ctx, ChildIterator selfIt, FormatElement& parent)
2725
{
2826
const int nextOffset = GetNextValidOffset(selfIt, parent);
2927
if (nextOffset == -1)

CodeService/src/FormatElement/AlignmentLayoutElement.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ FormatElementType AlignmentLayoutElement::GetType()
2222
return FormatElementType::AlignmentLayoutElement;
2323
}
2424

25-
void AlignmentLayoutElement::Serialize(FormatContext& ctx, ChildIterator& selfIt,
25+
void AlignmentLayoutElement::Serialize(FormatContext& ctx, ChildIterator selfIt,
2626
FormatElement& parent)
2727
{
2828
const auto eqPosition = GetAlignPosition(ctx.GetParser());
@@ -37,7 +37,7 @@ void AlignmentLayoutElement::Serialize(FormatContext& ctx, ChildIterator& selfIt
3737
}
3838
}
3939

40-
void AlignmentLayoutElement::Diagnosis(DiagnosisContext& ctx, ChildIterator& selfIt,
40+
void AlignmentLayoutElement::Diagnosis(DiagnosisContext& ctx, ChildIterator selfIt,
4141
FormatElement& parent)
4242
{
4343
const auto eqPosition = GetAlignPosition(ctx.GetParser());
@@ -103,7 +103,7 @@ int AlignmentLayoutElement::GetAlignPosition(std::shared_ptr<LuaParser> luaParse
103103
return eqAlignedPosition;
104104
}
105105

106-
void AlignmentLayoutElement::AlignmentSerialize(FormatContext& ctx, ChildIterator& selfIt, int eqPosition,
106+
void AlignmentLayoutElement::AlignmentSerialize(FormatContext& ctx, ChildIterator selfIt, int eqPosition,
107107
FormatElement& parent)
108108
{
109109
for (const auto& statChild : _children)
@@ -132,7 +132,7 @@ void AlignmentLayoutElement::AlignmentSerialize(FormatContext& ctx, ChildIterato
132132
}
133133

134134
void AlignmentLayoutElement::AlignmentDiagnosis(DiagnosisContext& ctx,
135-
ChildIterator& selfIt,
135+
ChildIterator selfIt,
136136
int eqPosition, FormatElement& parent)
137137
{
138138
for (const auto& statChild : _children)

CodeService/src/FormatElement/FormatElement.cpp

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -61,38 +61,38 @@ std::shared_ptr<FormatElement> FormatElement::LastValidElement() const
6161
return nullptr;
6262
}
6363

64-
void FormatElement::Serialize(FormatContext& ctx, ChildIterator& selfIt, FormatElement& parent)
64+
void FormatElement::Serialize(FormatContext& ctx, ChildIterator selfIt, FormatElement& parent)
6565
{
6666
for (auto it = _children.begin(); it != _children.end(); ++it)
6767
{
6868
(*it)->Serialize(ctx, it, *this);
6969
}
7070
}
7171

72-
void FormatElement::Diagnosis(DiagnosisContext& ctx, ChildIterator& selfIt, FormatElement& parent)
72+
void FormatElement::Diagnosis(DiagnosisContext& ctx, ChildIterator selfIt, FormatElement& parent)
7373
{
7474
for (auto it = _children.begin(); it != _children.end(); ++it)
7575
{
7676
(*it)->Diagnosis(ctx, it, *this);
7777
}
78-
}
78+
}
7979

8080
void FormatElement::Format(FormatContext& ctx)
8181
{
8282
// workaround
83-
for (auto it = _children.begin(); it != _children.end(); ++it)
84-
{
85-
(*it)->Serialize(ctx, it, *this);
86-
}
83+
auto root = std::make_shared<FormatElement>();
84+
root->AddChild(shared_from_this());
85+
auto it = root->GetChildren().begin();
86+
Serialize(ctx, it, *root);
8787
}
8888

8989
void FormatElement::DiagnosisCodeStyle(DiagnosisContext& ctx)
9090
{
9191
// workaround
92-
for (auto it = _children.begin(); it != _children.end(); ++it)
93-
{
94-
(*it)->Diagnosis(ctx, it, *this);
95-
}
92+
auto root = std::make_shared<FormatElement>();
93+
root->AddChild(shared_from_this());
94+
auto it = root->GetChildren().begin();
95+
Diagnosis(ctx, it, *root);
9696
}
9797

9898
void FormatElement::AddTextRange(TextRange range)
@@ -139,7 +139,6 @@ int FormatElement::GetLastValidOffset(ChildIterator& it, FormatElement& parent)
139139

140140
for (; rIt != siblings.rend(); ++rIt)
141141
{
142-
143142
auto sibling = *rIt;
144143
if (sibling->HasValidTextRange())
145144
{
@@ -153,7 +152,6 @@ int FormatElement::GetLastValidOffset(ChildIterator& it, FormatElement& parent)
153152

154153
int FormatElement::GetNextValidOffset(ChildIterator& it, FormatElement& parent)
155154
{
156-
157155
auto& siblings = parent.GetChildren();
158156
++it;
159157
for (; it != siblings.end(); ++it)

CodeService/src/FormatElement/IndentElement.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ FormatElementType IndentElement::GetType()
1313
return FormatElementType::IndentElement;
1414
}
1515

16-
void IndentElement::Serialize(FormatContext& ctx, ChildIterator& selfIt, FormatElement& parent)
16+
void IndentElement::Serialize(FormatContext& ctx, ChildIterator selfIt, FormatElement& parent)
1717
{
1818
ctx.AddIndent(_specialIndent);
1919

@@ -22,7 +22,7 @@ void IndentElement::Serialize(FormatContext& ctx, ChildIterator& selfIt, FormatE
2222
ctx.RecoverIndent();
2323
}
2424

25-
void IndentElement::Diagnosis(DiagnosisContext& ctx, ChildIterator& selfIt, FormatElement& parent)
25+
void IndentElement::Diagnosis(DiagnosisContext& ctx, ChildIterator selfIt, FormatElement& parent)
2626
{
2727
ctx.AddIndent(_specialIndent);
2828

CodeService/src/FormatElement/KeepBlankElement.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ FormatElementType KeepBlankElement::GetType()
1212
return FormatElementType::KeepBlankElement;
1313
}
1414

15-
void KeepBlankElement::Serialize(FormatContext& ctx, ChildIterator& selfIt, FormatElement& parent)
15+
void KeepBlankElement::Serialize(FormatContext& ctx, ChildIterator selfIt, FormatElement& parent)
1616
{
1717
int nextOffset = GetNextValidOffset(selfIt, parent);
1818
if (nextOffset != -1)
@@ -21,7 +21,7 @@ void KeepBlankElement::Serialize(FormatContext& ctx, ChildIterator& selfIt, Form
2121
}
2222
}
2323

24-
void KeepBlankElement::Diagnosis(DiagnosisContext& ctx, ChildIterator& selfIt, FormatElement& parent)
24+
void KeepBlankElement::Diagnosis(DiagnosisContext& ctx, ChildIterator selfIt, FormatElement& parent)
2525
{
2626
const int lastOffset = GetLastValidOffset(selfIt, parent);
2727
const int nextOffset = GetNextValidOffset(selfIt, parent);

CodeService/src/FormatElement/KeepElement.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ FormatElementType KeepElement::GetType()
1212
return FormatElementType::KeepElement;
1313
}
1414

15-
void KeepElement::Serialize(FormatContext& ctx, ChildIterator& selfIt,
15+
void KeepElement::Serialize(FormatContext& ctx, ChildIterator selfIt,
1616
FormatElement& parent)
1717
{
1818

@@ -39,7 +39,7 @@ void KeepElement::Serialize(FormatContext& ctx, ChildIterator& selfIt,
3939
}
4040
}
4141

42-
void KeepElement::Diagnosis(DiagnosisContext& ctx, ChildIterator& selfIt,
42+
void KeepElement::Diagnosis(DiagnosisContext& ctx, ChildIterator selfIt,
4343
FormatElement& parent)
4444
{
4545

CodeService/src/FormatElement/KeepLineElement.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ FormatElementType KeepLineElement::GetType()
1212
return FormatElementType::KeepLineElement;
1313
}
1414

15-
void KeepLineElement::Serialize(FormatContext& ctx, ChildIterator& selfIt,
15+
void KeepLineElement::Serialize(FormatContext& ctx, ChildIterator selfIt,
1616
FormatElement& parent)
1717
{
1818
const int lastElementLine = GetLastValidLine(ctx, selfIt, parent);
@@ -36,7 +36,7 @@ void KeepLineElement::Serialize(FormatContext& ctx, ChildIterator& selfIt,
3636
ctx.PrintLine(line);
3737
}
3838

39-
void KeepLineElement::Diagnosis(DiagnosisContext& ctx, ChildIterator& selfIt,
39+
void KeepLineElement::Diagnosis(DiagnosisContext& ctx, ChildIterator selfIt,
4040
FormatElement& parent)
4141
{
4242
ctx.SetCharacterCount(0);

CodeService/src/FormatElement/LineElement.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,12 @@ FormatElementType LineElement::GetType()
1111
return FormatElementType::LineElement;
1212
}
1313

14-
void LineElement::Serialize(FormatContext& ctx, ChildIterator& selfIt, FormatElement& parent)
14+
void LineElement::Serialize(FormatContext& ctx, ChildIterator selfIt, FormatElement& parent)
1515
{
1616
ctx.PrintLine(1);
1717
}
1818

19-
void LineElement::Diagnosis(DiagnosisContext& ctx, ChildIterator& selfIt, FormatElement& parent)
19+
void LineElement::Diagnosis(DiagnosisContext& ctx, ChildIterator selfIt, FormatElement& parent)
2020
{
2121
ctx.SetCharacterCount(0);
2222
}

CodeService/src/FormatElement/LongExpressionLayoutElement.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ FormatElementType LongExpressionLayoutElement::GetType()
1212
return FormatElementType::LongExpressionLayoutElement;
1313
}
1414

15-
void LongExpressionLayoutElement::Serialize(FormatContext& ctx, ChildIterator& selfIt, FormatElement& parent)
15+
void LongExpressionLayoutElement::Serialize(FormatContext& ctx, ChildIterator selfIt, FormatElement& parent)
1616
{
1717
SerializeSubExpression(ctx, *this);
1818
if (_hasContinuation)
@@ -21,7 +21,7 @@ void LongExpressionLayoutElement::Serialize(FormatContext& ctx, ChildIterator& s
2121
}
2222
}
2323

24-
void LongExpressionLayoutElement::Diagnosis(DiagnosisContext& ctx, ChildIterator& selfIt, FormatElement& parent)
24+
void LongExpressionLayoutElement::Diagnosis(DiagnosisContext& ctx, ChildIterator selfIt, FormatElement& parent)
2525
{
2626
DiagnosisSubExpression(ctx, *this);
2727
if (_hasContinuation)

0 commit comments

Comments
 (0)