     {
         return new Multiply(
             new GetVirtualProp(relativeObject, relativeProperty),
-            new ReadOnly(new GetVector(regv, registerIndex))
+            new ReadOnly(new GetRegister(regv, registerIndex))
         );
     }
 }

    {
        return new Add(
            new GetVirtualProp(relativeObject, relativeProperty),
            new ReadOnly(new GetVector(regv, registerIndex))
        );
    }
}

    public override function filterSetRuntimePropNode(n:SetRuntimeProp):ASTNode { return new SetRuntimeProp(n.object, n.prop, n.child); }
    public override function filterGetVirtualPropNode(n:GetVirtualProp):ASTNode { return new GetVirtualProp(n.object, n.vprop); }
    public override function filterSetVirtualPropsNode(n:SetVirtualProps):ASTNode { return new SetVirtualProps(n.object, n.vprop0, n.child0, n.vprop1, n.child1); }
    public override function filterSetRegisterNode(n:SetRegister):ASTNode { return new SetRegister(n.regv, n.index, n.child); }
    public override function filterGetRegisterNode(n:GetRegister):ASTNode { return new GetRegister(n.regv, n.index); }
    public override function filterReadOnlyNode(n:ReadOnly):ASTNode { return new ReadOnly(n.child); }
    public override function filterValueNode(n:Value):ASTNode { return new Value(n.value); }
}
