@@ -614,29 +614,56 @@ attribute node_symbol = node => symbol = (source-text node), source_n
614614
615615(local_variable_declaration
616616 type: (_) @type
617- declarator: (variable_declarator
618- name: (_) @name
619- )
617+ declarator: (variable_declarator) @var_decl
620618) @local_var
621619{
622- node def
623- attr (def) node_definition = @name
624- edge @local_var.after_scope -> def
625- edge @local_var.after_scope -> @local_var.before_scope
626- attr (@local_var.after_scope -> @local_var.before_scope) precedence = 1
620+ edge @var_decl.def__typeof -> @type.type
621+ }
627622
623+ (local_variable_declaration
624+ type: (_) @type) @local_var {
628625 edge @type.lexical_scope -> @local_var.before_scope
626+ }
629627
630- node def__typeof
631- attr (def__typeof) pop_symbol = ":"
628+ (variable_declarator value: (_) @value) @this {
629+ edge @value.lexical_scope -> @this.before_scope
630+ }
632631
633- edge def -> def__typeof
632+ (local_variable_declaration
633+ declarator: (_) @last
634+ . ) @local_var {
635+ edge @local_var.after_scope -> @last.after_scope
636+ attr (@local_var.after_scope -> @last.after_scope) precedence = 1
637+ }
634638
635- edge def__typeof -> @type.type
639+ (local_variable_declaration
640+ type: (_)
641+ .
642+ declarator: (_) @first) @local_var {
643+ edge @first.before_scope -> @local_var.before_scope
636644}
637645
638- (local_variable_declaration declarator: (variable_declarator value: (_) @value)) @this {
639- edge @value.lexical_scope -> @this.before_scope
646+ (local_variable_declaration
647+ declarator: (_) @left
648+ .
649+ declarator: (_) @right
650+ ) @local_var {
651+ edge @right.before_scope -> @left.after_scope
652+ }
653+
654+ (variable_declarator
655+ name: (_) @name) @var_decl {
656+ node @var_decl.before_scope
657+ node @var_decl.after_scope
658+ node @var_decl.def__typeof
659+ attr (@var_decl.def__typeof) pop_symbol = ":"
660+
661+ node def
662+ attr (def) node_definition = @name
663+ edge @var_decl.after_scope -> def
664+ edge @var_decl.after_scope -> @var_decl.before_scope
665+
666+ edge def -> @var_decl.def__typeof
640667}
641668
642669(return_statement (_) @expr) @stmt
0 commit comments