internal bool MightHaveChildren(IVariableInformation variable) { VisualizerInfo visualizer = VisualizerScanner.FindType(variable); ExpandType expandType = visualizer?.GetExpandType(); if (expandType != null) { if (expandType.Items != null && expandType.Items.Length > 0) { return(true); } return(!expandType.HideRawView && variable.MightHaveChildren()); } SmartPointerType smartPointerType = visualizer?.GetSmartPointerType(); return(smartPointerType != null || variable.MightHaveChildren()); }
IChildAdapter CreateNatvisChildAdapter(VisualizerInfo visualizer, IVariableInformation variable) { ExpandType expandType = visualizer.GetExpandType(); if (expandType != null) { return(_natvisCollectionFactory.Create(variable, expandType, visualizer.NatvisScope)); } SmartPointerType smartPointerType = visualizer.GetSmartPointerType(); if (smartPointerType != null) { return(_smartPointerFactory.Create( variable, smartPointerType, visualizer.NatvisScope, variable.GetChildAdapter())); } return(variable.GetChildAdapter()); }