private void extendCallSink(ExtensionSinkPoint point, FlowOutputSet inSet) { inSet.StartTransaction(); inSet.Extend(point.OwningExtension.Owner.OutSet); //Services.FlowResolver.CallDispatchMerge(_inSet, OwningExtension.Branches); inSet.CommitTransaction(); }
/// <summary> /// Extends the input. /// </summary> protected virtual void extendInput() { var inputs = getInputsForExtension(); if (inputs.Length > 0) { _inSet.StartTransaction(); _inSet.Extend(inputs.ToArray()); _inSet.CommitTransaction(); } }
private void extendCallExtension(ExtensionPoint point, FlowOutputSet inSet) { inSet.StartTransaction(); if (point.Type == ExtensionType.ParallelCall) { inSet.ExtendAsCall(point.Caller.OutSet, point.Graph, point.Flow.CalledObject, point.Flow.Arguments); } else { inSet.Extend(point.Caller.OutSet); } inSet.CommitTransaction(); }
private void standardExtend(IEnumerable <ProgramPointBase> inputs, FlowOutputSet inSet) { var inputSets = new List <FlowInputSet>(); foreach (var input in inputs) { var outSet = GetOutSet(input); var assumeParent = input as AssumePoint; if (outSet == null || (assumeParent != null && !assumeParent.Assumed)) { continue; } inputSets.Add(outSet); } inSet.StartTransaction(); inSet.Extend(inputSets.ToArray()); inSet.CommitTransaction(); }
/// <summary> /// Extends the output. /// </summary> protected virtual void extendOutput() { _outSet.StartTransaction(); _outSet.Extend(_inSet); }