Пример #1
0
 public IIntermediateForestNode AddOrGetExistingIntermediateNode(IState trigger, int origin, int location)
 {
     var hash = trigger.GetHashCode();
     IIntermediateForestNode intermediateNode = null;
     if (_intermediateNodes.TryGetValue(hash, out intermediateNode))
         return intermediateNode;
     intermediateNode = new IntermediateForestNode(trigger, origin, location);
     _intermediateNodes.Add(hash, intermediateNode);
     return intermediateNode;
 }
Пример #2
0
        public IIntermediateForestNode AddOrGetExistingIntermediateNode(DottedRule dottedRule, int origin, int location)
        {
            var key = (dottedRule, origin, location);

            if (this._intermediateNodes.TryGetValue(key, out var intermediateNode))
            {
                return(intermediateNode);
            }

            intermediateNode = new IntermediateForestNode(dottedRule, origin, location);
            this._intermediateNodes.Add(key, intermediateNode);
            return(intermediateNode);
        }
Пример #3
0
        public IIntermediateForestNode AddOrGetExistingIntermediateNode(IDottedRule dottedRule, int origin, int location)
        {
            int hash = ComputeHashCode(dottedRule, origin, location);

            if (_intermediateNodes.TryGetValue(hash, out IIntermediateForestNode intermediateNode))
            {
                return(intermediateNode);
            }

            intermediateNode = new IntermediateForestNode(dottedRule, origin, location);
            _intermediateNodes.Add(hash, intermediateNode);
            return(intermediateNode);
        }
Пример #4
0
        public IIntermediateForestNode AddOrGetExistingIntermediateNode(IState trigger, int origin, int location)
        {
            var hash = trigger.GetHashCode();
            IIntermediateForestNode intermediateNode = null;

            if (_intermediateNodes.TryGetValue(hash, out intermediateNode))
            {
                return(intermediateNode);
            }
            intermediateNode = new IntermediateForestNode(trigger, origin, location);
            _intermediateNodes.Add(hash, intermediateNode);
            return(intermediateNode);
        }