private static IReadOnlyList <LNode> EncodeConstrainedCall(ConstrainedCallPrototype value, EncoderState state) { return(new LNode[] { state.Encode(value.Callee) }); }
/// <summary> /// Creates an instruction that performs a constrained virtual call to /// a particular method. /// </summary> /// <param name="callee">The method to call.</param> /// <param name="thisArgument"> /// The 'this' argument for the constrained method call. /// </param> /// <param name="arguments"> /// The argument list for the constrained method call. /// </param> /// <returns> /// A constrained call instruction. /// </returns> public static Instruction CreateConstrainedCall( IMethod callee, ValueTag thisArgument, IReadOnlyList <ValueTag> arguments) { return(ConstrainedCallPrototype.Create(callee) .Instantiate(thisArgument, arguments)); }
private static ConstrainedCallPrototype DecodeConstrainedCall(IReadOnlyList <LNode> data, DecoderState state) { return(ConstrainedCallPrototype.Create( state.DecodeMethod(data[0]))); }