/// <summary> /// Return a copy of the custom type info with the leading dynamic flag removed. /// There are no changes to tuple element names since this is used for walking /// into an array element type only which does not affect tuple element names. /// </summary> internal static DkmClrCustomTypeInfo?SkipOne(DkmClrCustomTypeInfo customInfo) { if (customInfo == null) { return(customInfo); } Decode( customInfo.PayloadTypeId, customInfo.Payload, out var dynamicFlags, out var tupleElementNames); if (dynamicFlags == null) { return(customInfo); } return(Create(DynamicFlagsCustomTypeInfo.SkipOne(dynamicFlags), tupleElementNames)); }
/// <summary> /// Return a copy of the custom type info with the leading dynamic flag removed. /// There are no changes to tuple element names since this is used for walking /// into an array element type only which does not affect tuple element names. /// </summary> internal static DkmClrCustomTypeInfo SkipOne(DkmClrCustomTypeInfo customInfo) { if (customInfo == null) { return(customInfo); } ReadOnlyCollection <byte> dynamicFlags; ReadOnlyCollection <string> tupleElementNames; CustomTypeInfo.Decode( customInfo.PayloadTypeId, customInfo.Payload, out dynamicFlags, out tupleElementNames); if (dynamicFlags == null) { return(customInfo); } return(Create(DynamicFlagsCustomTypeInfo.SkipOne(dynamicFlags), tupleElementNames)); }