function groupArrayByLineNumber(arr) {
			const obj = {};

			for (let i = 0; i < arr.length; i++) {
				const node = arr[i];

				for (let j = node.loc.start.line; j <= node.loc.end.line; ++j) {
					ensureArrayAndPush(obj, j, node);
				}
			}
			return obj;
		}
reduce an array of AST nodes by line number, both start and end.
@param {ASTNode[]} arr array of AST nodes
@returns {Object} accululated AST nodes