int IVsLanguageDebugInfo.GetProximityExpressions(
     IVsTextBuffer pBuffer,
     int iLine,
     int iCol,
     int cLines,
     out IVsEnumBSTR ppEnum
     )
 {
     try
     {
         return(LanguageDebugInfo.GetProximityExpressions(
                    pBuffer,
                    iLine,
                    iCol,
                    cLines,
                    out ppEnum
                    ));
     }
     catch (Exception e) when(FatalError.ReportAndCatch(e) && false)
     {
         throw ExceptionUtilities.Unreachable;
     }
 }
Exemplo n.º 2
0
            public int GetProximityExpressions(IVsTextBuffer pBuffer, int iLine, int iCol, int cLines, out IVsEnumBSTR ppEnum)
            {
                // NOTE(cyrusn): cLines is ignored.  This is to match existing dev10 behavior.
                using (Logger.LogBlock(FunctionId.Debugging_VsLanguageDebugInfo_GetProximityExpressions, CancellationToken.None))
                {
                    VsEnumBSTR enumBSTR  = null;
                    var        succeeded = false;
                    _waitIndicator.Wait(
                        title: ServicesVSResources.Debugger,
                        message: ServicesVSResources.DeterminingAutos,
                        allowCancel: true,
                        action: waitContext =>
                    {
                        var textBuffer = _languageService.EditorAdaptersFactoryService.GetDataBuffer(pBuffer);

                        if (textBuffer != null)
                        {
                            var snapshot      = textBuffer.CurrentSnapshot;
                            Document document = snapshot.GetOpenDocumentInCurrentContextWithChanges();
                            if (document != null)
                            {
                                var point = snapshot.GetPoint(iLine, iCol);
                                var proximityExpressions = _proximityExpressionsService.GetProximityExpressionsAsync(document, point.Position, waitContext.CancellationToken).WaitAndGetResult(waitContext.CancellationToken);

                                if (proximityExpressions != null)
                                {
                                    enumBSTR  = new VsEnumBSTR(proximityExpressions);
                                    succeeded = true;
                                }
                            }
                        }
                    });

                    if (succeeded)
                    {
                        ppEnum = enumBSTR;
                        return(VSConstants.S_OK);
                    }

                    ppEnum = null;
                    return(VSConstants.E_FAIL);
                }
            }
Exemplo n.º 3
0
 public int GetProximityExpressions(IVsTextBuffer pBuffer, int iLine, int iCol, int cLines, out IVsEnumBSTR ppEnum)
 {
     ppEnum = null;
     return VSConstants.E_NOTIMPL;
 }
Exemplo n.º 4
0
 public int GetProximityExpressions(IVsTextBuffer pBuffer, int iLine, int iCol, int cLines, out IVsEnumBSTR ppEnum)
 {
     ppEnum = null;
     return(VSConstants.E_NOTIMPL);
 }
Exemplo n.º 5
0
 public int GetProximityExpressions(IVsTextBuffer pBuffer, int iLine, int iCol, int cLines, out IVsEnumBSTR ppEnum)
 {
     return(this.LanguageDebugInfo.GetProximityExpressions(pBuffer, iLine, iCol, cLines, out ppEnum));
 }