Ejemplo n.º 1
0
    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;
    }