File tree Expand file tree Collapse file tree 3 files changed +25
-3
lines changed
oxc_linter/src/rules/eslint Expand file tree Collapse file tree 3 files changed +25
-3
lines changed Original file line number Diff line number Diff line change @@ -295,6 +295,19 @@ fn test() {
295295 this.#x = 1;
296296 }
297297 }" ,
298+ r"type Callback<T> = () => Promise<T> | T;
299+
300+ export class Issue_11039<T> {
301+ load: () => Promise<T>;
302+
303+ constructor(callback: Callback<T>) {
304+ this.load = () => this.#load(callback);
305+ }
306+
307+ async #load(callback: Callback<T>) {
308+ callback;
309+ }
310+ }" ,
298311 ] ;
299312
300313 let fail = vec ! [
Original file line number Diff line number Diff line change @@ -106,7 +106,11 @@ impl<'a> ClassTableBuilder<'a> {
106106 if matches ! ( parent_kind, AstKind :: PrivateInExpression ( _) | AstKind :: MemberExpression ( _) )
107107 {
108108 if let Some ( class_id) = self . current_class_id {
109- let element_ids = self . classes . get_element_ids ( class_id, & ident. name ) ;
109+ let element_ids = self . classes . get_element_ids (
110+ class_id,
111+ & ident. name ,
112+ /* is_private */ true ,
113+ ) ;
110114
111115 let reference = PrivateIdentifierReference :: new (
112116 current_node_id,
Original file line number Diff line number Diff line change @@ -78,10 +78,15 @@ impl<'a> ClassTable<'a> {
7878 self . declarations [ class_id]
7979 }
8080
81- pub fn get_element_ids ( & self , class_id : ClassId , name : & str ) -> Vec < ElementId > {
81+ pub fn get_element_ids (
82+ & self ,
83+ class_id : ClassId ,
84+ name : & str ,
85+ is_private : bool ,
86+ ) -> Vec < ElementId > {
8287 let mut element_ids = vec ! [ ] ;
8388 for ( element_id, element) in self . elements [ class_id] . iter_enumerated ( ) {
84- if element. name == name {
89+ if element. name == name && element . is_private == is_private {
8590 element_ids. push ( element_id) ;
8691
8792 // Property or Accessor only has 1 element
You can’t perform that action at this time.
0 commit comments