public void InvalidateRanges(String checkId, IReadOnlyList<Match> matches)
{
Contract.Requires(matches != null);
Contract.Requires(!string.IsNullOrWhiteSpace(checkId));
System.Diagnostics.Trace.WriteLine("InvalidateRanges: " + string.Join(", ", matches));
JArray invalidRanges = new JArray();
foreach(Match match in matches){
JObject invalidDocumentPart = new JObject();
invalidDocumentPart.Add("checkId", checkId);
invalidDocumentPart.Add("range", new JArray(match.Range.Start, match.Range.End));
invalidRanges.Add(invalidDocumentPart);
}
var code = "new function(){ return acrolinxSidebar.invalidateRanges(" + invalidRanges.ToString() + ")}();";
Eval(code);
}