protected void AnalyArgLambda(ZMethodDesc zdesc) { //ZMethodDesc zdesc = SearchedMethod.ZDesces[0]; for (int i = 0; i < ExpProcDesc.Args.Count; i++) { ZMethodArg procArg = zdesc.Args[i]; if (procArg is ZMethodNormalArg) { ZMethodNormalArg znarg = (procArg as ZMethodNormalArg); if (ZLambda.IsFn(znarg.ArgZType.SharpType)) { ZCallArg expArg = ExpProcDesc.Args[i]; Exp exp = expArg.Data as Exp; ExpNewLambda newLambdaExp = new ExpNewLambda(exp, znarg.ArgZType); newLambdaExp.SetContext(this.ExpContext); expArg.Data = newLambdaExp; newLambdaExp.Analy(); } } } }
protected void AnalyArgLambda() { if (!ToExp.AnalyCorrect) { return; } if (ToExp.RetType == null) { return; } if (ZTypeUtil.IsFn(ToExp.RetType)) { ExpNewLambda newLambdaExp = new ExpNewLambda(this.ExpContext, ValueExp, ToExp.RetType); //newLambdaExp.SetContext(this.ExpContext); Exp exp2 = newLambdaExp.Analy(); NewValueExp = exp2; } else { NewValueExp = ValueExp; } }