public ExprDotNodeForgeRootChild( ExprDotNodeImpl parent, FilterExprAnalyzerAffector filterExprAnalyzerAffector, int? streamNumReferenced, string rootPropertyName, bool hasEnumerationMethod, ExprForge rootNodeForge, ExprEnumerationForge rootLambdaEvaluator, EPType typeInfo, ExprDotForge[] forgesIteratorEventBean, ExprDotForge[] forgesUnpacking, bool checkedUnpackEvent) { Parent = parent; FilterExprAnalyzerAffector = filterExprAnalyzerAffector; StreamNumReferenced = streamNumReferenced; RootPropertyName = rootPropertyName; if (rootLambdaEvaluator != null) { if (typeInfo is EventMultiValuedEPType eventMultiValuedEpType) { innerForge = new InnerDotEnumerableEventCollectionForge( rootLambdaEvaluator, eventMultiValuedEpType.Component); } else if (typeInfo is EventEPType eventEpType) { innerForge = new InnerDotEnumerableEventBeanForge( rootLambdaEvaluator, eventEpType.EventType); } else { innerForge = new InnerDotEnumerableScalarCollectionForge( rootLambdaEvaluator, ((ClassMultiValuedEPType) typeInfo).Component); } } else { if (checkedUnpackEvent) { innerForge = new InnerDotScalarUnpackEventForge(rootNodeForge); } else { var returnType = rootNodeForge.EvaluationType; if (hasEnumerationMethod && returnType.IsArray) { if (returnType.GetElementType().CanNotBeNull()) { innerForge = new InnerDotArrPrimitiveToCollForge(rootNodeForge); } else { innerForge = new InnerDotArrObjectToCollForge(rootNodeForge); } } else if (hasEnumerationMethod && returnType.IsGenericCollection()) { innerForge = new InnerDotCollForge(rootNodeForge); } else { innerForge = new InnerDotScalarForge(rootNodeForge); } } } this.forgesUnpacking = forgesUnpacking; this.forgesIteratorEventBean = forgesIteratorEventBean; }
public ExprDotNodeForgeTransposeAsStream( ExprDotNodeImpl parent, ExprForge inner) { ExprForgeRenderable = parent; this.inner = inner; }
public ExprDotNodeForgeStream( ExprDotNodeImpl parent, FilterExprAnalyzerAffector filterExprAnalyzerAffector, int streamNumber, EventType eventType, ExprDotForge[] evaluators, bool method) { this.parent = parent; FilterExprAnalyzerAffector = filterExprAnalyzerAffector; StreamNumber = streamNumber; EventType = eventType; Evaluators = evaluators; this.method = method; var last = evaluators[evaluators.Length - 1]; if (!method) { if (last.TypeInfo is ClassMultiValuedEPType) { EvaluationType = EPTypeHelper.GetClassMultiValuedContainer(last.TypeInfo).GetBoxedType(); } else { EvaluationType = EPTypeHelper.GetClassSingleValued(last.TypeInfo).GetBoxedType(); } } else { EvaluationType = EPTypeHelper.GetNormalizedClass(last.TypeInfo).GetBoxedType(); } }
public ExprDotNodeAggregationMethodForgeLocal( ExprDotNodeImpl parent, string aggregationMethodName, ExprNode[] parameters, AggregationPortableValidation validation, ExprAggMultiFunctionNode agg) : base(parent, aggregationMethodName, parameters, validation) { this.agg = agg; }
public ExprDotNodeForgeVariable( ExprDotNodeImpl parent, VariableMetaData variable, ExprDotStaticMethodWrap resultWrapLambda, ExprDotForge[] chainForge) { ExprForgeRenderable = parent; Variable = variable; ResultWrapLambda = resultWrapLambda; ChainForge = chainForge; }
public ExprDotNodeAggregationMethodForge( ExprDotNodeImpl parent, string aggregationMethodName, ExprNode[] parameters, AggregationPortableValidation validation) { this.parent = parent; this.aggregationMethodName = aggregationMethodName; this.parameters = parameters; this.validation = validation; }
public ExprDotNodeAggregationMethodForgeTableReset( ExprDotNodeImpl parent, string aggregationMethodName, ExprNode[] parameters, AggregationPortableValidation validation, ExprTableIdentNode identNode, TableMetadataColumnAggregation column) : base(parent, aggregationMethodName, parameters, validation) { this.identNode = identNode; this.column = column; }
public ExprDotNodeAggregationMethodForgeTableAccess( ExprDotNodeImpl parent, string aggregationMethodName, ExprNode[] parameters, AggregationPortableValidation validation, ExprTableAccessNodeSubprop subprop, TableMetadataColumnAggregation column) : base(parent, aggregationMethodName, parameters, validation) { this.subprop = subprop; this.column = column; }
internal ExprDotNodeForgePropertyExpr( ExprDotNodeImpl parent, string statementName, string propertyName, int streamNum, ExprForge exprForge, Type propertyType, EventPropertyGetterIndexedSPI indexedGetter, EventPropertyGetterMappedSPI mappedGetter) { Parent = parent; this.statementName = statementName; this.propertyName = propertyName; StreamNum = streamNum; ExprForge = exprForge; EvaluationType = propertyType; IndexedGetter = indexedGetter; MappedGetter = mappedGetter; }