示例#1
0
        /// <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));
        }
示例#2
0
        /// <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));
        }