Beispiel #1
0
        public int EnumChildrenImpl(enum_DEBUGPROP_INFO_FLAGS fields, uint radix, Guid guidFilter,
                                    enum_DBG_ATTRIB_FLAGS attributeFilter, string nameFilter,
                                    uint timeout, out IEnumDebugPropertyInfo2 propertyEnum)
        {
            propertyEnum = _taskExecutor.Run(() =>
            {
                _varInfo.FallbackValueFormat       = GetFallbackValueFormat(radix);
                IVariableInformation cachedVarInfo = _varInfo.GetCachedView();
                IChildrenProvider childrenProvider =
                    _childrenProviderFactory.Create(cachedVarInfo.GetChildAdapter(), fields, radix);

                return(_varInfoEnumFactory.Create(childrenProvider));
            });

            return(VSConstants.S_OK);
        }
        public int EnumPropertiesImpl(enum_DEBUGPROP_INFO_FLAGS fields, uint radix, Guid guidFilter,
                                      uint timeout, out uint count,
                                      out IEnumDebugPropertyInfo2 propertyEnum)
        {
            var frameVariablesProvider = new FrameVariablesProvider(registerSetsBuilder, lldbFrame,
                                                                    varInfoFactory);

            ICollection <IVariableInformation> varInfos = frameVariablesProvider.Get(guidFilter);

            if (varInfos == null)
            {
                count        = 0;
                propertyEnum = null;
                return(VSConstants.E_NOTIMPL);
            }

            count = (uint)varInfos.Count;
            var childrenAdapter  = new ListChildAdapter.Factory().Create(varInfos.ToList());
            var childrenProvider = _childrenProviderFactory.Create(childrenAdapter, fields, radix);

            propertyEnum = varInfoEnumFactory.Create(childrenProvider);
            return(VSConstants.S_OK);
        }