function report(node) {
			const parent = node.parent;
			const locationNode =
				node.type === "MemberExpression" ? node.property : node;

			const reportNode =
				parent.type === "CallExpression" && parent.callee === node
					? parent
					: node;

			context.report({
				node: reportNode,
				loc: locationNode.loc,
				messageId: "unexpected",
			});
		}
Reports a given node.

`node` is `Identifier` or `MemberExpression`.
The parent of `node` might be `CallExpression`.

The location of the report is always `eval` `Identifier` (or possibly
`Literal`). The type of the report is `CallExpression` if the parent is
`CallExpression`. Otherwise, it's the given node type.
@param {ASTNode} node A node to report.
@returns {void}