private IMidMemberRef EmitMemberTermImpl(ResMemberGenericApp resApp, MidEmitEnv env) { var fun = EmitMemberTerm(resApp.Fun.MemberTerm, env); var argEnv = new MidGenericArgEmitEnv(env); var args = resApp.Args.Zip(resApp.Fun.Parameters, (a, p) => EmitGenericArg(a, p, argEnv)).Eager(); return(fun.GenericApp(args)); }
private void BindForMemberTermImpl( ResMemberGenericApp genericApp, MidEmitEnv env) { BindForMemberTerm(genericApp.Fun.MemberTerm, env); foreach (var pair in genericApp.Args.Zip(genericApp.Fun.Parameters, Tuple.Create)) { EmitGenericArg(pair.Item1, pair.Item2, env); } }