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); }