Skip to content

Commit 8210634

Browse files
committed
Fix #10758 Add compiler option to parse in strict mode
* fix comment * optimize loop
1 parent ea808f5 commit 8210634

File tree

2 files changed

+3
-6
lines changed

2 files changed

+3
-6
lines changed

src/compiler/factory.ts

+2-5
Original file line numberDiff line numberDiff line change
@@ -2242,19 +2242,16 @@ namespace ts {
22422242
*/
22432243
export function ensureUseStrict(node: SourceFile): SourceFile {
22442244
let foundUseStrict = false;
2245-
let statementOffset = 0;
2246-
const numStatements = node.statements.length;
2247-
while (statementOffset < numStatements) {
2248-
const statement = node.statements[statementOffset];
2245+
for (const statement of node.statements) {
22492246
if (isPrologueDirective(statement)) {
22502247
if (isUseStrictPrologue(statement as ExpressionStatement)) {
22512248
foundUseStrict = true;
2249+
break;
22522250
}
22532251
}
22542252
else {
22552253
break;
22562254
}
2257-
statementOffset++;
22582255
}
22592256
if (!foundUseStrict) {
22602257
const statements: Statement[] = [];

src/compiler/transformers/ts.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -436,7 +436,7 @@ namespace ts {
436436
function visitSourceFile(node: SourceFile) {
437437
currentSourceFile = node;
438438

439-
// ensure "use strict"" is emitted in all scenarios in alwaysStrict mode
439+
// ensure "use strict" is emitted in all scenarios in alwaysStrict mode
440440
if (compilerOptions.alwaysStrict) {
441441
node = ensureUseStrict(node);
442442
}

0 commit comments

Comments
 (0)