From de6c15c5f886f0fb107391295a03657f7bba3960 Mon Sep 17 00:00:00 2001 From: Dongbo Wang Date: Wed, 6 Nov 2019 14:55:14 -0800 Subject: [PATCH] Avoid using closure in Parser.SaveError --- .../engine/parser/Parser.cs | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/System.Management.Automation/engine/parser/Parser.cs b/src/System.Management.Automation/engine/parser/Parser.cs index e798cf95428..2013a755051 100644 --- a/src/System.Management.Automation/engine/parser/Parser.cs +++ b/src/System.Management.Automation/engine/parser/Parser.cs @@ -7936,16 +7936,18 @@ private ExpressionAst ElementAccessRule(ExpressionAst primaryExpression, Token l private void SaveError(ParseError error) { - if (ErrorList.Any()) + if (ErrorList.Count > 0) { - // Avoiding adding duplicate errors - can happen when the tokenizer resyncs. - if (ErrorList.Any(err => err.ErrorId.Equals(error.ErrorId, StringComparison.Ordinal) - && err.Extent.EndColumnNumber == error.Extent.EndColumnNumber - && err.Extent.EndLineNumber == error.Extent.EndLineNumber - && err.Extent.StartColumnNumber == error.Extent.StartColumnNumber - && err.Extent.StartLineNumber == error.Extent.StartLineNumber)) + foreach (ParseError err in ErrorList) { - return; + if (err.ErrorId.Equals(error.ErrorId, StringComparison.Ordinal) + && err.Extent.EndColumnNumber == error.Extent.EndColumnNumber + && err.Extent.EndLineNumber == error.Extent.EndLineNumber + && err.Extent.StartColumnNumber == error.Extent.StartColumnNumber + && err.Extent.StartLineNumber == error.Extent.StartLineNumber) + { + return; + } } }