private ExecutionPath(IEnumerable <IExpression> path) { #if DEBUG this.DebugId = new DebugId(this.GetType()); #endif this.path = path.StoreReadOnly(); }
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); } }
protected Node() { #if DEBUG DebugId = new DebugId(this.GetType()); #endif }