(contextNode, name)
| 46619 | return ts.isIdentifier(node) && (node.escapedText === "eval" || node.escapedText === "arguments"); |
| 46620 | } |
| 46621 | function checkStrictModeEvalOrArguments(contextNode, name) { |
| 46622 | if (name && name.kind === 79 /* SyntaxKind.Identifier */) { |
| 46623 | var identifier = name; |
| 46624 | if (isEvalOrArgumentsIdentifier(identifier)) { |
| 46625 | // We check first if the name is inside class declaration or class expression; if so give explicit message |
| 46626 | // otherwise report generic error message. |
| 46627 | var span = ts.getErrorSpanForNode(file, name); |
| 46628 | file.bindDiagnostics.push(ts.createFileDiagnostic(file, span.start, span.length, getStrictModeEvalOrArgumentsMessage(contextNode), ts.idText(identifier))); |
| 46629 | } |
| 46630 | } |
| 46631 | } |
| 46632 | function getStrictModeEvalOrArgumentsMessage(node) { |
| 46633 | // Provide specialized messages to help the user understand why we think they're in |
| 46634 | // strict mode. |
no test coverage detected