function checkForSemicolon(node) {
			const isSemi = astUtils.isSemicolonToken(
				sourceCode.getLastToken(node),
			);

			if (never) {
				if (isSemi && canRemoveSemicolon(node)) {
					report(node, true);
				} else if (
					!isSemi &&
					beforeStatementContinuationChars === "always" &&
					node.type !== "PropertyDefinition" &&
					maybeAsiHazardBefore(sourceCode.getTokenAfter(node))
				) {
					report(node);
				}
			} else {
				const oneLinerBlock =
					exceptOneLine && isLastInOneLinerBlock(node);
				const oneLinerClassBody =
					exceptOneLineClassBody && isLastInOneLinerClassBody(node);
				const oneLinerBlockOrClassBody =
					oneLinerBlock || oneLinerClassBody;

				if (isSemi && oneLinerBlockOrClassBody) {
					report(node, true);
				} else if (!isSemi && !oneLinerBlockOrClassBody) {
					report(node);
				}
			}
		}
Checks a node to see if it's followed by a semicolon.
@param {ASTNode} node The node to check.
@returns {void}