private void RemoveDataflowAstNode(IDataflowAstNode dataflowAstNode) { var tupleBasicBlock = _astToBasicBlockMapping[dataflowAstNode]; _astToBasicBlockMapping.Remove(dataflowAstNode); var tupleProvider = _tupleProviderManager[dataflowAstNode]; tupleBasicBlock.Remove(tupleProvider.InlineTupleSequence); _prologueBasicBlock.Remove(tupleProvider.PrologueTupleSequence); _epilogueBasicBlock.Remove(tupleProvider.EpilogueTupleSequence); }
private void AddDataflowAstNode(IDataflowAstNode dataflowAstNode, BasicBlock <TupleSequence> tupleBasicBlock, bool preventMappingEmission) { _astToBasicBlockMapping[dataflowAstNode] = tupleBasicBlock; var tupleProvider = _tupleProviderManager[dataflowAstNode]; var singleMappedInputTupleProvider = tupleProvider as SingleMappedInputTupleProvider; if (singleMappedInputTupleProvider != null) { singleMappedInputTupleProvider.PreventMappedInputTupleEmission = preventMappingEmission; } // TODO: Do I have to account for inserts here or can we canonicalize on add-to-the-end? tupleBasicBlock.Add(tupleProvider.InlineTupleSequence); _prologueBasicBlock.Add(tupleProvider.PrologueTupleSequence); _epilogueBasicBlock.Add(tupleProvider.EpilogueTupleSequence); }
private void AddDataflowAstNode(IDataflowAstNode dataflowAstNode, BasicBlock <TupleSequence> tupleBasicBlock) { AddDataflowAstNode(dataflowAstNode, tupleBasicBlock, false); }