function report(
			node,
			startOffset,
			character,
			disableEscapeBackslashSuggest,
		) {
			const rangeStart = node.range[0] + startOffset;
			const range = [rangeStart, rangeStart + 1];
			const start = sourceCode.getLocFromIndex(rangeStart);

			context.report({
				node,
				loc: {
					start,
					end: { line: start.line, column: start.column + 1 },
				},
				messageId: "unnecessaryEscape",
				data: { character },
				suggest: [
					{
						// Removing unnecessary `\` characters in a directive is not guaranteed to maintain functionality.
						messageId: astUtils.isDirective(node.parent)
							? "removeEscapeDoNotKeepSemantics"
							: "removeEscape",
						fix(fixer) {
							return fixer.removeRange(range);
						},
					},
					...(disableEscapeBackslashSuggest
						? []
						: [
								{
									messageId: "escapeBackslash",
									fix(fixer) {
										return fixer.insertTextBeforeRange(
											range,
											"\\",
										);
									},
								},
							]),
				],
			});
		}
Reports a node
@param {ASTNode} node The node to report
@param {number} startOffset The backslash's offset from the start of the node
@param {string} character The uselessly escaped character (not including the backslash)
@param {boolean} [disableEscapeBackslashSuggest] `true` if escapeBackslash suggestion should be turned off.
@returns {void}