public HashSet<GeneratorNode> spawn(OperatorV op) { HashSet<GeneratorNode> spawnedSet, outSet = new HashSet<GeneratorNode>(); // Do for left node GeneratorNode wn = new GeneratorNode(this); Operator o2 = op.getLeftOperand(); wn.addToGamma(o2); o2 = op.getRightOperand(); wn.addToGamma(o2); spawnedSet = wn.spawn(); if (spawnedSet != null) { foreach (GeneratorNode gn in spawnedSet) { outSet.Add(gn); } } // Do for right node wn = new GeneratorNode(this); o2 = op.getRightOperand(); wn.addToGamma(o2); wn.addToDelta(op); spawnedSet = wn.spawn(); if (spawnedSet != null) { foreach (GeneratorNode gn in spawnedSet) { outSet.Add(gn); } } return outSet; }
public HashSet<GeneratorNode> spawn(OperatorX op) { HashSet<GeneratorNode> spawnedSet, outSet = new HashSet<GeneratorNode>(); GeneratorNode wn = new GeneratorNode(this); Operator o2 = op.getOperand(); wn.addToDelta(o2); spawnedSet = wn.spawn(); if (spawnedSet != null) { foreach (GeneratorNode gn in spawnedSet) { outSet.Add(gn); } } return outSet; }