Example #1
0
        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);
            }
        }
Example #2
0
        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}'");
            }
        }