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); }
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); }