Exemplo n.º 1
0
        /// <summary>
        /// Disambiguates the given name, providing non-ambiguous names for all entities that "match" the name.
        /// </summary>
        /// <remarks>
        /// This method disambiguates the given name, providing non-ambiguous names for all entities that "match" the name.
        /// </remarks>
        /// <param name="name">[in] String containing the name.</param>
        /// <param name="flags">[in] Flags. For more information, see RESOLVENAMEFLAGS.</param>
        /// <param name="names">[out] Returns an object containing a list of names. For more information, see IVsEnumDebugName.</param>
        /// <returns>If the method succeeds, it returns S_OK. If it fails, it returns an error code.</returns>
        public virtual int ResolveName(string name, RESOLVENAMEFLAGS flags, out IVsEnumDebugName names)
        {
            Contract.Requires <ArgumentNullException>(name != null, "name");
            Contract.Requires <ArgumentException>(!string.IsNullOrEmpty(name));

            names = null;
            return(VSConstants.E_NOTIMPL);
        }
Exemplo n.º 2
0
 public int ResolveName(string pszName, uint dwFlags, out IVsEnumDebugName ppNames)
 {
     /*if((((RESOLVENAMEFLAGS)dwFlags) & RESOLVENAMEFLAGS.RNF_BREAKPOINT) != 0) {
      *  // TODO: This should go through the project/analysis and see if we can
      *  // resolve the names...
      * }*/
     ppNames = null;
     return(VSConstants.E_FAIL);
 }
Exemplo n.º 3
0
 int IVsLanguageDebugInfo.ResolveName(string pszName, uint dwFlags, out IVsEnumDebugName ppNames)
 {
     try
     {
         return(LanguageDebugInfo.ResolveName(pszName, dwFlags, out ppNames));
     }
     catch (Exception e) when(FatalError.ReportWithoutCrash(e) && false)
     {
         throw ExceptionUtilities.Unreachable;
     }
 }
Exemplo n.º 4
0
        int IVsLanguageDebugInfo.ResolveName(string pszName, uint dwFlags, out IVsEnumDebugName ppNames)
        {
            if (pszName == null)
            {
                throw new ArgumentNullException("pszName");
            }
            if (pszName.Length == 0)
            {
                throw new ArgumentException();
            }

            return(ResolveName(pszName, (RESOLVENAMEFLAGS)dwFlags, out ppNames));
        }
Exemplo n.º 5
0
            public int ResolveName(string pszName, uint dwFlags, out IVsEnumDebugName ppNames)
            {
                using (Logger.LogBlock(FunctionId.Debugging_VsLanguageDebugInfo_ResolveName, CancellationToken.None))
                {
                    // In VS, this method frequently get's called with an empty string to test if the language service
                    // supports this method (some language services, like F#, implement IVsLanguageDebugInfo but don't
                    // implement this method).  In that scenario, there's no sense doing work, so we'll just return
                    // S_FALSE (as the old VB language service did).
                    if (string.IsNullOrEmpty(pszName))
                    {
                        ppNames = null;
                        return(VSConstants.S_FALSE);
                    }

                    VsEnumDebugName enumName  = null;
                    var             succeeded = false;
                    _waitIndicator.Wait(
                        title: ServicesVSResources.Debugger,
                        message: ServicesVSResources.ResolvingBreakpointLocation,
                        allowCancel: true,
                        action: waitContext =>
                    {
                        var cancellationToken = waitContext.CancellationToken;
                        if (dwFlags == (uint)RESOLVENAMEFLAGS.RNF_BREAKPOINT)
                        {
                            var solution = _languageService.Workspace.CurrentSolution;

                            // NOTE(cyrusn): We have to wait here because the debuggers' ResolveName
                            // call is synchronous.  In the future it would be nice to make it async.
                            if (_breakpointService != null)
                            {
                                var breakpoints = _breakpointService.ResolveBreakpointsAsync(solution, pszName, cancellationToken).WaitAndGetResult(cancellationToken);
                                var debugNames  = breakpoints.Select(bp => CreateDebugName(bp, solution, cancellationToken)).WhereNotNull().ToList();

                                enumName  = new VsEnumDebugName(debugNames);
                                succeeded = true;
                            }
                        }
                    });

                    if (succeeded)
                    {
                        ppNames = enumName;
                        return(VSConstants.S_OK);
                    }

                    ppNames = null;
                    return(VSConstants.E_NOTIMPL);
                }
            }
Exemplo n.º 6
0
 /// <include file='doc\LanguageService.uex' path='docs/doc[@for="LanguageService.ResolveName"]/*' />
 public virtual int ResolveName(string name, uint flags, out IVsEnumDebugName ppNames) {
     ppNames = null;
     return NativeMethods.E_NOTIMPL;
 }
Exemplo n.º 7
0
 public virtual int ResolveName(string pszName, uint dwFlags, out IVsEnumDebugName ppNames) {
     ppNames = null;
     return VSConstants.E_NOTIMPL;
 }
Exemplo n.º 8
0
 public int Clone(out IVsEnumDebugName ppEnum)
 {
     ppEnum = new VsEnumDebugName(_values);
     return VSConstants.S_OK;
 }
Exemplo n.º 9
0
        /// <summary>
        /// Disambiguates the given name, providing non-ambiguous names for all entities that "match" the name.
        /// </summary>
        /// <remarks>
        /// This method disambiguates the given name, providing non-ambiguous names for all entities that "match" the name.
        /// </remarks>
        /// <param name="name">[in] String containing the name.</param>
        /// <param name="flags">[in] Flags. For more information, see RESOLVENAMEFLAGS.</param>
        /// <param name="names">[out] Returns an object containing a list of names. For more information, see IVsEnumDebugName.</param>
        /// <returns>If the method succeeds, it returns S_OK. If it fails, it returns an error code.</returns>
        public virtual int ResolveName([NotNull] string name, RESOLVENAMEFLAGS flags, out IVsEnumDebugName names)
        {
            Requires.NotNullOrEmpty(name, nameof(name));

            names = null;
            return(VSConstants.E_NOTIMPL);
        }
Exemplo n.º 10
0
 public virtual int ResolveName(string pszName, uint dwFlags, out IVsEnumDebugName ppNames)
 {
     ppNames = null;
     return(VSConstants.E_NOTIMPL);
 }
Exemplo n.º 11
0
 public virtual int ResolveName(string name, uint flags, out IVsEnumDebugName ppNames){
   ppNames = null;
   return (int)HResult.E_NOTIMPL;
 }
 public int ResolveName(string pszName, uint dwFlags, out IVsEnumDebugName ppNames)
 {
     ppNames = default;
     return(VSConstants.E_NOTIMPL);
 }
Exemplo n.º 13
0
 public int Clone(out IVsEnumDebugName ppEnum)
 {
     ppEnum = new VsEnumDebugName(_values);
     return(VSConstants.S_OK);
 }
Exemplo n.º 14
0
 public override int ResolveName(string name, uint flags, out IVsEnumDebugName ppNames)
 {
     ppNames = null;
     return(NativeMethods.E_NOTIMPL);
 }
Exemplo n.º 15
0
 public int ResolveName(string pszName, uint dwFlags, out IVsEnumDebugName ppNames)
 {
     return(this.LanguageDebugInfo.ResolveName(pszName, dwFlags, out ppNames));
 }
Exemplo n.º 16
0
 public int ResolveName(string pszName, uint dwFlags, out IVsEnumDebugName ppNames) {
     /*if((((RESOLVENAMEFLAGS)dwFlags) & RESOLVENAMEFLAGS.RNF_BREAKPOINT) != 0) {
         // TODO: This should go through the project/analysis and see if we can
         // resolve the names...
     }*/
     ppNames = null;
     return VSConstants.E_FAIL;
 }
Exemplo n.º 17
0
 public int ResolveName(string pszName, uint dwFlags, out IVsEnumDebugName ppNames)
 {
     ppNames = null;
     return(VSConstants.E_FAIL);
 }
Exemplo n.º 18
0
        /// <summary>
        /// Disambiguates the given name, providing non-ambiguous names for all entities that "match" the name.
        /// </summary>
        /// <remarks>
        /// This method disambiguates the given name, providing non-ambiguous names for all entities that "match" the name.
        /// </remarks>
        /// <param name="name">[in] String containing the name.</param>
        /// <param name="flags">[in] Flags. For more information, see RESOLVENAMEFLAGS.</param>
        /// <param name="names">[out] Returns an object containing a list of names. For more information, see IVsEnumDebugName.</param>
        /// <returns>If the method succeeds, it returns S_OK. If it fails, it returns an error code.</returns>
        public virtual int ResolveName(string name, RESOLVENAMEFLAGS flags, out IVsEnumDebugName names)
        {
            Contract.Requires<ArgumentNullException>(name != null, "name");
            Contract.Requires<ArgumentException>(!string.IsNullOrEmpty(name));

            names = null;
            return VSConstants.E_NOTIMPL;
        }
Exemplo n.º 19
0
 public int ResolveName(string pszName, uint dwFlags, out IVsEnumDebugName ppNames) {
     ppNames = null;
     return VSConstants.E_FAIL;
 }
Exemplo n.º 20
0
        int IVsLanguageDebugInfo.ResolveName(string pszName, uint dwFlags, out IVsEnumDebugName ppNames)
        {
            if (pszName == null)
                throw new ArgumentNullException("pszName");
            if (pszName.Length == 0)
                throw new ArgumentException();

            return ResolveName(pszName, (RESOLVENAMEFLAGS)dwFlags, out ppNames);
        }
Exemplo n.º 21
0
 public virtual int ResolveName(string name, uint flags, out IVsEnumDebugName ppNames);
Exemplo n.º 22
0
 public virtual int ResolveName(string name, uint flags, out IVsEnumDebugName ppNames);