Example #1
0
        private ExecutionPath(IEnumerable <IExpression> path)
        {
#if DEBUG
            this.DebugId = new DebugId(this.GetType());
#endif
            this.path = path.StoreReadOnly();
        }
Example #2
0
        protected EntityInstanceSet(IEnumerable <IEntityInstance> instances)
        {
#if DEBUG
            DebugId = new DebugId(this.GetType());
#endif

            // we won't match against jokers here so we can use reference comparison
            // since all entity instances are singletons
            this.elements   = instances.ToHashSet(EntityInstance.ComparerI);
            this.NameOf     = NameReferenceUnion.Create(this.elements.Select(it => it.NameOf));
            this.PureNameOf = NameReferenceUnion.Create(this.elements.Select(it => it.PureNameOf));
            if (this.elements.Count <= 1)
            {
                throw new ArgumentOutOfRangeException();
            }

            foreach (IEntityInstance elem in elements)
            {
                this.Lifetime = elem.Lifetime.Shorter(this.Lifetime);
            }
        }
Example #3
0
        protected Node()
        {
#if DEBUG
            DebugId = new DebugId(this.GetType());
#endif
        }