 
     private var constrainCount:Dictionary;
 
-    private var regs:Registers;
+    private var registers:Vector.<Number>;
 
     private var virtualMeasureProgram:Vector.<ASTNode>;
     private var measureProgram:Vector.<ASTNode>;

        }
        filterProgramInPlace(copy, filter);
        return copy;
    }
}


class Registers
{
    public var regv:Vector.<Number>;

    public function Registers()
    {
        regv = new Vector.<Number>();
    }

    public function nextFreeIndex():uint
    {
        regv.push(0);
        return regv.length - 1;
    }
}



        var nodeFactory:NodeFactory = getNodeFactory(constraintType);

        var regIndex:uint = allocateRegister();
        var measureNode:ASTNode = nodeFactory.measure(target, targetVirtualProp, relative, relativeVirtualProp);
        var storeNode:ASTNode = new SetRegister(registers, regIndex, measureNode);
        var calculateNode:ASTNode = nodeFactory.calculate(regIndex, relative, relativeVirtualProp);

        virtualMeasureProgram.push(storeNode);
