internal static bool TryGetBreakpointSpan(SyntaxTree tree, int position, CancellationToken cancellationToken, out TextSpan breakpointSpan) { var source = tree.GetText(cancellationToken); // If the line is entirely whitespace, then don't set any breakpoint there. var line = source.Lines.GetLineFromPosition(position); if (IsBlank(line)) { breakpointSpan = default(TextSpan); return false; } // If the user is asking for breakpoint in an inactive region, then just create a line // breakpoint there. if (tree.IsInInactiveRegion(position, cancellationToken)) { breakpointSpan = default(TextSpan); return true; } var root = tree.GetRoot(cancellationToken); return root.TryGetClosestBreakpointSpan(position, out breakpointSpan); }