Browse Source

Merge pull request #1 from rhafizov/master

Bugfix for #748
pull/796/head
Xelwon 8 years ago committed by GitHub
parent
commit
0e12ef5f5a
  1. 6
      src/AddIns/BackendBindings/CSharpBinding/Project/Src/Parser/Parser.cs

6
src/AddIns/BackendBindings/CSharpBinding/Project/Src/Parser/Parser.cs

@ -101,19 +101,19 @@ namespace CSharpBinding.Parser @@ -101,19 +101,19 @@ namespace CSharpBinding.Parser
int endOffset;
int searchOffset = 0;
// HACK: workaround for parser bug: uses \n instead of \r\n in comment.Content
string commentContent = document.GetText(commentStartOffset, Math.Min(commentEndOffset - commentStartOffset + 1, commentEndOffset - commentStartOffset));
string commentContent = document.GetText(commentStartOffset, Math.Abs(Math.Min(commentEndOffset - commentStartOffset + 1, commentEndOffset - commentStartOffset)));
do {
int start = commentStartOffset + searchOffset;
int absoluteOffset = document.IndexOf(match, start, document.TextLength - start, StringComparison.Ordinal);
var startLocation = document.GetLocation(absoluteOffset);
endOffset = Math.Min(document.GetLineByNumber(startLocation.Line).EndOffset, commentEndOffset);
string content = document.GetText(absoluteOffset, endOffset - absoluteOffset);
string content = document.GetText(absoluteOffset, Math.Abs(endOffset - absoluteOffset));
if (content.Length < match.Length) {
// HACK: workaround parser bug with multi-line documentation comments
break;
}
tagComments.Add(new TagComment(content.Substring(0, match.Length), new DomRegion(cu.FileName, startLocation.Line, startLocation.Column), content.Substring(match.Length)));
searchOffset = endOffset - commentStartOffset;
searchOffset = Math.Abs(endOffset - commentStartOffset);
} while (commentContent.ContainsAny(TaskListTokens, searchOffset, out match));
}
}

Loading…
Cancel
Save