From d66ce16919851c48edaa1462d99f4daf3b3d7376 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hu=C3=A1ng=20J=C3=B9nli=C3=A0ng?= Date: Mon, 15 Nov 2021 11:43:54 -0500 Subject: [PATCH] refactor: avoid duplicate property access --- packages/babel-parser/src/util/class-scope.js | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/packages/babel-parser/src/util/class-scope.js b/packages/babel-parser/src/util/class-scope.js index e5b973f7c0c8..70920d1b68ab 100644 --- a/packages/babel-parser/src/util/class-scope.js +++ b/packages/babel-parser/src/util/class-scope.js @@ -61,11 +61,12 @@ export default class ClassScopeHandler { elementType: ClassElementTypes, pos: number, ) { - const classScope = this.current(); - let redefined = classScope.privateNames.has(name); + const { privateNames, loneAccessors, undefinedPrivateNames } = + this.current(); + let redefined = privateNames.has(name); if (elementType & CLASS_ELEMENT_KIND_ACCESSOR) { - const accessor = redefined && classScope.loneAccessors.get(name); + const accessor = redefined && loneAccessors.get(name); if (accessor) { const oldStatic = accessor & CLASS_ELEMENT_FLAG_STATIC; const newStatic = elementType & CLASS_ELEMENT_FLAG_STATIC; @@ -78,9 +79,9 @@ export default class ClassScopeHandler { // they have the same placement (static or not). redefined = oldKind === newKind || oldStatic !== newStatic; - if (!redefined) classScope.loneAccessors.delete(name); + if (!redefined) loneAccessors.delete(name); } else if (!redefined) { - classScope.loneAccessors.set(name, elementType); + loneAccessors.set(name, elementType); } } @@ -88,8 +89,8 @@ export default class ClassScopeHandler { this.raise(pos, Errors.PrivateNameRedeclaration, name); } - classScope.privateNames.add(name); - classScope.undefinedPrivateNames.delete(name); + privateNames.add(name); + undefinedPrivateNames.delete(name); } usePrivateName(name: string, pos: number) {