@@ -1564,15 +1564,15 @@ inherit .containing_class_value
15641564 node @method_def.after_scope
15651565 node @method_def.before_scope
15661566 node @method_def.method_value
1567-
1567+
15681568}
15691569
15701570(
15711571 (method_definition
15721572 name:(_)@name)@method_def
15731573 (#eq? @name "constructor")
15741574) {
1575-
1575+
15761576 ; augmentation for the constructor
15771577 attr (@name.pop) symbol_definition = "GUARD:CONSTRUCTOR", source_node = @name
15781578 edge @method_def.class_value -> @name.pop
@@ -1672,7 +1672,7 @@ inherit .containing_class_value
16721672
16731673 node @property.pop
16741674 node property_pop_dot
1675-
1675+
16761676 attr (@property.pop) node_definition = @property
16771677 attr (property_pop_dot) pop_symbol = "GUARD:MEMBER"
16781678 edge @field_def.after_scope -> property_pop_dot
@@ -2321,7 +2321,7 @@ inherit .containing_class_value
23212321 (yield_expression)
23222322 (spread_element)
23232323]@expr {
2324-
2324+
23252325 node @expr.after_scope
23262326 node @expr.before_scope
23272327 node @expr.value
@@ -2418,7 +2418,10 @@ inherit .containing_class_value
24182418
24192419;; #### Variables
24202420
2421- (primary_expression/identifier)@variable {
2421+ [
2422+ (primary_expression/identifier)@variable
2423+ (member_expression . (identifier)@variable)
2424+ ] {
24222425 ; value is a lookup, ie a push
24232426 attr (@variable.value) node_reference = @variable
24242427 edge @variable.value -> @variable.before_scope
@@ -2565,7 +2568,7 @@ inherit .containing_class_value
25652568
25662569; shorthand property identifier
25672570(shorthand_property_identifier)@shorthand_property_identifier {
2568-
2571+
25692572 node @shorthand_property_identifier.after_scope
25702573 node @shorthand_property_identifier.before_scope
25712574
@@ -2616,7 +2619,7 @@ inherit .containing_class_value
26162619
26172620 ; This is done differently depending on what the key is. See next rules.
26182621 ; attr @key.pop "pop" = @key, "definition"
2619-
2622+
26202623 node @pair.key_pop
26212624 edge @pair.key_pop -> @value.value
26222625 edge @object.member_pop -> @pair.key_pop
@@ -3171,8 +3174,7 @@ inherit .containing_class_value
31713174;; ##### Member Expressions
31723175
31733176(member_expression
3174- object: (_)@object
3175- property: (_)@property)@member_expr
3177+ (_)@object . (_)@property)@member_expr
31763178{
31773179
31783180 node member_push
@@ -3555,7 +3557,7 @@ inherit .containing_class_value
35553557(class
35563558 name:(_)@name
35573559 body:(_)@body)@class {
3558-
3560+
35593561 node @name.pop
35603562 attr (@name.pop) syntax_type = "class"
35613563
@@ -3604,7 +3606,6 @@ inherit .containing_class_value
36043606 (jsx_text)
36053607 (jsx_element)
36063608 (jsx_self_closing_element)
3607- (jsx_fragment)
36083609 (jsx_expression)
36093610 ]@first_child
36103611) {
@@ -3616,15 +3617,13 @@ inherit .containing_class_value
36163617 (jsx_text)
36173618 (jsx_element)
36183619 (jsx_self_closing_element)
3619- (jsx_fragment)
36203620 (jsx_expression)
36213621 ]@left_child
36223622 .
36233623 [
36243624 (jsx_text)
36253625 (jsx_element)
36263626 (jsx_self_closing_element)
3627- (jsx_fragment)
36283627 (jsx_expression)
36293628 ]@right_child
36303629) {
@@ -3636,7 +3635,6 @@ inherit .containing_class_value
36363635 (jsx_text)
36373636 (jsx_element)
36383637 (jsx_self_closing_element)
3639- (jsx_fragment)
36403638 (jsx_expression)
36413639 ]@last_child
36423640 .
@@ -3648,25 +3646,37 @@ inherit .containing_class_value
36483646(jsx_text)@jsx_text {
36493647 node @jsx_text.before_scope
36503648 node @jsx_text.after_scope
3651-
3649+
36523650 edge @jsx_text.after_scope -> @jsx_text.before_scope
36533651}
36543652
3655- (jsx_opening_element
3656- name:(_)@element_name)@jsx_opening_element {
3653+ (jsx_opening_element)@jsx_opening_element {
36573654
36583655 node @jsx_opening_element.before_scope
36593656 node @jsx_opening_element.after_scope
36603657
3658+ }
3659+
3660+ (jsx_opening_element
3661+ name:(_)@element_name)@jsx_opening_element {
3662+
36613663 edge @element_name.before_scope -> @jsx_opening_element.before_scope
36623664
36633665}
36643666
3667+ (jsx_opening_element
3668+ !name)@jsx_opening_element
3669+ {
3670+
3671+ edge @jsx_opening_element.after_scope -> @jsx_opening_element.before_scope
3672+
3673+ }
3674+
36653675(jsx_opening_element
36663676 name:(_)@element_name
36673677 !attribute)@jsx_opening_element
36683678{
3669-
3679+
36703680 edge @jsx_opening_element.after_scope -> @element_name.after_scope
36713681
36723682}
@@ -3734,11 +3744,20 @@ inherit .containing_class_value
37343744
37353745}
37363746
3747+ (jsx_self_closing_element
3748+ !name
3749+ !attribute)@jsx_self_closing_element
3750+ {
3751+
3752+ edge @jsx_self_closing_element.after_scope -> @jsx_self_closing_element.before_scope
3753+
3754+ }
3755+
37373756(jsx_self_closing_element
37383757 name:(_)@element_name
37393758 !attribute)@jsx_self_closing_element
37403759{
3741-
3760+
37423761 edge @jsx_self_closing_element.after_scope -> @element_name.after_scope
37433762
37443763}
@@ -3790,13 +3809,26 @@ inherit .containing_class_value
37903809
37913810}
37923811
3793- (jsx_closing_element
3794- name:(_)@element_name)@jsx_closing_element
3812+ (jsx_closing_element)@jsx_closing_element
37953813{
37963814
37973815 node @jsx_closing_element.before_scope
37983816 node @jsx_closing_element.after_scope
3799-
3817+
3818+ }
3819+
3820+ (jsx_closing_element
3821+ !name)@jsx_closing_element
3822+ {
3823+
3824+ edge @jsx_closing_element.after_scope -> @jsx_closing_element.before_scope
3825+
3826+ }
3827+
3828+ (jsx_closing_element
3829+ name:(_)@element_name)@jsx_closing_element
3830+ {
3831+
38003832 edge @element_name.before_scope -> @jsx_closing_element.before_scope
38013833 edge @jsx_closing_element.after_scope -> @element_name.after_scope
38023834
@@ -3827,83 +3859,6 @@ inherit .containing_class_value
38273859
38283860}
38293861
3830- (nested_identifier)@nested_identifier {
3831- node @nested_identifier.before_scope
3832- node @nested_identifier.after_scope
3833- node @nested_identifier.value
3834-
3835- edge @nested_identifier.after_scope -> @nested_identifier.before_scope
3836- }
3837-
3838- (nested_identifier
3839- (identifier)@first_part
3840- (identifier)@second_part)@nested_identifier
3841- {
3842- node guard_member
3843-
3844- attr (@first_part.value) node_reference = @first_part
3845- attr (@second_part.value) node_reference = @second_part
3846- attr (guard_member) symbol_reference = "GUARD:MEMBER"
3847-
3848- edge @first_part.value -> @nested_identifier.before_scope
3849- edge guard_member -> @first_part.value
3850- edge @second_part.value -> guard_member
3851- edge @nested_identifier.value -> @second_part.value
3852- }
3853-
3854- (nested_identifier
3855- (nested_identifier)@first_part
3856- (identifier)@second_part)@nested_identifier
3857- {
3858- node guard_member
3859-
3860- attr (@second_part.value) node_reference = @second_part
3861- attr (guard_member) symbol_reference = "GUARD:MEMBER"
3862-
3863- edge @first_part.before_scope -> @nested_identifier.before_scope
3864- edge guard_member -> @first_part.value
3865- edge @second_part.value -> guard_member
3866- edge @nested_identifier.value -> @second_part.value
3867- }
3868-
3869- (jsx_fragment (_)*@children)@jsx_fragment {
3870- node @jsx_fragment.before_scope
3871- node @jsx_fragment.after_scope
3872- node @jsx_fragment.value
3873-
3874- if (is-empty @children) {
3875- edge @jsx_fragment.after_scope -> @jsx_fragment.before_scope
3876- }
3877- }
3878-
3879- (jsx_fragment
3880- .
3881- (_)@first_child)@jsx_fragment
3882- {
3883- edge @first_child.before_scope -> @jsx_fragment.before_scope
3884- }
3885-
3886- (jsx_fragment
3887- (_)@left_child
3888- .
3889- (_)@right_child)
3890- {
3891- edge @right_child.before_scope -> @left_child.after_scope
3892- }
3893-
3894- (jsx_fragment
3895- (_)@last_child
3896- .)@jsx_fragment
3897- {
3898- edge @jsx_fragment.after_scope -> @last_child.after_scope
3899- }
3900-
3901-
3902-
3903-
3904-
3905-
3906-
39073862
39083863
39093864
@@ -4785,7 +4740,7 @@ inherit .containing_class_value
47854740 name:(_)@_method_name)@constructor
47864741 )
47874742 )
4788-
4743+
47894744 (#eq? @_method_name "constructor")
47904745) {
47914746
0 commit comments