124
125
export function leftRotate(tree: PieceTreeBase, x: TreeNode) {
127
>
128
>
// fix size_left
129
>
y.size_left += x.size_left + (x.piece ? x.piece.length : 0);
130
>
y.lf_left += x.lf_left + (x.piece ? x.piece.lineFeedCnt : 0);
131
>
x.right = y.left;
132
>
133
>
if (y.left !== SENTINEL) {
134
y.left.parent = x;
135
}
137
>
if (x.parent === SENTINEL) {
138
tree.root = y;
140
x.parent.left = y;
141
} else {
142
x.parent.right = y;
143
}
145
>
x.parent = y;
146
>
}
147
148
export function rightRotate(tree: PieceTreeBase, y: TreeNode) {