public CallIndirect(System.Reflection.Metadata.SignatureCallingConvention callingConvention, IType returnType, ImmutableArray <IType> parameterTypes, IEnumerable <ILInstruction> arguments, ILInstruction functionPointer) : base(OpCode.CallIndirect) { this.CallingConvention = callingConvention; this.ReturnType = returnType ?? throw new ArgumentNullException("returnType"); this.ParameterTypes = parameterTypes.ToImmutableArray(); this.Arguments = new InstructionCollection <ILInstruction>(this, 0); this.Arguments.AddRange(arguments); this.FunctionPointer = functionPointer; }
public CallIndirect(bool isInstance, bool hasExplicitThis, System.Reflection.Metadata.SignatureCallingConvention callingConvention, IType returnType, ImmutableArray <IType> parameterTypes, ILInstruction functionPointer, IEnumerable <ILInstruction> arguments) : base(OpCode.CallIndirect) { this.IsInstance = isInstance; this.HasExplicitThis = hasExplicitThis; this.CallingConvention = callingConvention; this.ReturnType = returnType ?? throw new ArgumentNullException(nameof(returnType)); this.ParameterTypes = parameterTypes.ToImmutableArray(); this.FunctionPointer = functionPointer; this.Arguments = new InstructionCollection <ILInstruction>(this, 1); this.Arguments.AddRange(arguments); }
internal static Tuple cil_function_pointer_calling_conventions(FunctionPointerType fnptr, System.Reflection.Metadata.SignatureCallingConvention callingConvention) => new Tuple("cil_function_pointer_calling_conventions", fnptr, (int)callingConvention);