Beispiel #1
0
 internal override void GetRows(
     ResultProvider resultProvider,
     ArrayBuilder<EvalResult> rows,
     DkmInspectionContext inspectionContext,
     EvalResultDataItem parent,
     DkmClrValue value,
     int startIndex,
     int count,
     bool visitAll,
     ref int index)
 {
     var memberValue = value.GetMemberValue(_member, inspectionContext);
     var isDynamicDebugViewEmptyException = memberValue.Type.GetLmrType().IsDynamicDebugViewEmptyException();
     if (isDynamicDebugViewEmptyException || memberValue.IsError())
     {
         if (InRange(startIndex, count, index))
         {
             if (isDynamicDebugViewEmptyException)
             {
                 var emptyMember = memberValue.Type.GetMemberByName("Empty");
                 memberValue = memberValue.GetMemberValue(emptyMember, inspectionContext);
             }
             var row = new EvalResult(Resources.ErrorName, (string)memberValue.HostObjectValue, inspectionContext);
             rows.Add(row);
         }
         index++;
     }
     else
     {
         var other = MemberExpansion.CreateMemberDataItem(
             resultProvider,
             inspectionContext,
             _member,
             memberValue,
             parent,
             _dynamicFlagsMap,
             ExpansionFlags.IncludeBaseMembers | ExpansionFlags.IncludeResultsView);
         var expansion = other.Expansion;
         if (expansion != null)
         {
             expansion.GetRows(resultProvider, rows, inspectionContext, other.ToDataItem(), other.Value, startIndex, count, visitAll, ref index);
         }
     }
 }
Beispiel #2
0
 private static EvalResultDataItem GetMemberRow(
     ResultProvider resultProvider,
     DkmInspectionContext inspectionContext,
     DkmClrValue value,
     MemberAndDeclarationInfo member,
     EvalResultDataItem parent,
     DynamicFlagsMap dynamicFlagsMap)
 {
     var memberValue = value.GetMemberValue(member, inspectionContext);
     return CreateMemberDataItem(
         resultProvider,
         inspectionContext,
         member,
         memberValue,
         parent,
         dynamicFlagsMap,
         ExpansionFlags.All);
 }
Beispiel #3
0
 private static EvalResult GetMemberRow(
     ResultProvider resultProvider,
     DkmInspectionContext inspectionContext,
     DkmClrValue value,
     MemberAndDeclarationInfo member,
     EvalResultDataItem parent,
     CustomTypeInfoTypeArgumentMap customTypeInfoMap)
 {
     var memberValue = value.GetMemberValue(member, inspectionContext);
     return CreateMemberDataItem(
         resultProvider,
         inspectionContext,
         member,
         memberValue,
         parent,
         customTypeInfoMap,
         ExpansionFlags.All);
 }
 private static DkmClrValue GetMemberValue(DkmClrValue container, MemberAndDeclarationInfo member, DkmInspectionContext inspectionContext)
 {
     // Note: GetMemberValue() may return special value
     // when func-eval of properties is disabled.
     return container.GetMemberValue(member.Name, (int)member.MemberType, member.DeclaringType.FullName, inspectionContext);
 }