private MatchResult doFullMatch(MergeRequestKey mrk, Core.Matching.DiffRefs refs, MatchInfo matchInfo, out DiffPosition position) { if (!matchInfo.IsValid()) { position = null; return(MatchResult.Error); } MatchResult fileMatchResult = matchFileName(mrk, refs, matchInfo.LeftFileName, matchInfo.RightFileName, matchInfo.IsLeftSideLineNumber, out string leftFileName, out string rightFileName); if (fileMatchResult != MatchResult.Success) { position = null; return(fileMatchResult); } MatchResult lineMatchResult = matchLineNumber(leftFileName, rightFileName, refs, matchInfo.LineNumber, matchInfo.IsLeftSideLineNumber, out string leftLineNumber, out string rightLineNumber); if (lineMatchResult != MatchResult.Success) { position = null; return(fileMatchResult); } position = new DiffPosition(leftFileName, rightFileName, leftLineNumber, rightLineNumber, refs); return(MatchResult.Success); }