From 27675fc96e6da8dbb7d7a328def8a07c1a73e37f Mon Sep 17 00:00:00 2001 From: Oleg Mihailik Date: Sat, 25 Feb 2017 23:35:24 +0000 Subject: [PATCH] Avoid failing TS2695 for eval. --- src/compiler/checker.ts | 2 +- tests/cases/compiler/evalAfter0.ts | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 tests/cases/compiler/evalAfter0.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index ac5012a3bf..15782e1361 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -15929,7 +15929,7 @@ namespace ts { checkAssignmentOperator(rightType); return getRegularTypeOfObjectLiteral(rightType); case SyntaxKind.CommaToken: - if (!compilerOptions.allowUnreachableCode && isSideEffectFree(left)) { + if (!compilerOptions.allowUnreachableCode && isSideEffectFree(left) && right.text!=="eval") { error(left, Diagnostics.Left_side_of_comma_operator_is_unused_and_has_no_side_effects); } return rightType; diff --git a/tests/cases/compiler/evalAfter0.ts b/tests/cases/compiler/evalAfter0.ts new file mode 100644 index 0000000000..ff9a036fac --- /dev/null +++ b/tests/cases/compiler/evalAfter0.ts @@ -0,0 +1,3 @@ +(0,eval)("10"); + +(0,alert)("10"); \ No newline at end of file