Skip to content

Commit f5fa9f1

Browse files
Copilotenyil
andauthored
Refresh rust PrintAST/PrintCFG expected to match macro expansion output (#270)
Agent-Logs-Url: https://github.com/advanced-security/codeql-development-mcp-server/sessions/beb1ad8c-da44-4beb-8483-c2b6d9e1f2b7 Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: enyil <87337678+enyil@users.noreply.github.com>
1 parent 0e2c82b commit f5fa9f1

2 files changed

Lines changed: 139 additions & 4 deletions

File tree

server/ql/rust/tools/test/PrintAST/PrintAST.expected

Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,56 @@ Example1.rs:
5656
# 15| getSegment(): [PathSegment] format
5757
# 15| getIdentifier(): [NameRef] format
5858
# 15| getTokenTree(): [TokenTree] TokenTree
59+
# 15| getMacroCallExpansion(): [BlockExpr] { ... }
60+
# 15| getStmtList(): [StmtList] StmtList
61+
# 15| getTailExpr(): [CallExpr] ...::must_use(...)
62+
# 15| getArgList(): [ArgList] ArgList
63+
# 15| getArg(0): [BlockExpr] { ... }
64+
# 15| getStmtList(): [StmtList] StmtList
65+
# 15| getTailExpr(): [CallExpr] ...::format(...)
66+
# 15| getArgList(): [ArgList] ArgList
67+
# 15| getArg(0): [MacroExpr] MacroExpr
68+
# 15| getMacroCall(): [MacroCall] ...::format_args!...
69+
# 15| getPath(): [Path] ...::format_args
70+
# 15| getQualifier(): [Path] ...::__export
71+
# 15| getQualifier(): [Path] $crate
72+
# 15| getSegment(): [PathSegment] $crate
73+
# 15| getIdentifier(): [NameRef] $crate
74+
# 15| getSegment(): [PathSegment] __export
75+
# 15| getIdentifier(): [NameRef] __export
76+
# 15| getSegment(): [PathSegment] format_args
77+
# 15| getIdentifier(): [NameRef] format_args
78+
# 15| getTokenTree(): [TokenTree] TokenTree
79+
# 15| getMacroCallExpansion(): [FormatArgsExpr] FormatArgsExpr
80+
# 15| getArg(0): [FormatArgsArg] FormatArgsArg
81+
# 15| getExpr(): [FieldExpr] self.name
82+
# 15| getContainer(): [VariableAccess] self
83+
# 15| getPath(): [Path] self
84+
# 15| getSegment(): [PathSegment] self
85+
# 15| getIdentifier(): [NameRef] self
86+
# 15| getIdentifier(): [NameRef] name
87+
# 15| getTemplate(): [StringLiteralExpr] "Hello, {}!"
88+
# 15| getFormat(0): [Format] {}
89+
# 15| getFunction(): [PathExpr] ...::format
90+
# 15| getPath(): [Path] ...::format
91+
# 15| getQualifier(): [Path] ...::fmt
92+
# 15| getQualifier(): [Path] $crate
93+
# 15| getSegment(): [PathSegment] $crate
94+
# 15| getIdentifier(): [NameRef] $crate
95+
# 15| getSegment(): [PathSegment] fmt
96+
# 15| getIdentifier(): [NameRef] fmt
97+
# 15| getSegment(): [PathSegment] format
98+
# 15| getIdentifier(): [NameRef] format
99+
# 15| getFunction(): [PathExpr] ...::must_use
100+
# 15| getPath(): [Path] ...::must_use
101+
# 15| getQualifier(): [Path] ...::__export
102+
# 15| getQualifier(): [Path] $crate
103+
# 15| getSegment(): [PathSegment] $crate
104+
# 15| getIdentifier(): [NameRef] $crate
105+
# 15| getSegment(): [PathSegment] __export
106+
# 15| getIdentifier(): [NameRef] __export
107+
# 15| getSegment(): [PathSegment] must_use
108+
# 15| getIdentifier(): [NameRef] must_use
59109
# 14| getName(): [Name] greet
60110
# 14| getRetType(): [RetTypeRepr] RetTypeRepr
61111
# 14| getTypeRepr(): [PathTypeRepr] String
@@ -95,6 +145,32 @@ Example1.rs:
95145
# 24| getSegment(): [PathSegment] vec
96146
# 24| getIdentifier(): [NameRef] vec
97147
# 24| getTokenTree(): [TokenTree] TokenTree
148+
# 24| getMacroCallExpansion(): [CallExpr] ...::into_vec(...)
149+
# 24| getArgList(): [ArgList] ArgList
150+
# 24| getArg(0): [CallExpr] ...::box_new(...)
151+
# 24| getArgList(): [ArgList] ArgList
152+
# 24| getArg(0): [ArrayListExpr] [...]
153+
# 24| getExpr(0): [IntegerLiteralExpr] 1
154+
# 24| getExpr(1): [IntegerLiteralExpr] 2
155+
# 24| getExpr(2): [IntegerLiteralExpr] 3
156+
# 24| getFunction(): [PathExpr] ...::box_new
157+
# 24| getPath(): [Path] ...::box_new
158+
# 24| getQualifier(): [Path] ...::boxed
159+
# 24| getQualifier(): [Path] $crate
160+
# 24| getSegment(): [PathSegment] $crate
161+
# 24| getIdentifier(): [NameRef] $crate
162+
# 24| getSegment(): [PathSegment] boxed
163+
# 24| getIdentifier(): [NameRef] boxed
164+
# 24| getSegment(): [PathSegment] box_new
165+
# 24| getIdentifier(): [NameRef] box_new
166+
# 24| getFunction(): [PathExpr] ...::into_vec
167+
# 24| getPath(): [Path] ...::into_vec
168+
# 24| getQualifier(): [Path] <...>
169+
# 24| getSegment(): [PathSegment] <...>
170+
# 24| getTypeRepr(): [SliceTypeRepr] SliceTypeRepr
171+
# 24| getTypeRepr(): [InferTypeRepr] _
172+
# 24| getSegment(): [PathSegment] into_vec
173+
# 24| getIdentifier(): [NameRef] into_vec
98174
# 24| getPat(): [IdentPat] numbers
99175
# 24| getName(): [Name] numbers
100176
# 27| getStatement(1): [ExprStmt] ExprStmt
@@ -124,6 +200,14 @@ Example1.rs:
124200
# 28| getSegment(): [PathSegment] format_args_nl
125201
# 28| getIdentifier(): [NameRef] format_args_nl
126202
# 28| getTokenTree(): [TokenTree] TokenTree
203+
# 28| getMacroCallExpansion(): [FormatArgsExpr] FormatArgsExpr
204+
# 28| getArg(0): [FormatArgsArg] FormatArgsArg
205+
# 28| getExpr(): [VariableAccess] n
206+
# 28| getPath(): [Path] n
207+
# 28| getSegment(): [PathSegment] n
208+
# 28| getIdentifier(): [NameRef] n
209+
# 28| getTemplate(): [StringLiteralExpr] "{}\n"
210+
# 28| getFormat(0): [Format] {}
127211
# 28| getFunction(): [PathExpr] ...::_print
128212
# 28| getPath(): [Path] ...::_print
129213
# 28| getQualifier(): [Path] ...::io
@@ -174,6 +258,8 @@ Example1.rs:
174258
# 35| getSegment(): [PathSegment] format_args_nl
175259
# 35| getIdentifier(): [NameRef] format_args_nl
176260
# 35| getTokenTree(): [TokenTree] TokenTree
261+
# 35| getMacroCallExpansion(): [FormatArgsExpr] FormatArgsExpr
262+
# 35| getTemplate(): [StringLiteralExpr] "Non-positive\n"
177263
# 35| getFunction(): [PathExpr] ...::_print
178264
# 35| getPath(): [Path] ...::_print
179265
# 35| getQualifier(): [Path] ...::io
@@ -209,6 +295,8 @@ Example1.rs:
209295
# 33| getSegment(): [PathSegment] format_args_nl
210296
# 33| getIdentifier(): [NameRef] format_args_nl
211297
# 33| getTokenTree(): [TokenTree] TokenTree
298+
# 33| getMacroCallExpansion(): [FormatArgsExpr] FormatArgsExpr
299+
# 33| getTemplate(): [StringLiteralExpr] "Positive\n"
212300
# 33| getFunction(): [PathExpr] ...::_print
213301
# 33| getPath(): [Path] ...::_print
214302
# 33| getQualifier(): [Path] ...::io
@@ -246,6 +334,8 @@ Example1.rs:
246334
# 40| getSegment(): [PathSegment] format_args_nl
247335
# 40| getIdentifier(): [NameRef] format_args_nl
248336
# 40| getTokenTree(): [TokenTree] TokenTree
337+
# 40| getMacroCallExpansion(): [FormatArgsExpr] FormatArgsExpr
338+
# 40| getTemplate(): [StringLiteralExpr] "Zero\n"
249339
# 40| getFunction(): [PathExpr] ...::_print
250340
# 40| getPath(): [Path] ...::_print
251341
# 40| getQualifier(): [Path] ...::io
@@ -279,6 +369,8 @@ Example1.rs:
279369
# 41| getSegment(): [PathSegment] format_args_nl
280370
# 41| getIdentifier(): [NameRef] format_args_nl
281371
# 41| getTokenTree(): [TokenTree] TokenTree
372+
# 41| getMacroCallExpansion(): [FormatArgsExpr] FormatArgsExpr
373+
# 41| getTemplate(): [StringLiteralExpr] "One\n"
282374
# 41| getFunction(): [PathExpr] ...::_print
283375
# 41| getPath(): [Path] ...::_print
284376
# 41| getQualifier(): [Path] ...::io
@@ -312,6 +404,8 @@ Example1.rs:
312404
# 42| getSegment(): [PathSegment] format_args_nl
313405
# 42| getIdentifier(): [NameRef] format_args_nl
314406
# 42| getTokenTree(): [TokenTree] TokenTree
407+
# 42| getMacroCallExpansion(): [FormatArgsExpr] FormatArgsExpr
408+
# 42| getTemplate(): [StringLiteralExpr] "Other\n"
315409
# 42| getFunction(): [PathExpr] ...::_print
316410
# 42| getPath(): [Path] ...::_print
317411
# 42| getQualifier(): [Path] ...::io
@@ -364,6 +458,17 @@ Example1.rs:
364458
# 48| getSegment(): [PathSegment] format_args_nl
365459
# 48| getIdentifier(): [NameRef] format_args_nl
366460
# 48| getTokenTree(): [TokenTree] TokenTree
461+
# 48| getMacroCallExpansion(): [FormatArgsExpr] FormatArgsExpr
462+
# 48| getArg(0): [FormatArgsArg] FormatArgsArg
463+
# 48| getExpr(): [MethodCallExpr] example.greet()
464+
# 48| getArgList(): [ArgList] ArgList
465+
# 48| getIdentifier(): [NameRef] greet
466+
# 48| getReceiver(): [VariableAccess] example
467+
# 48| getPath(): [Path] example
468+
# 48| getSegment(): [PathSegment] example
469+
# 48| getIdentifier(): [NameRef] example
470+
# 48| getTemplate(): [StringLiteralExpr] "{}\n"
471+
# 48| getFormat(0): [Format] {}
367472
# 48| getFunction(): [PathExpr] ...::_print
368473
# 48| getPath(): [Path] ...::_print
369474
# 48| getQualifier(): [Path] ...::io

server/ql/rust/tools/test/PrintCFG/PrintCFG.expected

Lines changed: 34 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,33 @@ Example1.rs:
1414
# 4| x
1515
#-----| -> x
1616

17+
# 8| FormatArgsExpr
18+
#-----| -> ...::format_args_nl!...
19+
20+
# 6| FormatArgsExpr
21+
#-----| -> ...::format_args_nl!...
22+
23+
# 12| FormatArgsExpr
24+
#-----| -> ...::format_args_nl!...
25+
1726
# 5| 0
1827
#-----| -> ... > ...
1928

29+
# 8| "Non-positive\n"
30+
#-----| -> FormatArgsExpr
31+
32+
# 6| "Positive\n"
33+
#-----| -> FormatArgsExpr
34+
2035
# 11| 3
2136
#-----| -> 0..3
2237

2338
# 11| 0
2439
#-----| -> 3
2540

41+
# 12| "{}\n"
42+
#-----| -> i
43+
2644
# 5| ... > ...
2745
#-----| -> ExprStmt
2846
#-----| -> ExprStmt
@@ -104,13 +122,16 @@ Example1.rs:
104122
#-----| -> 0
105123

106124
# 8| ...::_print
107-
#-----| -> ...::format_args_nl!...
125+
#-----| -> "Non-positive\n"
108126

109127
# 6| ...::_print
110-
#-----| -> ...::format_args_nl!...
128+
#-----| -> "Positive\n"
129+
130+
# 12| i
131+
#-----| -> FormatArgsExpr
111132

112133
# 12| ...::_print
113-
#-----| -> ...::format_args_nl!...
134+
#-----| -> "{}\n"
114135

115136
# 8| ExprStmt
116137
#-----| -> ...::_print
@@ -284,12 +305,18 @@ Example1.rs:
284305
# 36| result
285306
#-----| -> result
286307

308+
# 37| FormatArgsExpr
309+
#-----| -> ...::format_args_nl!...
310+
287311
# 35| 5
288312
#-----| -> simple_function(...)
289313

290314
# 36| 20
291315
#-----| -> complex_function(...)
292316

317+
# 37| "{}\n"
318+
#-----| -> result
319+
293320
# 37| MacroExpr
294321
#-----| -> ...::_print(...)
295322

@@ -323,8 +350,11 @@ Example1.rs:
323350
# 36| complex_function
324351
#-----| -> 20
325352

353+
# 37| result
354+
#-----| -> FormatArgsExpr
355+
326356
# 37| ...::_print
327-
#-----| -> ...::format_args_nl!...
357+
#-----| -> "{}\n"
328358

329359
# 35| ExprStmt
330360
#-----| -> simple_function

0 commit comments

Comments
 (0)