/// <summary>
        /// エラーならnullを返す。
        /// </summary>
        public static UserDefinedMethodTerm Create(FunctionLabelLine targetLabel, IOperandTerm[] srcArgs, out string errMes)
        {
            CalledFunction call             = CalledFunction.CreateCalledFunctionMethod(targetLabel, targetLabel.LabelName);
            UserDefinedFunctionArgument arg = call.ConvertArg(srcArgs, out errMes);

            if (arg == null)
            {
                return(null);
            }
            return(new UserDefinedMethodTerm(arg, call.TopLabel.MethodType, call));
        }
示例#2
0
 private UserDefinedMethodTerm(UserDefinedFunctionArgument arg, Type returnType, CalledFunction call)
     : base(returnType)
 {
     Argument = arg;
     Call     = call;
 }