Skip to content

Commit 277c9f4

Browse files
author
Paolo Tranquilli
committed
Rust: add back getAttr to ArrayExpr
1 parent c113503 commit 277c9f4

File tree

19 files changed

+92
-34
lines changed

19 files changed

+92
-34
lines changed

rust/ast-generator/src/main.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -359,7 +359,7 @@ fn get_fields(node: &AstNodeSrc) -> Vec<FieldInfo> {
359359
result.push(FieldInfo {
360360
name: "is_semicolon".to_string(),
361361
tp: "predicate".to_string(),
362-
is_many: true,
362+
is_many: false,
363363
});
364364
}
365365
_ => {}

rust/ql/.generated.list

Lines changed: 8 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

rust/ql/.gitattributes

Lines changed: 2 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

rust/ql/lib/codeql/rust/controlflow/internal/generated/CfgNodes.qll

Lines changed: 15 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

rust/ql/lib/codeql/rust/elements/ArrayExpr.qll

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,38 @@
1-
// generated by codegen, remove this comment if you wish to edit this file
21
/**
32
* This module provides a hand-modifiable wrapper around the generated class `ArrayExpr`.
43
*
54
* INTERNAL: Do not use.
65
*/
76

87
private import codeql.rust.elements.internal.generated.ArrayExpr
8+
private import codeql.rust.elements.internal.generated.Raw
9+
private import codeql.rust.elements.internal.generated.Synth
910

1011
/**
1112
* INTERNAL: This module contains the customizable definition of `ArrayExpr` and should not
1213
* be referenced directly.
1314
*/
1415
module Impl {
16+
// the following QLdoc is generated: if you need to edit it, do it in the schema file
1517
/**
1618
* The base class for array expressions. For example:
1719
* ```rust
1820
* [1, 2, 3];
1921
* [1; 10];
2022
* ```
2123
*/
22-
class ArrayExpr extends Generated::ArrayExpr { }
24+
class ArrayExpr extends Generated::ArrayExpr {
25+
cached
26+
private Raw::ArrayExprInternal getUnderlyingEntity() {
27+
this = Synth::TArrayListExpr(result) or this = Synth::TArrayRepeatExpr(result)
28+
}
29+
30+
override Expr getExpr(int index) {
31+
result = Synth::convertExprFromRaw(this.getUnderlyingEntity().getExpr(index))
32+
}
33+
34+
override Attr getAttr(int index) {
35+
result = Synth::convertAttrFromRaw(this.getUnderlyingEntity().getAttr(index))
36+
}
37+
}
2338
}

rust/ql/lib/codeql/rust/elements/internal/ArrayListExprImpl.qll

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,6 @@ module Impl {
2222
* ```
2323
*/
2424
class ArrayListExpr extends Generated::ArrayListExpr {
25-
cached
26-
private Raw::ArrayExprInternal getUnderlyingEntity() { this = Synth::TArrayListExpr(result) }
27-
2825
override string toString() { result = "[...]" }
29-
30-
override Expr getExpr(int index) {
31-
result = Synth::convertExprFromRaw(this.getUnderlyingEntity().getExpr(index))
32-
}
3326
}
3427
}

rust/ql/lib/codeql/rust/elements/internal/ArrayRepeatExprImpl.qll

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,6 @@ module Impl {
2121
* ```
2222
*/
2323
class ArrayRepeatExpr extends Generated::ArrayRepeatExpr {
24-
cached
25-
private Raw::ArrayExprInternal getUnderlyingEntity() { this = Synth::TArrayRepeatExpr(result) }
26-
2724
override string toString() {
2825
result =
2926
"[" + this.getRepeatOperand().toAbbreviatedString() + "; " +
@@ -33,9 +30,5 @@ module Impl {
3330
override Expr getRepeatOperand() { result = this.getExpr(0) }
3431

3532
override Expr getRepeatLength() { result = this.getExpr(1) }
36-
37-
override Expr getExpr(int index) {
38-
result = Synth::convertExprFromRaw(this.getUnderlyingEntity().getExpr(index))
39-
}
4033
}
4134
}

rust/ql/lib/codeql/rust/elements/internal/generated/ArrayExpr.qll

Lines changed: 16 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

rust/ql/lib/codeql/rust/elements/internal/generated/ParentChild.qll

Lines changed: 5 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)