/// <summary> /// Makes a generic method parameter /// </summary> /// <param name="position">Position</param> /// <param name="declaringMethod">Declaring method</param> /// <param name="name">Name</param> /// <param name="attributes">Attributes</param> /// <param name="customModifiers">Custom modifiers or null</param> /// <param name="options">Options</param> /// <returns></returns> public abstract DmdType MakeGenericMethodParameter(int position, DmdMethodBase declaringMethod, string name, DmdGenericParameterAttributes attributes, IList <DmdCustomModifier> customModifiers, MakeTypeOptions options = MakeTypeOptions.None);
/// <summary> /// Makes a function pointer type /// </summary> /// <param name="methodSignature">Method signature</param> /// <param name="customModifiers">Custom modifiers or null</param> /// <param name="options">Options</param> /// <returns></returns> public abstract DmdType MakeFunctionPointerType(DmdMethodSignature methodSignature, IList <DmdCustomModifier> customModifiers, MakeTypeOptions options = MakeTypeOptions.None);
/// <summary> /// Makes a function pointer type /// </summary> /// <param name="flags">Flags</param> /// <param name="genericParameterCount">Number of generic parameters</param> /// <param name="returnType">Return type</param> /// <param name="parameterTypes">Parameter types</param> /// <param name="varArgsParameterTypes">VarArgs parameter types</param> /// <param name="customModifiers">Custom modifiers or null</param> /// <param name="options">Options</param> /// <returns></returns> public abstract DmdType MakeFunctionPointerType(DmdSignatureCallingConvention flags, int genericParameterCount, DmdType returnType, IList <DmdType> parameterTypes, IList <DmdType> varArgsParameterTypes, IList <DmdCustomModifier> customModifiers, MakeTypeOptions options = MakeTypeOptions.None);
/// <summary> /// Makes a generic method /// </summary> /// <param name="genericMethodDefinition">Generic method definition</param> /// <param name="typeArguments">Generic arguments</param> /// <param name="options">Options</param> /// <returns></returns> public abstract DmdMethodInfo MakeGenericMethod(DmdMethodInfo genericMethodDefinition, IList <DmdType> typeArguments, MakeTypeOptions options = MakeTypeOptions.None);
/// <summary> /// Makes a generic type /// </summary> /// <param name="genericTypeDefinition">Generic type definition</param> /// <param name="typeArguments">Generic arguments</param> /// <param name="customModifiers">Custom modifiers or null</param> /// <param name="options">Options</param> /// <returns></returns> public abstract DmdType MakeGenericType(DmdType genericTypeDefinition, IList <DmdType> typeArguments, IList <DmdCustomModifier> customModifiers, MakeTypeOptions options = MakeTypeOptions.None);
/// <summary> /// Makes a multi-dimensional array type /// </summary> /// <param name="elementType">Element type</param> /// <param name="rank">Number of dimensions</param> /// <param name="sizes">Sizes</param> /// <param name="lowerBounds">Lower bounds</param> /// <param name="customModifiers">Custom modifiers or null</param> /// <param name="options">Options</param> /// <returns></returns> public abstract DmdType MakeArrayType(DmdType elementType, int rank, IList <int> sizes, IList <int> lowerBounds, IList <DmdCustomModifier> customModifiers, MakeTypeOptions options = MakeTypeOptions.None);
/// <summary> /// Makes a SZ array type /// </summary> /// <param name="elementType">Element type</param> /// <param name="customModifiers">Custom modifiers or null</param> /// <param name="options">Options</param> /// <returns></returns> public abstract DmdType MakeArrayType(DmdType elementType, IList <DmdCustomModifier> customModifiers, MakeTypeOptions options = MakeTypeOptions.None);
#pragma warning restore 1591 // Missing XML comment for publicly visible type or member /// <summary> /// Returns a cached type if present else the input type /// </summary> /// <param name="type">Type</param> /// <param name="options">Options</param> /// <returns></returns> public abstract DmdType Intern(DmdType type, MakeTypeOptions options = MakeTypeOptions.None);