--- /dev/null
+/* @flow */
+"use strict";
+
+const _ = require("lodash");
+const getNextNonSharedLineCommentNode = require("./getNextNonSharedLineCommentNode");
+const getPreviousNonSharedLineCommentNode = require("./getPreviousNonSharedLineCommentNode");
+
+function nodesShareLines(a, b) {
+ return _.get(a, "source.end.line") === _.get(b, "source.start.line");
+}
+
+module.exports = function isSharedLineComment(
+ node /*: postcss$node*/
+) /*: boolean*/ {
+ if (node.type !== "comment") {
+ return false;
+ }
+
+ const previousNonSharedLineCommentNode = getPreviousNonSharedLineCommentNode(
+ node
+ );
+ if (nodesShareLines(previousNonSharedLineCommentNode, node)) {
+ return true;
+ }
+
+ const nextNonSharedLineCommentNode = getNextNonSharedLineCommentNode(node);
+ if (nodesShareLines(node, nextNonSharedLineCommentNode)) {
+ return true;
+ }
+
+ const parentNode = node.parent;
+ if (
+ parentNode !== undefined &&
+ parentNode.type !== "root" &&
+ parentNode.source.start.line === node.source.start.line
+ ) {
+ return true;
+ }
+
+ return false;
+};