49
50
if (!QuickTaskStrip.EnableFancyFeatures)
50
51
return Enumerable.Empty<Result> ();
53
// var now = DateTime.Now;
51
55
var editor = input.Editor;
52
56
if (editor == null)
53
57
return Enumerable.Empty<Result> ();
54
58
var loc = editor.Caret.Location;
55
59
var result = new BlockingCollection<Result> ();
56
var codeIssueProvider = RefactoringService.GetInspectors (editor.Document.MimeType);
61
var codeIssueProvider = RefactoringService.GetInspectors (editor.Document.MimeType).ToArray ();
62
var context = input.ParsedDocument.CreateRefactoringContext != null ?
63
input.ParsedDocument.CreateRefactoringContext (input, cancellationToken) : null;
64
// Console.WriteLine ("start check:"+ (DateTime.Now - now).TotalMilliseconds);
57
65
Parallel.ForEach (codeIssueProvider, (provider) => {
59
67
var severity = provider.GetSeverity ();
60
68
if (severity == Severity.None)
62
foreach (var r in provider.GetIssues (input, cancellationToken)) {
63
var fixes = new List<GenericFix> (r.Actions.Where (a => a != null).Select (a => new GenericFix (a.Title, new System.Action (() => a.Run (input, loc)))));
70
// var now2 = DateTime.Now;
71
foreach (var r in provider.GetIssues (context, cancellationToken)) {
72
var fixes = new List<GenericFix> (r.Actions.Where (a => a != null).Select (a =>
75
new System.Action (() => a.Run (input, loc))) {
76
DocumentRegion = new DocumentRegion (r.Region.Begin, r.Region.End)
64
78
result.Add (new InspectorResults (
87
/* var ms = (DateTime.Now - now2).TotalMilliseconds;
89
Console.WriteLine (ms +"\t\t"+ provider.Title);*/
90
} catch (OperationCanceledException) {
73
92
} catch (Exception e) {
74
93
LoggingService.LogError ("CodeAnalysis: Got exception in inspector '" + provider + "'", e);
96
// Console.WriteLine ("END check:"+ (DateTime.Now - now).TotalMilliseconds);