diff --git a/src/early-errors.js b/src/early-errors.js index c76ce09a..66d6c135 100644 --- a/src/early-errors.js +++ b/src/early-errors.js @@ -174,7 +174,7 @@ export class EarlyErrorChecker extends MonoidalReducer { } reduceClassDeclaration(node, { name, super: _super, elements }) { - let s = name; + let s = name.enforceStrictErrors(); let sElements = this.fold(elements); sElements = sElements.enforceStrictErrors(); if (node.super != null) { @@ -200,7 +200,7 @@ export class EarlyErrorChecker extends MonoidalReducer { } reduceClassExpression(node, { name, super: _super, elements }) { - let s = node.name == null ? this.identity : name; + let s = node.name == null ? this.identity : name.enforceStrictErrors(); let sElements = this.fold(elements); sElements = sElements.enforceStrictErrors(); if (node.super != null) { @@ -372,6 +372,7 @@ export class EarlyErrorChecker extends MonoidalReducer { params = params.clearNewTargetExpressions(); body = body.clearNewTargetExpressions(); if (isStrictFunctionBody(node.body)) { + name = name.enforceStrictErrors(); params = params.enforceStrictErrors(); body = body.enforceStrictErrors(); } @@ -407,6 +408,9 @@ export class EarlyErrorChecker extends MonoidalReducer { params = params.clearNewTargetExpressions(); body = body.clearNewTargetExpressions(); if (isStrictFunctionBody(node.body)) { + if (name) { + name = name.enforceStrictErrors(); + } params = params.enforceStrictErrors(); body = body.enforceStrictErrors(); }