mirror of
https://github.com/github/codeql.git
synced 2025-12-17 01:03:14 +01:00
Rust: rename MatchExpr.expr to scrutinee in all layers
This doesn't require `ql.name` and is simpler while we don't have to write upgrade scripts. The `ql.name` mechanism might get useful once we do have to write upgrade scripts, as that doesn't change the dbscheme.
This commit is contained in:
@@ -28,6 +28,7 @@ fn class_name(type_name: &String) -> String {
|
|||||||
fn property_name(type_name: &String, field_name: &String) -> String {
|
fn property_name(type_name: &String, field_name: &String) -> String {
|
||||||
match (type_name.as_str(), field_name.as_str()) {
|
match (type_name.as_str(), field_name.as_str()) {
|
||||||
("Path", "segment") => "part".to_owned(),
|
("Path", "segment") => "part".to_owned(),
|
||||||
|
("MatchExpr", "expr") => "scrutinee".to_owned(),
|
||||||
(_, "then_branch") => "then".to_owned(),
|
(_, "then_branch") => "then".to_owned(),
|
||||||
(_, "else_branch") => "else_".to_owned(),
|
(_, "else_branch") => "else_".to_owned(),
|
||||||
_ => field_name.to_owned(),
|
_ => field_name.to_owned(),
|
||||||
|
|||||||
2
rust/extractor/src/generated/.generated.list
generated
2
rust/extractor/src/generated/.generated.list
generated
@@ -1,2 +1,2 @@
|
|||||||
mod.rs 4bcb9def847469aae9d8649461546b7c21ec97cf6e63d3cf394e339915ce65d7 4bcb9def847469aae9d8649461546b7c21ec97cf6e63d3cf394e339915ce65d7
|
mod.rs 4bcb9def847469aae9d8649461546b7c21ec97cf6e63d3cf394e339915ce65d7 4bcb9def847469aae9d8649461546b7c21ec97cf6e63d3cf394e339915ce65d7
|
||||||
top.rs 4504ceb7e13020d5b19a4b938395fa2d5d804a962743985efe8563903448ae0c 4504ceb7e13020d5b19a4b938395fa2d5d804a962743985efe8563903448ae0c
|
top.rs abab6a736e75f9eabbe31deef4de782fc05f0c053798a01d410fffc859515278 abab6a736e75f9eabbe31deef4de782fc05f0c053798a01d410fffc859515278
|
||||||
|
|||||||
6
rust/extractor/src/generated/top.rs
generated
6
rust/extractor/src/generated/top.rs
generated
@@ -5530,7 +5530,7 @@ impl From<trap::Label<MacroType>> for trap::Label<TypeRef> {
|
|||||||
pub struct MatchExpr {
|
pub struct MatchExpr {
|
||||||
pub id: trap::TrapId<MatchExpr>,
|
pub id: trap::TrapId<MatchExpr>,
|
||||||
pub attrs: Vec<trap::Label<Attr>>,
|
pub attrs: Vec<trap::Label<Attr>>,
|
||||||
pub expr: Option<trap::Label<Expr>>,
|
pub scrutinee: Option<trap::Label<Expr>>,
|
||||||
pub match_arm_list: Option<trap::Label<MatchArmList>>,
|
pub match_arm_list: Option<trap::Label<MatchArmList>>,
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -5544,8 +5544,8 @@ impl trap::TrapEntry for MatchExpr {
|
|||||||
for (i, v) in self.attrs.into_iter().enumerate() {
|
for (i, v) in self.attrs.into_iter().enumerate() {
|
||||||
out.add_tuple("match_expr_attrs", vec![id.into(), i.into(), v.into()]);
|
out.add_tuple("match_expr_attrs", vec![id.into(), i.into(), v.into()]);
|
||||||
}
|
}
|
||||||
if let Some(v) = self.expr {
|
if let Some(v) = self.scrutinee {
|
||||||
out.add_tuple("match_expr_exprs", vec![id.into(), v.into()]);
|
out.add_tuple("match_expr_scrutinees", vec![id.into(), v.into()]);
|
||||||
}
|
}
|
||||||
if let Some(v) = self.match_arm_list {
|
if let Some(v) = self.match_arm_list {
|
||||||
out.add_tuple("match_expr_match_arm_lists", vec![id.into(), v.into()]);
|
out.add_tuple("match_expr_match_arm_lists", vec![id.into(), v.into()]);
|
||||||
|
|||||||
4
rust/extractor/src/translate/generated.rs
generated
4
rust/extractor/src/translate/generated.rs
generated
@@ -1224,12 +1224,12 @@ impl Translator<'_> {
|
|||||||
|
|
||||||
pub(crate) fn emit_match_expr(&mut self, node: ast::MatchExpr) -> Label<generated::MatchExpr> {
|
pub(crate) fn emit_match_expr(&mut self, node: ast::MatchExpr) -> Label<generated::MatchExpr> {
|
||||||
let attrs = node.attrs().map(|x| self.emit_attr(x)).collect();
|
let attrs = node.attrs().map(|x| self.emit_attr(x)).collect();
|
||||||
let expr = node.expr().map(|x| self.emit_expr(x));
|
let scrutinee = node.expr().map(|x| self.emit_expr(x));
|
||||||
let match_arm_list = node.match_arm_list().map(|x| self.emit_match_arm_list(x));
|
let match_arm_list = node.match_arm_list().map(|x| self.emit_match_arm_list(x));
|
||||||
let label = self.trap.emit(generated::MatchExpr {
|
let label = self.trap.emit(generated::MatchExpr {
|
||||||
id: TrapId::Star,
|
id: TrapId::Star,
|
||||||
attrs,
|
attrs,
|
||||||
expr,
|
scrutinee,
|
||||||
match_arm_list,
|
match_arm_list,
|
||||||
});
|
});
|
||||||
self.emit_location(label, &node);
|
self.emit_location(label, &node);
|
||||||
|
|||||||
2
rust/ql/.generated.list
generated
2
rust/ql/.generated.list
generated
@@ -525,7 +525,7 @@ lib/codeql/rust/elements/internal/generated/PtrType.qll 40099c5a4041314b66932dfd
|
|||||||
lib/codeql/rust/elements/internal/generated/PureSynthConstructors.qll ea294a3ba33fd1bc632046c4fedbcb84dcb961a8e4599969d65893b19d90e590 ea294a3ba33fd1bc632046c4fedbcb84dcb961a8e4599969d65893b19d90e590
|
lib/codeql/rust/elements/internal/generated/PureSynthConstructors.qll ea294a3ba33fd1bc632046c4fedbcb84dcb961a8e4599969d65893b19d90e590 ea294a3ba33fd1bc632046c4fedbcb84dcb961a8e4599969d65893b19d90e590
|
||||||
lib/codeql/rust/elements/internal/generated/RangeExpr.qll 23cca03bf43535f33b22a38894f70d669787be4e4f5b8fe5c8f7b964d30e9027 18624cef6c6b679eeace2a98737e472432e0ead354cca02192b4d45330f047c9
|
lib/codeql/rust/elements/internal/generated/RangeExpr.qll 23cca03bf43535f33b22a38894f70d669787be4e4f5b8fe5c8f7b964d30e9027 18624cef6c6b679eeace2a98737e472432e0ead354cca02192b4d45330f047c9
|
||||||
lib/codeql/rust/elements/internal/generated/RangePat.qll efd93730de217cf50dcba5875595263a5eadf9f7e4e1272401342a094d158614 229b251b3d118932e31e78ac4dfb75f48b766f240f20d436062785606d44467b
|
lib/codeql/rust/elements/internal/generated/RangePat.qll efd93730de217cf50dcba5875595263a5eadf9f7e4e1272401342a094d158614 229b251b3d118932e31e78ac4dfb75f48b766f240f20d436062785606d44467b
|
||||||
lib/codeql/rust/elements/internal/generated/Raw.qll b342060fd7fe2214eea191859f559334a8a64cf6785048f784ed641ea1e616fd 4737f09bbd2e190eee9bb83476a0045887ff2982dd06cd4e6538fc31637ab521
|
lib/codeql/rust/elements/internal/generated/Raw.qll 9476dd5a6607f722de107b51713c1f529e95429416c7e0d102b78779cf826fe6 b3a4d58fb560c89344ac734cfda3df7f4dcb627c2db79dbe26babd6a67e69dce
|
||||||
lib/codeql/rust/elements/internal/generated/RecordExpr.qll eb6cb662e463f9260efae1a6ce874fa781172063b916ef1963f861e9942d308d 1a21cbccc8f3799ff13281e822818ebfb21d81591720a427cac3625512cb9d40
|
lib/codeql/rust/elements/internal/generated/RecordExpr.qll eb6cb662e463f9260efae1a6ce874fa781172063b916ef1963f861e9942d308d 1a21cbccc8f3799ff13281e822818ebfb21d81591720a427cac3625512cb9d40
|
||||||
lib/codeql/rust/elements/internal/generated/RecordExprField.qll 7e9f8663d3b74ebbc9603b10c9912f082febba6bd73d344b100bbd3edf837802 fbe6b578e7fd5d5a6f21bbb8c388957ab7210a6a249ec71510a50fb35b319ea1
|
lib/codeql/rust/elements/internal/generated/RecordExprField.qll 7e9f8663d3b74ebbc9603b10c9912f082febba6bd73d344b100bbd3edf837802 fbe6b578e7fd5d5a6f21bbb8c388957ab7210a6a249ec71510a50fb35b319ea1
|
||||||
lib/codeql/rust/elements/internal/generated/RecordExprFieldList.qll 179a97211fe7aa6265085d4d54115cdbc0e1cd7c9b2135591e8f36d6432f13d3 dd44bbbc1e83a1ed3a587afb729d7debf7aeb7b63245de181726af13090e50c0
|
lib/codeql/rust/elements/internal/generated/RecordExprFieldList.qll 179a97211fe7aa6265085d4d54115cdbc0e1cd7c9b2135591e8f36d6432f13d3 dd44bbbc1e83a1ed3a587afb729d7debf7aeb7b63245de181726af13090e50c0
|
||||||
|
|||||||
@@ -2172,7 +2172,7 @@ module Raw {
|
|||||||
/**
|
/**
|
||||||
* Gets the scrutinee (the expression being matched) of this match expression, if it exists.
|
* Gets the scrutinee (the expression being matched) of this match expression, if it exists.
|
||||||
*/
|
*/
|
||||||
Expr getScrutinee() { match_expr_exprs(this, result) }
|
Expr getScrutinee() { match_expr_scrutinees(this, result) }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the match arm list of this match expression, if it exists.
|
* Gets the match arm list of this match expression, if it exists.
|
||||||
|
|||||||
@@ -1896,9 +1896,9 @@ match_expr_attrs(
|
|||||||
);
|
);
|
||||||
|
|
||||||
#keyset[id]
|
#keyset[id]
|
||||||
match_expr_exprs(
|
match_expr_scrutinees(
|
||||||
int id: @match_expr ref,
|
int id: @match_expr ref,
|
||||||
int expr: @expr ref
|
int scrutinee: @expr ref
|
||||||
);
|
);
|
||||||
|
|
||||||
#keyset[id]
|
#keyset[id]
|
||||||
|
|||||||
@@ -289,7 +289,7 @@ class _:
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
"""
|
"""
|
||||||
expr: _ | ql.name("scrutinee") | doc("scrutinee (the expression being matched) of this match expression")
|
scrutinee: _ | doc("scrutinee (the expression being matched) of this match expression")
|
||||||
|
|
||||||
|
|
||||||
@annotate(ContinueExpr, cfg = True)
|
@annotate(ContinueExpr, cfg = True)
|
||||||
|
|||||||
2
rust/schema/ast.py
generated
2
rust/schema/ast.py
generated
@@ -364,7 +364,7 @@ class MatchArmList(AstNode):
|
|||||||
|
|
||||||
class MatchExpr(Expr):
|
class MatchExpr(Expr):
|
||||||
attrs: list["Attr"] | child
|
attrs: list["Attr"] | child
|
||||||
expr: optional["Expr"] | child
|
scrutinee: optional["Expr"] | child
|
||||||
match_arm_list: optional["MatchArmList"] | child
|
match_arm_list: optional["MatchArmList"] | child
|
||||||
|
|
||||||
class MatchGuard(AstNode):
|
class MatchGuard(AstNode):
|
||||||
|
|||||||
Reference in New Issue
Block a user