Пример #1
0
        public virtual FormalArgument TryGetFormalArgument(string name)
        {
            if (name == null)
            {
                throw new ArgumentNullException("name");
            }
            if (FormalArguments == null)
            {
                return(null);
            }

            return(FormalArguments.FirstOrDefault(i => i.Name == name));
        }
Пример #2
0
        /** Used by Template.Add() to Add args one by one w/o turning on full formal args definition signal */
        public virtual void AddArgument(FormalArgument a)
        {
            if (FormalArguments == null)
            {
                FormalArguments = new List <FormalArgument>();
            }

            a.Index = FormalArguments.Count;
            FormalArguments.Add(a);
            if (a.DefaultValueToken != null)
            {
                _numberOfArgsWithDefaultValues++;
            }
        }
Пример #3
0
        public override Value Eval(Environment environment)
        {
            var proc = new UserDefinedProcedure(DefinedValue, false, FormalArguments.Select(v => v.Name).ToList());

            return(new Closure(environment, proc));
        }
Пример #4
0
 public void AddArguement(Node node)
 {
     FormalArguments.Add(node);
 }