Skip to content
This repository was archived by the owner on Mar 27, 2025. It is now read-only.

Commit ba36a07

Browse files
committed
keep earlier feedback in error case of ParseAll
1 parent d8f6b7f commit ba36a07

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

complex_parser.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,7 @@ func ParseAll(
142142
if pd.Result.HasError() {
143143
pd.Source.pos = orgPos
144144
pd.Result.Pos = orgPos // make result 'our result'
145+
saveAllFeedback(pd, subresults)
145146
return pd, ctx
146147
}
147148
subresults[i] = pd.Result
@@ -281,6 +282,14 @@ func saveAllValuesFeedback(pd *ParseData, tmpSubresults []*ParseResult) {
281282
pd.Result.Value = s
282283
}
283284

285+
func saveAllFeedback(pd *ParseData, tmpSubresults []*ParseResult) {
286+
for _, subres := range tmpSubresults {
287+
if subres != nil {
288+
pd.Result.Feedback = append(pd.Result.Feedback, subres.Feedback...)
289+
}
290+
}
291+
}
292+
284293
func addPotentialProblems(feedback []*FeedbackItem, potentialFeedback []*FeedbackItem) []*FeedbackItem {
285294
if potentialFeedback == nil {
286295
return feedback

0 commit comments

Comments
 (0)