Exemple #1
0
        internal ArgumentSymbol AddParam(string name, TypeSymbol type, bool first = false)
        {
            var arg = new ArgumentSymbol(name, type, first ? 0 : Args.Count);

            if (first)
            {
                for (int i = 0; i < Args.Count; i++)
                {
                    Args[i].Index += 1;
                }
                Args.Insert(0, arg);
            }
            else
            {
                Args.Add(arg);
            }
            if (!string.IsNullOrEmpty(name))
            {
                if (LocalCache.ContainsKey(name))
                {
                    return(null);
                }
                LocalCache.Add(name, arg);
            }
            return(arg);
        }
Exemple #2
0
        internal ArgumentSymbol AddParam(string name, TypeSymbol type)
        {
            var arg = new ArgumentSymbol(name, type, Args.Count);

            Args.Add(arg);
            if (!string.IsNullOrEmpty(name))
            {
                LocalCache.Add(name, arg);
            }
            return(arg);
        }