public void SortRollupCodegen( CodegenMethod method, CodegenClassScope classScope, CodegenNamedMethods namedMethods) { if (OrderByRollup == null) { method.Block.MethodThrowUnsupported(); return; } OrderByProcessorImpl.SortRollupCodegen(this, method, classScope, namedMethods); }
public static void SortRollupCodegen( OrderByProcessorOrderedLimitForge forge, CodegenMethod method, CodegenClassScope classScope, CodegenNamedMethods namedMethods) { var sortRollup = method.MakeChild(typeof(EventBean[]), typeof(OrderByProcessorOrderedLimit), classScope) .AddParam(SORTROLLUP_PARAMS); OrderByProcessorImpl.SortRollupCodegen(forge.OrderByProcessorForge, sortRollup, classScope, namedMethods); method.Block.DeclareVar<EventBean[]>( "sorted", LocalMethod( sortRollup, REF_OUTGOINGEVENTS, REF_ORDERCURRENTGENERATORS, ExprForgeCodegenNames.REF_ISNEWDATA, MEMBER_AGENTINSTANCECONTEXT, MEMBER_AGGREGATIONSVC)) .MethodReturn(ExprDotMethod(REF_ROWLIMITPROCESSOR, "DetermineLimitAndApply", Ref("sorted"))); }