コード例 #1
0
ファイル: InvokeExp.cs プロジェクト: supuy-ruby/ZCompileCore
 void analyArgLanmbda(AnalyExpContext context)
 {
     for (int i = 0; i < ExpProcDesc.ArgCount; i++)
     {
         TKTProcArg procArg = searchedProcDesc.GetArg(i);
         if (procArg.ArgType == TKTLambda.ActionType || procArg.ArgType == TKTLambda.CondtionType)
         {
             TKTProcArg   expArg       = ExpProcDesc.GetArg(i);
             Exp          exp          = expArg.Value as Exp;
             NewLambdaExp newLambdaExp = new NewLambdaExp(this, exp, procArg.ArgType);
             expArg.Value = newLambdaExp;
             newLambdaExp.Analy(context);
         }
     }
 }
コード例 #2
0
 protected void GenerateArgsExp(EmitExpContext context, TKTProcDesc expProcDesc, TKTProcDesc searchedProcDesc, int size)
 {
     for (int i = 0; i < size; i++)
     {
         var        arg     = expProcDesc.GetArg(i);
         var        exp     = (arg.Value as Exp);
         TKTProcArg procArg = searchedProcDesc.GetArg(i);
         exp.RequireType = procArg.ArgType;
         exp.Generate(context);
     }
 }