private DkmEvaluationResult CreateEvaluationResult(string name, EvalResultDataItem parent, Formatter formatter) { var proxyType = _proxyValue.Type.GetLmrType(); string fullName; ReadOnlyCollection <string> formatSpecifiers; bool childShouldParenthesize; if (parent == null) { Debug.Assert(name != null); fullName = formatter.TrimAndGetFormatSpecifiers(name, out formatSpecifiers); childShouldParenthesize = formatter.NeedsParentheses(fullName); } else { fullName = parent.ChildFullNamePrefix; formatSpecifiers = parent.FormatSpecifiers; childShouldParenthesize = false; } var childFullNamePrefix = (fullName == null) ? null : formatter.GetObjectCreationExpression(formatter.GetTypeName(proxyType, escapeKeywordIdentifiers: true), fullName); var dataItem = new EvalResultDataItem( name: name, typeDeclaringMember: null, declaredType: proxyType, value: _proxyValue, expansion: _proxyMembers, childShouldParenthesize: childShouldParenthesize, fullName: fullName, childFullNamePrefixOpt: childFullNamePrefix, formatSpecifiers: Formatter.AddFormatSpecifier(formatSpecifiers, "results"), category: DkmEvaluationResultCategory.Method, flags: DkmEvaluationResultFlags.ReadOnly, editableValue: null); return(ResultProvider.CreateEvaluationResult( value: _proxyValue, name: name, typeName: string.Empty, display: Resources.ResultsViewValueWarning, dataItem: dataItem)); }
private DkmEvaluationResult CreateEvaluationResult(string name, EvalResultDataItem parent, Formatter formatter) { var proxyType = _proxyValue.Type.GetLmrType(); string fullName; ReadOnlyCollection<string> formatSpecifiers; bool childShouldParenthesize; if (parent == null) { Debug.Assert(name != null); fullName = formatter.TrimAndGetFormatSpecifiers(name, out formatSpecifiers); childShouldParenthesize = formatter.NeedsParentheses(fullName); } else { fullName = parent.ChildFullNamePrefix; formatSpecifiers = parent.FormatSpecifiers; childShouldParenthesize = false; } var childFullNamePrefix = (fullName == null) ? null : formatter.GetObjectCreationExpression(formatter.GetTypeName(proxyType, escapeKeywordIdentifiers: true), fullName); var dataItem = new EvalResultDataItem( name: name, typeDeclaringMember: null, declaredType: proxyType, value: _proxyValue, expansion: _proxyMembers, childShouldParenthesize: childShouldParenthesize, fullName: fullName, childFullNamePrefixOpt: childFullNamePrefix, formatSpecifiers: Formatter.AddFormatSpecifier(formatSpecifiers, "results"), category: DkmEvaluationResultCategory.Method, flags: DkmEvaluationResultFlags.ReadOnly, editableValue: null); return ResultProvider.CreateEvaluationResult( value: _proxyValue, name: name, typeName: string.Empty, display: Resources.ResultsViewValueWarning, dataItem: dataItem); }