Skip to content

Commit b40353f

Browse files
committed
Rust: Remove CallExprBase and elaborate QL doc
1 parent 464d2cd commit b40353f

File tree

1 file changed

+11
-16
lines changed

1 file changed

+11
-16
lines changed

rust/schema/annotations.py

Lines changed: 11 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -228,41 +228,36 @@ class _:
228228
loop_body: drop
229229

230230

231-
class CallExprBase(Expr):
232-
"""
233-
A function or method call expression. See `CallExpr` and `MethodCallExpr` for further details.
234-
"""
235-
arg_list: optional["ArgList"] | child
236-
attrs: list["Attr"] | child
237-
args: list["Expr"] | synth
238-
239-
240-
@annotate(CallExpr, replace_bases={Expr: CallExprBase}, cfg=True)
231+
@annotate(CallExpr, cfg=True)
241232
class _:
242233
"""
243-
A function call expression. For example:
234+
NOTE: Consider using `Call` instead, as that includes all kinds of calls to
235+
functions, and excludes instantiations of tuple structs and tuple enum variants.
236+
237+
A call expression. For example:
244238
```rust
245239
foo(42);
246240
foo::<u32, u64>(42);
247241
foo[0](42);
248242
foo(1) = 4;
243+
Option::Some(42); // tuple enum variant instantiation
249244
```
250245
"""
251-
arg_list: drop
252-
attrs: drop
253246

254247

255-
@annotate(MethodCallExpr, replace_bases={Expr: CallExprBase}, cfg=True)
248+
@annotate(MethodCallExpr, cfg=True)
256249
class _:
257250
"""
251+
NOTE: Consider using `MethodCall` instead, as that also includes calls to methods using
252+
function call syntax (such as `Foo::method(x)`), operator calls (such as `x + y`), and
253+
indexing calls (such as `x[y]`).
254+
258255
A method call expression. For example:
259256
```rust
260257
x.foo(42);
261258
x.foo::<u32, u64>(42);
262259
```
263260
"""
264-
arg_list: drop
265-
attrs: drop
266261

267262

268263
@annotate(MatchArm)

0 commit comments

Comments
 (0)