internal AggregateElement(Type resultType, string name, ExpressionCollection expressions, PatternElement source, Type customFactoryType) : base(resultType) { Name = name; Expressions = expressions; Source = source; CustomFactoryType = customFactoryType; AddImports(source); }
internal AggregateElement(Type resultType, string name, ExpressionCollection expressions, PatternElement source, Type customFactoryType) { ResultType = resultType; Name = name; Expressions = expressions; Source = source; CustomFactoryType = customFactoryType; AddImports(source); AddImports(expressions.SelectMany(x => x.Imports.Except(source.Exports))); }
internal PatternElement(Declaration declaration, ExpressionCollection expressions, RuleElement source) { Declaration = declaration; ValueType = declaration.Type; Expressions = expressions; Source = source; AddExport(declaration); AddImports(expressions); AddImports(source); }