public void Add(string atomName, string expression, ExpressionContext context) { Utility.AssertNotNull(atomName, "atomName"); Utility.AssertNotNull(expression, "expression"); Utility.AssertNotNull(context, "context"); BatchLoadInfo info = new BatchLoadInfo(atomName, expression, context); _myNameInfoMap.Add(atomName, info); _myDependencies.AddTail(atomName); ICollection <string> references = this.GetReferences(expression, context); foreach (string reference in references) { _myDependencies.AddTail(reference); _myDependencies.AddDepedency(reference, atomName); } }
private void AddTemporaryHead(string headName) { GenericExpressionResultPair <int> pair = new GenericExpressionResultPair <int>(); pair.SetName(headName); if (_myNameNodeMap.ContainsKey(headName) == false) { _myDependencies.AddTail(pair); _myNameNodeMap.Add(headName, pair); } else { throw new ArgumentException($"An expression already exists at '{headName}'"); } }