public int GetPropertyProvider(uint dwFields, uint nRadix, ref Guid guidFilter,
                                uint dwTimeout,
                                out IAsyncDebugPropertyInfoProvider ppPropertiesProvider)
 {
     // Converts |guidFilter| to a non ref type arg so that Castle DynamicProxy doesn't fail
     // to assign values back to it. Same as for DebugStackFrame.EnumProperties.
     return(Self.GetPropertyProviderImpl(dwFields, nRadix, guidFilter, dwTimeout,
                                         out ppPropertiesProvider));
 }
        public int GetPropertyProviderImpl(uint dwFields, uint nRadix, Guid guidFilter,
                                           uint dwTimeout,
                                           out IAsyncDebugPropertyInfoProvider ppPropertiesProvider)
        {
            ppPropertiesProvider = new AsyncDebugRootPropertyInfoProvider(
                new FrameVariablesProvider(registerSetsBuilder, lldbFrame, varInfoFactory),
                _taskExecutor, _childrenProviderFactory, (enum_DEBUGPROP_INFO_FLAGS)dwFields,
                nRadix, guidFilter);

            return(VSConstants.S_OK);
        }
Beispiel #3
0
        public int GetChildPropertyProvider(uint dwFields, uint dwRadix, uint dwTimeout,
                                            out IAsyncDebugPropertyInfoProvider
                                            ppPropertiesProvider)
        {
            ppPropertiesProvider = _taskExecutor.Run(() =>
            {
                IVariableInformation cachedVarInfo = _varInfo.GetCachedView();
                IChildrenProvider childrenProvider =
                    _childrenProviderFactory.Create(cachedVarInfo.GetChildAdapter(),
                                                    (enum_DEBUGPROP_INFO_FLAGS)dwFields, dwRadix);

                return(new AsyncDebugPropertyInfoProvider(childrenProvider, _taskExecutor));
            });

            return(VSConstants.S_OK);
        }