         }
         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;
     }
 }
 

        }
    }

    private function incrementConstraint(target:Object):void
    {
        var count:int = constrainCount[target];


        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);
