/// <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)); }
/// <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)); }
/// <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; }
/// <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; }
protected override void ParseSignature(SignatureReader reader) { ParseModifier(reader); CustomMods = CustomMod.ParseCustomMods(reader); Type = SigType.ParseTypeSignature(reader); }