public Task <IList <IVariableInformation> > GetChildrenAsync(int from, int count) { ErrorVariableInformation errInfo = NatvisErrorUtils.LogAndGetExpandChildrenValidationError( NatvisLoggingLevel.WARNING, _logger, _entityType.ToString(), _variable.TypeName, $"Encountered unsupported tag: {_entityType}."); return(Task.FromResult <IList <IVariableInformation> >(new List <IVariableInformation> { errInfo })); }
protected async Task EvaluateUpToAsync(int to) { if (_store.ValidationError != null || _hasEvaluationError) { return; } try { await InitContextAsync(); while (_lastIndex < to && _blocks.State != BlockState.Done) { EvaluateResult result = await _blocks.EvaluateAsync(); if (result.Type == ResultType.Var) { _store.SaveVariable(_lastIndex, result.Data); _lastIndex++; } } } catch (ExpressionEvaluationFailed ex) { ErrorVariableInformation error = NatvisErrorUtils.LogAndGetExpandChildrenValidationError( Optional ? NatvisLoggingLevel.WARNING : NatvisLoggingLevel.ERROR, _logger, VisualizerName, _variable?.TypeName, ex.Message); _hasEvaluationError = true; if (_lastIndex != 0 || !Optional) { _store.SaveVariable(_lastIndex, error); _lastIndex++; } } }