Skip to content

Commit d50c18d

Browse files
JLHwungnicolo-ribaudo
authored andcommitted
fix: usePrivateName usage
1 parent de5c7b1 commit d50c18d

File tree

3 files changed

+14
-8
lines changed
  • packages/babel-parser

3 files changed

+14
-8
lines changed

packages/babel-parser/src/parser/lval.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,10 @@ export default class LValParser extends NodeUtils {
148148
case "ObjectProperty": {
149149
const { key, value } = node;
150150
if (this.isPrivateName(key)) {
151-
this.classScope.usePrivateName(this.getPrivateNameSV(key), key.start);
151+
this.classScope.usePrivateName(
152+
this.getPrivateNameSV(key),
153+
key.loc.start,
154+
);
152155
}
153156
this.toAssignable(value, isLHS);
154157
break;
@@ -436,7 +439,7 @@ export default class LValParser extends NodeUtils {
436439
return this.parseBindingRestProperty(prop);
437440
} else if (type === tt.privateName) {
438441
this.expectPlugin("destructuringPrivate", startLoc);
439-
this.classScope.usePrivateName(this.state.value, startPos);
442+
this.classScope.usePrivateName(this.state.value, startLoc);
440443
prop.key = this.parsePrivateName();
441444
} else {
442445
this.parsePropertyName(prop);

packages/babel-parser/src/plugins/estree.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -332,7 +332,10 @@ export default (superClass: Class<Parser>): Class<Parser> =>
332332
if (node != null && this.isObjectProperty(node)) {
333333
const { key, value } = node;
334334
if (this.isPrivateName(key)) {
335-
this.classScope.usePrivateName(this.getPrivateNameSV(key), key.start);
335+
this.classScope.usePrivateName(
336+
this.getPrivateNameSV(key),
337+
key.loc.start,
338+
);
336339
}
337340
this.toAssignable(value, isLHS);
338341
return node;

packages/babel-parser/test/fixtures/experimental/destructuring-private/invalid-undefined-private-name/output.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22
"type": "File",
33
"start":0,"end":140,"loc":{"start":{"line":1,"column":0},"end":{"line":9,"column":1}},
44
"errors": [
5-
"SyntaxError: Private name #a is not defined. (undefined:undefined)",
6-
"SyntaxError: Private name #b is not defined. (undefined:undefined)",
7-
"SyntaxError: Private name #c is not defined. (undefined:undefined)",
8-
"SyntaxError: Private name #d is not defined. (undefined:undefined)",
9-
"SyntaxError: Private name #e is not defined. (undefined:undefined)"
5+
"SyntaxError: Private name #a is not defined. (3:6)",
6+
"SyntaxError: Private name #b is not defined. (4:12)",
7+
"SyntaxError: Private name #c is not defined. (5:9)",
8+
"SyntaxError: Private name #d is not defined. (6:10)",
9+
"SyntaxError: Private name #e is not defined. (7:7)"
1010
],
1111
"program": {
1212
"type": "Program",

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy