|
Lines 1-5
Link Here
|
| 1 |
/*eslint-env amd */ |
1 |
/*eslint-env amd */ |
| 2 |
define(function(module) { |
2 |
define([ |
|
|
3 |
'estraverse/estraverse', |
| 4 |
'module' |
| 5 |
], function(Estraverse, module) { |
| 3 |
//------------------------------------------------------------------------------ |
6 |
//------------------------------------------------------------------------------ |
| 4 |
// Rule Definition |
7 |
// Rule Definition |
| 5 |
//------------------------------------------------------------------------------ |
8 |
//------------------------------------------------------------------------------ |
|
Lines 74-83
define(function(module) {
Link Here
|
| 74 |
return /^(?:Assignment|Call|New|Update|Yield)Expression$/.test(node.type) || |
77 |
return /^(?:Assignment|Call|New|Update|Yield)Expression$/.test(node.type) || |
| 75 |
(node.type === "UnaryExpression" && ["delete", "void"].indexOf(node.operator) >= 0); |
78 |
(node.type === "UnaryExpression" && ["delete", "void"].indexOf(node.operator) >= 0); |
| 76 |
} |
79 |
} |
|
|
80 |
|
| 81 |
function isRecoveredNode(currentNode) { |
| 82 |
var result = false; |
| 77 |
|
83 |
|
|
|
84 |
Estraverse.traverse(currentNode, { |
| 85 |
/** |
| 86 |
* @callback |
| 87 |
*/ |
| 88 |
enter: function(node, parent) { |
| 89 |
if (node.range && node.range[0] === node.range[1]) { |
| 90 |
result = true; |
| 91 |
return Estraverse.VisitorOption.Break; |
| 92 |
} |
| 93 |
} |
| 94 |
}); |
| 95 |
|
| 96 |
return result; |
| 97 |
} |
| 78 |
return { |
98 |
return { |
| 79 |
"ExpressionStatement": function(node) { |
99 |
"ExpressionStatement": function(node) { |
| 80 |
if (!isValidExpression(node.expression) && !isDirective(node, context.getAncestors())) { |
100 |
if (!isValidExpression(node.expression) |
|
|
101 |
&& !isDirective(node, context.getAncestors()) |
| 102 |
&& !isRecoveredNode(node.expression)) { |
| 81 |
context.report(node, "Expected an assignment or function call and instead saw an expression."); |
103 |
context.report(node, "Expected an assignment or function call and instead saw an expression."); |
| 82 |
} |
104 |
} |
| 83 |
} |
105 |
} |