internal void ProcessRegion(IParseTO payload, IList <IDev2DataLanguageIntellisensePart> refParts, bool addCompleteParts, StringBuilder tmp, IList <IIntellisenseResult> result, IList <IDev2DataLanguageIntellisensePart> additionalParts = null) { const bool EmptyOk = false; if (payload != null) { var tmpString = tmp.ToString(); var parts = tmpString.Split('.'); var search = parts[0].ToLower(); var rawSearch = search; var isRs = false; search = _recordSetUtil.RemoveRecordSetBraces(search, ref isRs); if (_parserHelper.AddFieldResult(payload, result, tmpString, parts, isRs)) { return; } if (parts.Length == 1) { _match.MatchNonFieldVariables(payload, refParts, addCompleteParts, tmp, result, additionalParts, isRs, rawSearch, search, EmptyOk, parts); } else if (parts.Length == 2) { _match.MatchFieldVariables(payload, refParts, addCompleteParts, result, parts, isRs, rawSearch, search, EmptyOk); } else { var part = IntellisenseFactory.CreateDataListValidationRecordsetPart(parts[0], parts[1]); result.Add(IntellisenseFactory.CreateErrorResult(payload.StartIndex, payload.EndIndex, part, "Invalid Notation - Extra dots detected", enIntellisenseErrorCode.SyntaxError, !payload.HangingOpen)); } } }
bool AddFieldResult(IParseTO payload, IList <IIntellisenseResult> result, string tmpString, string[] parts, bool isRs) => _parserHelper.AddFieldResult(payload, result, tmpString, parts, isRs);