MCPcopy Index your code
hub / github.com/davidgiven/luje / removeRightmost

Method removeRightmost

lib/java/util/TreeMap.java:1936–1977  ·  view source on GitHub ↗
(Node<K, V> node)

Source from the content-addressed store, hash-verified

1934 }
1935
1936 void removeRightmost(Node<K, V> node) {
1937 int index = node.right_idx;
1938 if (node.size == 1) {
1939 deleteNode(node);
1940 } else if (node.prev != null && (Node.NODE_SIZE - 1 - node.prev.right_idx) > node.size) {
1941 // move all to prev node and kill it
1942 Node<K, V> prev = node.prev;
1943 int left_idx = node.left_idx;
1944 int size = index - left_idx;
1945 System.arraycopy(node.keys, left_idx, prev.keys, prev.right_idx + 1, size);
1946 System.arraycopy(node.values, left_idx, prev.values, prev.right_idx + 1, size);
1947 prev.right_idx += size;
1948 prev.size += size;
1949 deleteNode(node);
1950 } else if (node.next != null && (node.next.left_idx) > node.size) {
1951 // move all to next node and kill it
1952 Node<K, V> next = node.next;
1953 int left_idx = node.left_idx;
1954 int size = index - left_idx;
1955 int next_new_left = next.left_idx - size;
1956 next.left_idx = next_new_left;
1957 System.arraycopy(node.keys, left_idx, next.keys, next_new_left, size);
1958 System.arraycopy(node.values, left_idx, next.values, next_new_left, size);
1959 next.size += size;
1960 deleteNode(node);
1961 } else {
1962 node.keys[index] = null;
1963 node.values[index] = null;
1964 node.right_idx--;
1965 node.size--;
1966 Node<K, V> next = node.next;
1967 if (next != null && next.size == 1) {
1968 node.size++;
1969 node.right_idx++;
1970 node.keys[node.right_idx] = next.keys[next.left_idx];
1971 node.values[node.right_idx] = next.values[next.left_idx];
1972 deleteNode(next);
1973 }
1974 }
1975 modCount++;
1976 size--;
1977 }
1978
1979 void removeMiddleElement(Node<K, V> node, int index) {
1980 // this function is called iff index if some middle element;

Callers 1

removeMethod · 0.95

Calls 2

deleteNodeMethod · 0.95
arraycopyMethod · 0.95

Tested by

no test coverage detected