diff --git a/ParserTools/ParserTools/BaseLanguageIntellisenseSupport.cs b/ParserTools/ParserTools/BaseLanguageIntellisenseSupport.cs index 3b017c7cf..5e4b85145 100644 --- a/ParserTools/ParserTools/BaseLanguageIntellisenseSupport.cs +++ b/ParserTools/ParserTools/BaseLanguageIntellisenseSupport.cs @@ -1980,6 +1980,9 @@ namespace PascalABCCompiler.Parsers i++; } + if (count > 0) + return -1; + return i; } diff --git a/VisualPascalABCNET/DS/CodeCompletionVisual/TipPainterTools.cs b/VisualPascalABCNET/DS/CodeCompletionVisual/TipPainterTools.cs index 3115a640e..7eea30340 100644 --- a/VisualPascalABCNET/DS/CodeCompletionVisual/TipPainterTools.cs +++ b/VisualPascalABCNET/DS/CodeCompletionVisual/TipPainterTools.cs @@ -121,6 +121,10 @@ namespace ICSharpCode.TextEditor.Util { int paramDelimLength = languageIntellisenseSupport.ParameterDelimiter.Length; + // Проверка на всякий случай, чтобы не возникало ошибки с отрицательным length в Substring EVA + if (paranthesisIndex - paramDelimLength < paramDelimLength) + return; + string paramDescription = descriptionAfterBracket.Substring(paramDelimIndex + paramDelimLength, paranthesisIndex - paramDelimIndex - paramDelimLength); if (languageIntellisenseSupport.IsParams(paramDescription)) diff --git a/VisualPascalABCNETLinux/DS/CodeCompletionVisual/TipPainterTools.cs b/VisualPascalABCNETLinux/DS/CodeCompletionVisual/TipPainterTools.cs index bbf7e3794..377e916be 100644 --- a/VisualPascalABCNETLinux/DS/CodeCompletionVisual/TipPainterTools.cs +++ b/VisualPascalABCNETLinux/DS/CodeCompletionVisual/TipPainterTools.cs @@ -120,6 +120,10 @@ namespace ICSharpCode.TextEditor.Util { int paramDelimLength = languageIntellisenseSupport.ParameterDelimiter.Length; + // Проверка на всякий случай, чтобы не возникало ошибки с отрицательным length в Substring EVA + if (paranthesisIndex - paramDelimLength < paramDelimLength) + return; + string paramDescription = descriptionAfterBracket.Substring(paramDelimIndex + paramDelimLength, paranthesisIndex - paramDelimIndex - paramDelimLength); if (languageIntellisenseSupport.IsParams(paramDescription))