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

Commit 34a5d55

Browse files
rnkaufmanrobrix
andcommitted
Update for statement tests
Co-authored-by: Rob Rix <[email protected]>
1 parent 81a4f02 commit 34a5d55

File tree

2 files changed

+49
-12
lines changed

2 files changed

+49
-12
lines changed

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

Lines changed: 41 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -570,27 +570,56 @@ attribute node_symbol = node => symbol = (source-text node), source_n
570570
type: (_) @type
571571
declarator: (variable_declarator
572572
name: (_) @name
573-
)
573+
) @var_decl
574574
) @local_var
575575
{
576-
node def
577-
attr (def) node_definition = @name
578-
edge @local_var.after_scope -> def
579-
edge @local_var.after_scope -> @local_var.before_scope
580-
attr (@local_var.after_scope -> @local_var.before_scope) precedence = 1
576+
edge @var_decl.def__typeof -> @type.type
577+
}
581578

579+
(local_variable_declaration
580+
type: (_) @type) @local_var {
582581
edge @type.lexical_scope -> @local_var.before_scope
582+
}
583583

584-
node def__typeof
585-
attr (def__typeof) pop_symbol = ":"
584+
(variable_declarator value: (_) @value) @this {
585+
edge @value.lexical_scope -> @this.before_scope
586+
}
586587

587-
edge def -> def__typeof
588+
(local_variable_declaration
589+
declarator: (_) @last
590+
. ) @local_var {
591+
edge @local_var.after_scope -> @last.after_scope
592+
attr (@local_var.after_scope -> @last.after_scope) precedence = 1
593+
}
588594

589-
edge def__typeof -> @type.type
595+
(local_variable_declaration
596+
type: (_)
597+
.
598+
declarator: (_) @first) @local_var {
599+
edge @first.before_scope -> @local_var.before_scope
590600
}
591601

592-
(local_variable_declaration declarator: (variable_declarator value: (_) @value)) @this {
593-
edge @value.lexical_scope -> @this.before_scope
602+
(local_variable_declaration
603+
declarator: (_) @left
604+
.
605+
declarator: (_) @right
606+
) @local_var {
607+
edge @right.before_scope -> @left.after_scope
608+
}
609+
610+
(variable_declarator
611+
name: (_) @name) @var_decl {
612+
node @var_decl.before_scope
613+
node @var_decl.after_scope
614+
node @var_decl.def__typeof
615+
attr (@var_decl.def__typeof) pop_symbol = ":"
616+
617+
node def
618+
attr (def) node_definition = @name
619+
edge @var_decl.after_scope -> def
620+
edge @var_decl.after_scope -> @var_decl.before_scope
621+
622+
edge def -> @var_decl.def__typeof
594623
}
595624

596625
(return_statement (_) @expr) @stmt

languages/tree-sitter-stack-graphs-java/test/statement/for_statement.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,12 @@ void g() {
1717
//^ defined: 12
1818
}
1919
}
20+
21+
void h() {
22+
int k = 5;
23+
for (int i = 0, j = i; i < 123; k++) {
24+
// ^ defined: 23
25+
// ^ defined: 22
26+
}
27+
}
2028
}

0 commit comments

Comments
 (0)