Skip to content
This repository was archived by the owner on Sep 9, 2025. It is now read-only.

Commit 1547ea2

Browse files
author
Hendrik van Antwerpen
committed
Update tree-sitter-javascript to 0.20.1
1 parent e6e53b6 commit 1547ea2

File tree

2 files changed

+57
-101
lines changed

2 files changed

+57
-101
lines changed

languages/tree-sitter-stack-graphs-javascript/Cargo.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,9 @@ clap = { version = "4", optional = true }
3131
serde = { version = "1.0", features = ["derive"] }
3232
serde_json = "1.0"
3333
stack-graphs = { version = "0.13", path = "../../stack-graphs" }
34+
tree-sitter-graph = "0.11.2"
35+
tree-sitter-javascript = "=0.20.1"
3436
tree-sitter-stack-graphs = { version = "0.8", path = "../../tree-sitter-stack-graphs" }
35-
tree-sitter-javascript = { git = "https://github.com/tree-sitter/tree-sitter-javascript", rev = "5720b249490b3c17245ba772f6be4a43edb4e3b7" }
3637

3738
[dev-dependencies]
3839
anyhow = "1.0"

languages/tree-sitter-stack-graphs-javascript/src/stack-graphs.tsg

Lines changed: 55 additions & 100 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)