Ejemplo n.º 1
0
        /// <summary>
        /// Parses the SZ array signature.
        /// </summary>
        /// <param name="reader">The reader.</param>
        /// <returns></returns>
        private static SigType ParseSZArraySignature(SignatureReader reader)
        {
            CustomMod[] customMods  = CustomMod.ParseCustomMods(reader);
            SigType     elementType = ParseTypeSignature(reader);

            return(new SZArraySigType(customMods, elementType));
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Parses the pointer.
        /// </summary>
        /// <param name="reader">The reader.</param>
        /// <returns></returns>
        private static SigType ParsePointer(SignatureReader reader)
        {
            CustomMod[] mods = CustomMod.ParseCustomMods(reader);
            SigType     type = ParseTypeSignature(reader);

            return(new PtrSigType(type, mods));
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Initializes a new instance of the <see cref="PtrSigType"/> class.
        /// </summary>
        /// <param name="type">The type.</param>
        /// <param name="customMods">The custom mods.</param>
        public PtrSigType(SigType type, CustomMod[] customMods)
            : base(CilElementType.Ptr)
        {
            if (type == null)
                throw new ArgumentNullException(@"type");

            this.customMods = customMods;
            this.elementType = type;
        }
Ejemplo n.º 4
0
 /// <summary>
 /// Initializes a new instance of the <see cref="SZArraySigType"/> class.
 /// </summary>
 /// <param name="customMods">The custom mods.</param>
 /// <param name="type">The type.</param>
 public SZArraySigType(CustomMod[] customMods, SigType type)
     : base(CilElementType.SZArray)
 {
     _customMods = customMods;
     _elementType = type;
 }
Ejemplo n.º 5
0
 protected override void ParseSignature(SignatureReader reader)
 {
     ParseModifier(reader);
     CustomMods = CustomMod.ParseCustomMods(reader);
     Type       = SigType.ParseTypeSignature(reader);
 }