コード例 #1
0
 public Factory(NatvisDiagnosticLogger logger, NatvisExpressionEvaluator evaluator,
                NatvisStringFormatter stringFormatter)
 {
     _logger          = logger;
     _evaluator       = evaluator;
     _stringFormatter = stringFormatter;
 }
コード例 #2
0
 public Factory(NatvisDiagnosticLogger logger, NatvisExpressionEvaluator evaluator,
                IVariableNameTransformer nameTransformer)
 {
     _logger          = logger;
     _evaluator       = evaluator;
     _nameTransformer = nameTransformer;
 }
コード例 #3
0
 public UnsupportedNatvisEntity(IVariableInformation variable, Type entityType,
                                NatvisDiagnosticLogger logger)
 {
     _variable   = variable;
     _entityType = entityType;
     _logger     = logger;
 }
コード例 #4
0
 public Factory(NatvisDiagnosticLogger logger, NatvisExpressionEvaluator evaluator,
                NatvisSizeParser sizeParser)
 {
     _logger     = logger;
     _evaluator  = evaluator;
     _sizeParser = sizeParser;
 }
コード例 #5
0
 public static void LogExpandChildrenValidationError(NatvisLoggingLevel loggingLevel,
                                                     NatvisDiagnosticLogger logger,
                                                     string visualizerName,
                                                     string typeName, string errorCause)
 {
     LogAndGetExpandChildrenValidationError(loggingLevel, logger, visualizerName, typeName,
                                            errorCause);
 }
コード例 #6
0
 ExpandedItemEntity(IVariableInformation variable, NatvisScope natvisScope,
                    ExpandedItemType expandedItem, NatvisDiagnosticLogger logger,
                    NatvisEntityStore store, NatvisExpressionEvaluator evaluator)
     : base(variable, logger, evaluator, natvisScope)
 {
     _expandedItem = expandedItem;
     _store        = store;
 }
コード例 #7
0
 protected LeafEntity(IVariableInformation variable, NatvisDiagnosticLogger logger,
                      NatvisExpressionEvaluator evaluator, NatvisScope natvisScope)
 {
     _variable    = variable;
     _logger      = logger;
     _evaluator   = evaluator;
     _natvisScope = natvisScope;
 }
コード例 #8
0
 public static ErrorVariableInformation LogAndGetEvaluationError(
     NatvisDiagnosticLogger logger, string natvisType, string parentType, string displayName,
     string errorCause)
 {
     logger.Error(() => $"Failed to evaluate {natvisType} node" +
                  $" for {displayName}, type: {parentType}.");
     return(new ErrorVariableInformation(displayName, $"<Error> Reason: {errorCause}"));
 }
コード例 #9
0
        public NatvisVisualizerScanner(NatvisDiagnosticLogger logger, NatvisLoader natvisLoader,
                                       JoinableTaskContext taskContext)
        {
            _logger       = logger;
            _natvisLoader = natvisLoader;
            _taskContext  = taskContext;

            InitDataStructures();
        }
コード例 #10
0
        public static ErrorVariableInformation LogAndGetExpandChildrenValidationError(
            NatvisLoggingLevel loggingLevel, NatvisDiagnosticLogger logger, string visualizerName,
            string typeName, string errorCause)
        {
            string errMessage = $"(Natvis) Failed to expand {visualizerName} node for type " +
                                $"'{typeName}'. Reason: {errorCause}.";

            logger.Log(loggingLevel, errMessage);
            return(new ErrorVariableInformation("<Error>", errMessage));
        }
コード例 #11
0
 TreeItemsEntity(IVariableInformation variable, NatvisScope natvisScope,
                 TreeItemsType treeItems, NatvisDiagnosticLogger logger,
                 NatvisEntityStore store, NatvisExpressionEvaluator evaluator,
                 NatvisSizeParser sizeParser)
     : base(variable, logger, evaluator, natvisScope)
 {
     _treeItems  = treeItems;
     _store      = store;
     _sizeParser = sizeParser;
 }
コード例 #12
0
 CustomListItemsEntity(IVariableInformation variable, NatvisScope natvisScope,
                       CustomListItemsType customList, NatvisDiagnosticLogger logger,
                       NatvisEntityStore store, NatvisExpressionEvaluator evaluator,
                       IVariableNameTransformer nameTransformer, CodeBlockParser parser)
     : base(variable, logger, evaluator, natvisScope)
 {
     _customList      = customList;
     _store           = store;
     _nameTransformer = nameTransformer;
     _parser          = parser;
 }
コード例 #13
0
 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;
 }
コード例 #14
0
 SyntheticItemEntity(IVariableInformation variable, NatvisScope natvisScope,
                     SyntheticItemType item, NatvisDiagnosticLogger logger,
                     NatvisEntityStore store, NatvisExpressionEvaluator evaluator,
                     NatvisStringFormatter stringFormatter,
                     NatvisCollectionEntity.Factory natvisCollectionFactory)
     : base(variable, logger, evaluator, natvisScope)
 {
     _item                    = item;
     _store                   = store;
     _stringFormatter         = stringFormatter;
     _natvisCollectionFactory = natvisCollectionFactory;
 }
コード例 #15
0
        public NatvisStringFormatter(NatvisExpressionEvaluator evaluator,
                                     NatvisDiagnosticLogger logger,
                                     NatvisVisualizerScanner visualizerScanner,
                                     ITaskExecutor taskExecutor)
        {
            _curFormatStringElementDepth = 0;

            _evaluator         = evaluator;
            _logger            = logger;
            _visualizerScanner = visualizerScanner;
            _taskExecutor      = taskExecutor;
        }
コード例 #16
0
 public NatvisLoader(JoinableTaskContext taskContext, ITaskExecutor taskExecutor,
                     NatvisDiagnosticLogger logger, INatvisFileSource solutionNatvisFiles,
                     NatvisValidator.Factory validatorFactory, IWindowsRegistry winRegistry,
                     IFileSystem fileSystem)
 {
     _taskContext         = taskContext;
     _taskExecutor        = taskExecutor;
     _logger              = logger;
     _solutionNatvisFiles = solutionNatvisFiles;
     _validatorFactory    = validatorFactory;
     _winRegistry         = winRegistry;
     _fileSystem          = fileSystem;
 }
コード例 #17
0
 public NatvisExpressionEvaluator(NatvisDiagnosticLogger logger,
                                  VsExpressionCreator vsExpressionCreator,
                                  IExtensionOptions extensionOptions,
                                  ExpressionEvaluationRecorder expressionEvaluationRecorder,
                                  ITimeSource timeSource)
 {
     _logger = logger;
     _vsExpressionCreator = vsExpressionCreator;
     // Instead of relying on the ExpressionEvaluationEngine flag directly, use
     // IExtensionOptions to get the flag. This will pick up configuration changes in
     // runtime.
     _extensionOptions             = extensionOptions;
     _expressionEvaluationRecorder = expressionEvaluationRecorder;
     _timeSource = timeSource;
 }
コード例 #18
0
            public Factory(ItemEntity.Factory itemFactory,
                           SyntheticItemEntity.Factory syntheticItemFactory,
                           ExpandedItemEntity.Factory expandedItemFactory,
                           IndexListItemsEntity.Factory indexListItemsFactory,
                           ArrayItemsEntity.Factory arrayItemsFactory,
                           LinkedListItemsEntity.Factory linkedListItemsFactory,
                           TreeItemsEntity.Factory treeItemsFactory,
                           CustomListItemsEntity.Factory customListItemsFactory,
                           NatvisDiagnosticLogger logger, Func <bool> natvisExperimentsEnabled)
            {
                _itemFactory            = itemFactory;
                _syntheticItemFactory   = syntheticItemFactory;
                _expandedItemFactory    = expandedItemFactory;
                _indexListItemsFactory  = indexListItemsFactory;
                _arrayItemsFactory      = arrayItemsFactory;
                _linkedListItemsFactory = linkedListItemsFactory;
                _treeItemsFactory       = treeItemsFactory;
                _customListItemsFactory = customListItemsFactory;

                _logger = logger;
                _natvisExperimentsEnabled = natvisExperimentsEnabled;
            }
コード例 #19
0
 private NatvisValidator(IFileSystem fileSystem, NatvisDiagnosticLogger logger)
 {
     this.fileSystem = fileSystem;
     this.logger     = logger;
 }
コード例 #20
0
 public Factory(IFileSystem fileSystem, NatvisDiagnosticLogger logger)
 {
     this.fileSystem = fileSystem;
     this.logger     = logger;
 }
コード例 #21
0
 public Factory(NatvisDiagnosticLogger logger, NatvisExpressionEvaluator evaluator)
 {
     _logger    = logger;
     _evaluator = evaluator;
 }
コード例 #22
0
 public NatvisSizeParser(NatvisDiagnosticLogger logger, NatvisExpressionEvaluator evaluator)
 {
     _logger    = logger;
     _evaluator = evaluator;
 }