public bool Analyze (RefactoringOptions options)
{
var data = options.GetTextEditorData ();
if (data.Document.MimeType != CSharpFormatter.MimeType)
return false;
var parser = new CSharpParser ();
var unit = parser.Parse (data);
if (unit == null)
return false;
resolvePosition = new DomLocation (data.Caret.Line, data.Caret.Column);
if (!AnalyzeTargetExpression (options, unit))
return false;
invocation = GetInvocation (unit, data);
if (invocation != null)
return AnalyzeInvocation (options);
delegateType = GetDelegateType (options, unit);
return delegateType != null;
}