private DkmEvaluationResult GetRow( ResultProvider resultProvider, DkmInspectionContext inspectionContext, DkmClrValue value, int index, EvalResultDataItem parent) { var indices = GetIndices(index); var formatter = resultProvider.Formatter; var name = formatter.GetArrayIndexExpression(indices); var elementType = value.Type.ElementType; var element = value.GetArrayElement(indices); var fullName = GetFullName(parent, name, formatter); var dataItem = resultProvider.CreateDataItem( inspectionContext, name, typeDeclaringMember: null, declaredType: elementType.GetLmrType(), value: element, parent: parent, expansionFlags: ExpansionFlags.IncludeBaseMembers, childShouldParenthesize: false, fullName: fullName, formatSpecifiers: Formatter.NoFormatSpecifiers, category: DkmEvaluationResultCategory.Other, flags: element.EvalFlags, evalFlags: inspectionContext.EvaluationFlags); return(resultProvider.GetResult(dataItem, element.Type, elementType, parent)); }
private static DkmEvaluationResult GetMemberRow( ResultProvider resultProvider, DkmInspectionContext inspectionContext, DkmClrValue value, MemberAndDeclarationInfo member, EvalResultDataItem parent) { var memberValue = GetMemberValue(value, member); var dataItem = CreateMemberDataItem( resultProvider, inspectionContext, member, memberValue, parent, ExpansionFlags.All); return(resultProvider.GetResult( dataItem, memberValue.Type, DkmClrType.Create(memberValue.Type.AppDomain, member.Type), parent)); }
private DkmEvaluationResult GetRow( ResultProvider resultProvider, DkmInspectionContext inspectionContext, DkmClrValue value, int index, EvalResultDataItem parent) { var indices = GetIndices(index); var formatter = resultProvider.Formatter; var name = formatter.GetArrayIndexExpression(indices); var elementType = value.Type.ElementType; var element = value.GetArrayElement(indices); var fullName = GetFullName(parent, name, formatter); var dataItem = resultProvider.CreateDataItem( inspectionContext, name, typeDeclaringMember: null, declaredType: elementType.GetLmrType(), value: element, parent: parent, expansionFlags: ExpansionFlags.IncludeBaseMembers, childShouldParenthesize: false, fullName: fullName, formatSpecifiers: Formatter.NoFormatSpecifiers, category: DkmEvaluationResultCategory.Other, flags: element.EvalFlags, evalFlags: inspectionContext.EvaluationFlags); return resultProvider.GetResult(dataItem, element.Type, elementType, parent); }