function isFixable(node) {
			/*
			 * Only perform a fix if there are no comments between the label and the body. This will be the case
			 * when there is exactly one token/comment (the ":") between the label and the body.
			 */
			if (
				sourceCode.getTokenAfter(node.label, {
					includeComments: true,
				}) !==
				sourceCode.getTokenBefore(node.body, { includeComments: true })
			) {
				return false;
			}

			// Looking for the node's deepest ancestor which is not a `LabeledStatement`.
			let ancestor = node.parent;

			while (ancestor.type === "LabeledStatement") {
				ancestor = ancestor.parent;
			}

			if (
				ancestor.type === "Program" ||
				(ancestor.type === "BlockStatement" &&
					astUtils.isFunction(ancestor.parent))
			) {
				const { body } = node;

				if (
					body.type === "ExpressionStatement" &&
					((body.expression.type === "Literal" &&
						typeof body.expression.value === "string") ||
						astUtils.isStaticTemplateLiteral(body.expression))
				) {
					return false; // potential directive
				}
			}
			return true;
		}
Checks if a `LabeledStatement` node is fixable.
For a node to be fixable, there must be no comments between the label and the body.
Furthermore, is must be possible to remove the label without turning the body statement into a
directive after other fixes are applied.
@param {ASTNode} node The node to evaluate.
@returns {boolean} Whether or not the node is fixable.