Example #1
0
        } // Read

        public static uint Read(this NativeReader reader, uint offset, out ArraySignatureHandle handle)
        {
            uint value;

            offset = reader.DecodeUnsigned(offset, out value);
            handle = new ArraySignatureHandle((int)value);
            handle._Validate();
            return(offset);
        } // Read
Example #2
0
        public static string GetFullName(this ArraySignatureHandle handle, MetadataReader reader)
        {
            ArraySignature array  = handle.GetArraySignature(reader);
            var            result = array.ElementType.GetFullName(reader);

            if (result == null)
            {
                return(null);
            }
            return(result + "[" + (new string(',', array.Rank - 1)) + "]");
        }
Example #3
0
        /// <summary>
        /// Emit multi-dimensional array type.
        /// </summary>
        /// <param name="arraySigHandle">Multi-dimensional array type specification signature handle</param>
        /// <param name="namespaceQualified">When set to true, include namespace information</param>
        private void EmitArrayTypeName(ArraySignatureHandle arraySigHandle, bool namespaceQualified)
        {
            ArraySignature arraySig = _metadataReader.GetArraySignature(arraySigHandle);

            EmitTypeName(arraySig.ElementType, namespaceQualified);
            _outputBuilder.Append('[');
            if (arraySig.Rank > 1)
            {
                _outputBuilder.Append(',', arraySig.Rank - 1);
            }
            else
            {
                _outputBuilder.Append('*');
            }
            _outputBuilder.Append(']');
        }