SmartPointerEntity(NatvisExpressionEvaluator evaluator, NatvisDiagnosticLogger logger, IVariableInformation variable, SmartPointerType smartPointerItem, NatvisScope natvisScope, IChildAdapter fallbackAdapter) { _evaluator = evaluator; _logger = logger; _variable = variable; _smartPointerItem = smartPointerItem; _natvisScope = natvisScope; _fallbackAdapter = fallbackAdapter; }
public SmartPointerStringElement(SmartPointerType smartPointer) { if (smartPointer == null) { throw new ArgumentNullException(nameof(smartPointer)); } if (string.IsNullOrWhiteSpace(smartPointer.Value)) { throw new ArgumentException(nameof(smartPointer.Value)); } _smartPointer = smartPointer; }
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()); }
public SmartPointerEntity Create(IVariableInformation variable, SmartPointerType smartPointerItem, NatvisScope natvisScope, IChildAdapter fallbackAdapter) => new SmartPointerEntity(_evaluator, _logger, variable, smartPointerItem, natvisScope, fallbackAdapter);