Rust: expand attribute macros

This commit is contained in:
Paolo Tranquilli
2025-04-17 18:09:15 +02:00
committed by Paolo Tranquilli
parent 3437210d32
commit 49cf1739a4
66 changed files with 16543 additions and 1354 deletions

View File

@@ -46,8 +46,7 @@ codeql_rust_binary(
) + [":codegen"],
aliases = aliases(),
args = ["$(rlocationpath :rust.ungram)"],
compile_data = glob(["src/templates/*.mustache"]),
data = [":rust.ungram"],
data = [":rust.ungram"] + glob(["templates/*.mustache"]),
proc_macro_deps = all_crate_deps(
proc_macro = True,
),

View File

@@ -142,6 +142,7 @@ fn fix_blank_lines(s: &str) -> String {
fn write_schema(
grammar: &AstSrc,
super_types: BTreeMap<String, BTreeSet<String>>,
mustache_ctx: &mustache::Context,
) -> mustache::Result<String> {
let mut schema = Schema::default();
schema.classes.extend(
@@ -156,7 +157,7 @@ fn write_schema(
.iter()
.map(|node| node_src_to_schema_class(node, &super_types)),
);
let template = mustache::compile_str(include_str!("templates/schema.mustache"))?;
let template = mustache_ctx.compile_path("schema")?;
let res = template.render_to_string(&schema)?;
Ok(fix_blank_lines(&res))
}
@@ -541,7 +542,7 @@ fn node_to_extractor_info(node: &AstNodeSrc) -> ExtractorNodeInfo {
}
}
fn write_extractor(grammar: &AstSrc) -> mustache::Result<String> {
fn write_extractor(grammar: &AstSrc, mustache_ctx: &mustache::Context) -> mustache::Result<String> {
let extractor_info = ExtractorInfo {
enums: grammar
.enums
@@ -550,7 +551,7 @@ fn write_extractor(grammar: &AstSrc) -> mustache::Result<String> {
.collect(),
nodes: grammar.nodes.iter().map(node_to_extractor_info).collect(),
};
let template = mustache::compile_str(include_str!("templates/extractor.mustache"))?;
let template = mustache_ctx.compile_path("extractor")?;
let res = template.render_to_string(&extractor_info)?;
Ok(fix_blank_lines(&res))
}
@@ -578,8 +579,13 @@ fn main() -> anyhow::Result<()> {
let super_class_y = super_types.get(&y.name).into_iter().flatten().max();
super_class_x.cmp(&super_class_y).then(x.name.cmp(&y.name))
});
let schema = write_schema(&grammar, super_types)?;
let schema_path = project_root().join("schema/ast.py");
let root = project_root();
let mustache_ctx = mustache::Context {
template_path: root.join("ast-generator").join("templates"),
template_extension: "mustache".to_string(),
};
let schema = write_schema(&grammar, super_types, &mustache_ctx)?;
let schema_path = root.join("schema/ast.py");
codegen::ensure_file_contents(
crate::flags::CodegenType::Grammar,
&schema_path,
@@ -587,7 +593,7 @@ fn main() -> anyhow::Result<()> {
false,
);
let extractor = write_extractor(&grammar)?;
let extractor = write_extractor(&grammar, &mustache_ctx)?;
let extractor_path = project_root().join("extractor/src/translate/generated.rs");
codegen::ensure_file_contents(
crate::flags::CodegenType::Grammar,

View File

@@ -1,7 +1,5 @@
//! Generated by `ast-generator`, do not edit by hand.
¶{{! <- denotes empty line that should be kept, all blank lines are removed otherwise}}
#![cfg_attr(any(), rustfmt::skip)]
use super::base::Translator;
use super::mappings::TextValue;
use crate::emit_detached;
@@ -11,30 +9,33 @@ use ra_ap_syntax::ast::{
HasArgList, HasAttrs, HasGenericArgs, HasGenericParams, HasLoopBody, HasModuleItem, HasName,
HasTypeBounds, HasVisibility, RangeItem,
};
use ra_ap_syntax::{ast, AstNode};
#[rustfmt::skip]
use ra_ap_syntax::{AstNode, ast};
impl Translator<'_> {
fn emit_else_branch(&mut self, node: ast::ElseBranch) -> Option<Label<generated::Expr>> {
fn emit_else_branch(&mut self, node: &ast::ElseBranch) -> Option<Label<generated::Expr>> {
match node {
ast::ElseBranch::IfExpr(inner) => self.emit_if_expr(inner).map(Into::into),
ast::ElseBranch::Block(inner) => self.emit_block_expr(inner).map(Into::into),
}
}
{{#enums}}
pub(crate) fn emit_{{snake_case_name}}(&mut self, node: ast::{{ast_name}}) -> Option<Label<generated::{{name}}>> {
match node {
pub(crate) fn emit_{{snake_case_name}}(&mut self, node: &ast::{{ast_name}}) -> Option<Label<generated::{{name}}>> {
let label = match node {
{{#variants}}
ast::{{ast_name}}::{{variant_ast_name}}(inner) => self.emit_{{snake_case_name}}(inner).map(Into::into),
{{/variants}}
}
}?;
emit_detached!({{name}}, self, node, label);
Some(label)
}
{{/enums}}
{{#nodes}}
pub(crate) fn emit_{{snake_case_name}}(&mut self, node: ast::{{ast_name}}) -> Option<Label<generated::{{name}}>> {
pub(crate) fn emit_{{snake_case_name}}(&mut self, node: &ast::{{ast_name}}) -> Option<Label<generated::{{name}}>> {
{{#has_attrs}}
if self.should_be_excluded(&node) { return None; }
if self.should_be_excluded(node) { return None; }
{{/has_attrs}}
{{#fields}}
{{#predicate}}
@@ -44,10 +45,10 @@ impl Translator<'_> {
let {{name}} = node.try_get_text();
{{/string}}
{{#list}}
let {{name}} = node.{{method}}().filter_map(|x| self.emit_{{snake_case_ty}}(x)).collect();
let {{name}} = node.{{method}}().filter_map(|x| self.emit_{{snake_case_ty}}(&x)).collect();
{{/list}}
{{#optional}}
let {{name}} = node.{{method}}().and_then(|x| self.emit_{{snake_case_ty}}(x));
let {{name}} = node.{{method}}().and_then(|x| self.emit_{{snake_case_ty}}(&x));
{{/optional}}
{{/fields}}
let label = self.trap.emit(generated::{{name}} {
@@ -56,9 +57,9 @@ impl Translator<'_> {
{{name}},
{{/fields}}
});
self.emit_location(label, &node);
self.emit_location(label, node);
emit_detached!({{name}}, self, node, label);
self.emit_tokens(&node, label.into(), node.syntax().children_with_tokens());
self.emit_tokens(node, label.into(), node.syntax().children_with_tokens());
Some(label)
}
{{/nodes}}

View File

@@ -7,6 +7,7 @@ _args = [
"//rust/ast-generator:Cargo.toml",
"//misc/codegen",
"//rust:codegen-conf",
"@rules_rust//tools/rustfmt:upstream_rustfmt",
]
sh_binary(

View File

@@ -9,7 +9,9 @@ grammar_file="$(rlocation "$2")"
ast_generator_manifest="$(rlocation "$3")"
codegen="$(rlocation "$4")"
codegen_conf="$(rlocation "$5")"
shift 5
rustfmt="$(rlocation "$6")"
shift 6
CARGO_MANIFEST_DIR="$(dirname "$ast_generator_manifest")" "$ast_generator" "$grammar_file"
"$rustfmt" "$(dirname "$ast_generator_manifest")/../extractor/src/translate/generated.rs"
"$codegen" --configuration-file="$codegen_conf" "$@"

View File

@@ -0,0 +1,7 @@
class Element extends @element {
string toString() { none() }
}
query predicate new_macro_call_expandeds(Element id, Element expanded) {
item_expandeds(id, expanded) and macro_calls(id)
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,4 @@
description: Move `expanded` back from all `@item`s to `@macro_call`s only
compatibility: backwards
item_expandeds.rel: delete
macro_call_expandeds.rel: run downgrade.ql new_macro_call_expandeds

View File

@@ -1,2 +1,2 @@
mod.rs 4bcb9def847469aae9d8649461546b7c21ec97cf6e63d3cf394e339915ce65d7 4bcb9def847469aae9d8649461546b7c21ec97cf6e63d3cf394e339915ce65d7
top.rs 060225ccbae440eef117e2ef0a82f3deba29e6ba2d35f00281f9c0e6a945e692 060225ccbae440eef117e2ef0a82f3deba29e6ba2d35f00281f9c0e6a945e692
top.rs af7f3cf5d0941e7dffd6fa4ce75ac432f433a5367a408fb944176dc1a932883b af7f3cf5d0941e7dffd6fa4ce75ac432f433a5367a408fb944176dc1a932883b

View File

@@ -5818,6 +5818,12 @@ pub struct Item {
_unused: ()
}
impl Item {
pub fn emit_expanded(id: trap::Label<Self>, value: trap::Label<AstNode>, out: &mut trap::Writer) {
out.add_tuple("item_expandeds", vec![id.into(), value.into()]);
}
}
impl trap::TrapClass for Item {
fn class_name() -> &'static str { "Item" }
}
@@ -9765,12 +9771,6 @@ impl trap::TrapEntry for MacroCall {
}
}
impl MacroCall {
pub fn emit_expanded(id: trap::Label<Self>, value: trap::Label<AstNode>, out: &mut trap::Writer) {
out.add_tuple("macro_call_expandeds", vec![id.into(), value.into()]);
}
}
impl trap::TrapClass for MacroCall {
fn class_name() -> &'static str { "MacroCall" }
}

View File

@@ -89,7 +89,7 @@ impl<'a> Extractor<'a> {
no_location,
);
}
translator.emit_source_file(ast);
translator.emit_source_file(&ast);
translator.trap.commit().unwrap_or_else(|err| {
error!(
"Failed to write trap file for: {}: {}",

View File

@@ -11,7 +11,7 @@ use ra_ap_hir::{
};
use ra_ap_hir_def::ModuleId;
use ra_ap_hir_def::type_ref::Mutability;
use ra_ap_hir_expand::ExpandTo;
use ra_ap_hir_expand::{ExpandResult, ExpandTo};
use ra_ap_ide_db::RootDatabase;
use ra_ap_ide_db::line_index::{LineCol, LineIndex};
use ra_ap_parser::SyntaxKind;
@@ -25,50 +25,53 @@ use ra_ap_syntax::{
#[macro_export]
macro_rules! emit_detached {
(MacroCall, $self:ident, $node:ident, $label:ident) => {
$self.extract_macro_call_expanded(&$node, $label);
$self.extract_macro_call_expanded($node, $label);
};
(Function, $self:ident, $node:ident, $label:ident) => {
$self.extract_canonical_origin(&$node, $label.into());
$self.extract_canonical_origin($node, $label.into());
};
(Trait, $self:ident, $node:ident, $label:ident) => {
$self.extract_canonical_origin(&$node, $label.into());
$self.extract_canonical_origin($node, $label.into());
};
(Struct, $self:ident, $node:ident, $label:ident) => {
$self.extract_canonical_origin(&$node, $label.into());
$self.extract_canonical_origin($node, $label.into());
};
(Enum, $self:ident, $node:ident, $label:ident) => {
$self.extract_canonical_origin(&$node, $label.into());
$self.extract_canonical_origin($node, $label.into());
};
(Union, $self:ident, $node:ident, $label:ident) => {
$self.extract_canonical_origin(&$node, $label.into());
$self.extract_canonical_origin($node, $label.into());
};
(Module, $self:ident, $node:ident, $label:ident) => {
$self.extract_canonical_origin(&$node, $label.into());
$self.extract_canonical_origin($node, $label.into());
};
(Variant, $self:ident, $node:ident, $label:ident) => {
$self.extract_canonical_origin_of_enum_variant(&$node, $label);
$self.extract_canonical_origin_of_enum_variant($node, $label);
};
(Item, $self:ident, $node:ident, $label:ident) => {
$self.emit_item_expansion($node, $label);
};
// TODO canonical origin of other items
(PathExpr, $self:ident, $node:ident, $label:ident) => {
$self.extract_path_canonical_destination(&$node, $label.into());
$self.extract_path_canonical_destination($node, $label.into());
};
(StructExpr, $self:ident, $node:ident, $label:ident) => {
$self.extract_path_canonical_destination(&$node, $label.into());
$self.extract_path_canonical_destination($node, $label.into());
};
(PathPat, $self:ident, $node:ident, $label:ident) => {
$self.extract_path_canonical_destination(&$node, $label.into());
$self.extract_path_canonical_destination($node, $label.into());
};
(StructPat, $self:ident, $node:ident, $label:ident) => {
$self.extract_path_canonical_destination(&$node, $label.into());
$self.extract_path_canonical_destination($node, $label.into());
};
(TupleStructPat, $self:ident, $node:ident, $label:ident) => {
$self.extract_path_canonical_destination(&$node, $label.into());
$self.extract_path_canonical_destination($node, $label.into());
};
(MethodCallExpr, $self:ident, $node:ident, $label:ident) => {
$self.extract_method_canonical_destination(&$node, $label);
$self.extract_method_canonical_destination($node, $label);
};
(PathSegment, $self:ident, $node:ident, $label:ident) => {
$self.extract_types_from_path_segment(&$node, $label.into());
$self.extract_types_from_path_segment($node, $label.into());
};
($($_:tt)*) => {};
}
@@ -252,7 +255,11 @@ impl<'a> Translator<'a> {
}
}
}
fn emit_macro_expansion_parse_errors(&mut self, mcall: &ast::MacroCall, expanded: &SyntaxNode) {
fn emit_macro_expansion_parse_errors(
&mut self,
node: &impl ast::AstNode,
expanded: &SyntaxNode,
) {
let semantics = self.semantics.as_ref().unwrap();
if let Some(value) = semantics
.hir_file_for(expanded)
@@ -266,7 +273,7 @@ impl<'a> Translator<'a> {
if let Some(err) = &value.err {
let error = err.render_to_string(semantics.db);
if err.span().anchor.file_id == semantics.hir_file_for(mcall.syntax()) {
if err.span().anchor.file_id == semantics.hir_file_for(node.syntax()) {
let location = err.span().range
+ semantics
.db
@@ -274,11 +281,11 @@ impl<'a> Translator<'a> {
.get_erased(err.span().anchor.ast_id)
.text_range()
.start();
self.emit_parse_error(mcall, &SyntaxError::new(error.message, location));
self.emit_parse_error(node, &SyntaxError::new(error.message, location));
};
}
for err in value.value.iter() {
self.emit_parse_error(mcall, err);
self.emit_parse_error(node, err);
}
}
}
@@ -290,20 +297,20 @@ impl<'a> Translator<'a> {
) -> Option<Label<generated::AstNode>> {
match expand_to {
ra_ap_hir_expand::ExpandTo::Statements => ast::MacroStmts::cast(expanded)
.and_then(|x| self.emit_macro_stmts(x))
.and_then(|x| self.emit_macro_stmts(&x))
.map(Into::into),
ra_ap_hir_expand::ExpandTo::Items => ast::MacroItems::cast(expanded)
.and_then(|x| self.emit_macro_items(x))
.and_then(|x| self.emit_macro_items(&x))
.map(Into::into),
ra_ap_hir_expand::ExpandTo::Pattern => ast::Pat::cast(expanded)
.and_then(|x| self.emit_pat(x))
.and_then(|x| self.emit_pat(&x))
.map(Into::into),
ra_ap_hir_expand::ExpandTo::Type => ast::Type::cast(expanded)
.and_then(|x| self.emit_type(x))
.and_then(|x| self.emit_type(&x))
.map(Into::into),
ra_ap_hir_expand::ExpandTo::Expr => ast::Expr::cast(expanded)
.and_then(|x| self.emit_expr(x))
.and_then(|x| self.emit_expr(&x))
.map(Into::into),
}
}
@@ -321,7 +328,7 @@ impl<'a> Translator<'a> {
let expand_to = ra_ap_hir_expand::ExpandTo::from_call_site(mcall);
let kind = expanded.kind();
if let Some(value) = self.emit_expanded_as(expand_to, expanded) {
generated::MacroCall::emit_expanded(label, value, &mut self.trap.writer);
generated::Item::emit_expanded(label.into(), value, &mut self.trap.writer);
} else {
let range = self.text_range_for_node(mcall);
self.emit_parse_error(mcall, &SyntaxError::new(
@@ -626,17 +633,31 @@ impl<'a> Translator<'a> {
if let Some(t) = type_refs
.next()
.and_then(ast::Type::cast)
.and_then(|t| self.emit_type(t))
.and_then(|t| self.emit_type(&t))
{
generated::PathSegment::emit_type_repr(label, t, &mut self.trap.writer)
}
if let Some(t) = type_refs
.next()
.and_then(ast::PathType::cast)
.and_then(|t| self.emit_path_type(t))
.and_then(|t| self.emit_path_type(&t))
{
generated::PathSegment::emit_trait_type_repr(label, t, &mut self.trap.writer)
}
}
}
pub(crate) fn emit_item_expansion(&mut self, node: &ast::Item, label: Label<generated::Item>) {
(|| {
let semantics = self.semantics?;
let ExpandResult {
value: expanded, ..
} = semantics.expand_attr_macro(node)?;
// TODO emit err?
self.emit_macro_expansion_parse_errors(node, &expanded);
let expanded = self.emit_expanded_as(ExpandTo::Items, expanded)?;
generated::Item::emit_expanded(label, expanded, &mut self.trap.writer);
Some(())
})();
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,4 @@
lib/codeql/rust/controlflow/internal/generated/CfgNodes.qll d1cc3cfc9ae558b1cb473e3bfca66e5c424445b98ce343eb6f3050321fe4f8a0 8d00e385230b45360bc6281af01e0f674c58117593fd1b3cb7eb0c8a45517542
lib/codeql/rust/controlflow/internal/generated/CfgNodes.qll 9452207ba069c4174b9e2903614380c5fb09dccd46e612d6c68ed4305b26ac70 3dbc42e9091ea12456014425df347230471da3afd5e811136a9bc58ba6e5880a
lib/codeql/rust/elements/Abi.qll 4c973d28b6d628f5959d1f1cc793704572fd0acaae9a97dfce82ff9d73f73476 250f68350180af080f904cd34cb2af481c5c688dc93edf7365fd0ae99855e893
lib/codeql/rust/elements/Addressable.qll 13011bfd2e1556694c3d440cc34af8527da4df49ad92b62f2939d3699ff2cea5 ddb25935f7553a1a384b1abe2e4b4fa90ab50b952dadec32fd867afcb054f4be
lib/codeql/rust/elements/ArgList.qll 661f5100f5d3ef8351452d9058b663a2a5c720eea8cf11bedd628969741486a2 28e424aac01a90fb58cd6f9f83c7e4cf379eea39e636bc0ba07efc818be71c71
@@ -74,7 +74,7 @@ lib/codeql/rust/elements/Impl.qll 6407348d86e73cdb68e414f647260cb82cb90bd40860ba
lib/codeql/rust/elements/ImplTraitTypeRepr.qll e2d5a3ade0a9eb7dcb7eec229a235581fe6f293d1cb66b1036f6917c01dff981 49367cada57d1873c9c9d2b752ee6191943a23724059b2674c2d7f85497cff97
lib/codeql/rust/elements/IndexExpr.qll 0e2e9f018d06ae72be0fc4ddbc019a9aacd8a06f42b4c4431760bd149e7f2290 2bcfd557abd53a48e48de7915c4f2089107c62dfb3e732a904848248dfd3727b
lib/codeql/rust/elements/InferTypeRepr.qll 0a7b3e92512b2b167a8e04d650e12700dbbb8b646b10694056d622ba2501d299 e5e67b7c1124f430750f186da4642e646badcdcf66490dd328af3e64ac8da9e9
lib/codeql/rust/elements/Item.qll 59353bf99dea5b464f45ed0dc5cef2db8208e92985d81dcd0b5ea09b638d10e4 2b0b87a4b1a1d9b512a67279d1dec2089d22d1df121585f7a9ca9661d689f74f
lib/codeql/rust/elements/Item.qll b1c41dcdd51fc94248abd52e838d9ca4d6f8c41f22f7bd1fa2e357b99d237b48 b05416c85d9f2ee67dbf25d2b900c270524b626f0b389fe0c9b90543fd05d8e1
lib/codeql/rust/elements/ItemList.qll c33e46a9ee45ccb194a0fe5b30a6ad3bcecb0f51486c94e0191a943710a17a7d 5a69c4e7712b4529681c4406d23dc1b6b9e5b3c03552688c55addab271912ed5
lib/codeql/rust/elements/Label.qll a31d41db351af7f99a55b26cdbbc7f13b4e96b660a74e2f1cc90c17ee8df8d73 689f87cb056c8a2aefe1a0bfc2486a32feb44eb3175803c61961a6aeee53d66e
lib/codeql/rust/elements/LabelableExpr.qll 598be487cd051b004ab95cbbc3029100069dc9955851c492029d80f230e56f0d 92c49b3cfdaba07982f950e18a8d62dae4e96f5d9ae0d7d2f4292628361f0ddc
@@ -89,7 +89,7 @@ lib/codeql/rust/elements/LiteralPat.qll daffb5f380a47543669c8cc92628b0e0de478c3a
lib/codeql/rust/elements/Locatable.qll 2855efa4a469b54e0ca85daa89309a8b991cded6f3f10db361010831ba1e11d3 00c3406d14603f90abea11bf074eaf2c0b623a30e29cf6afc3a247cb58b92f0f
lib/codeql/rust/elements/LoopExpr.qll ee171177650fa23eef102a9580765f4b6073a1cc41bab1ec31ad4f84ffe6c2c9 bfcf0cca4dc944270d9748a202829a38c64dfae167c0d3a4202788ceb9daf5f6
lib/codeql/rust/elements/LoopingExpr.qll 7ad7d4bbfd05adc0bb9b4ca90ff3377b8298121ca5360ffb45d5a7a1e20fe37a 964168b2045ee9bad827bba53f10a64d649b3513f2d1e3c17a1b1f11d0fc7f3a
lib/codeql/rust/elements/MacroCall.qll a39a11d387355f59af3007dcbab3282e2b9e3289c1f8f4c6b96154ddb802f8c3 88d4575e462af2aa780219ba1338a790547fdfc1d267c4b84f1b929f4bc08d05
lib/codeql/rust/elements/MacroCall.qll 16933db15c6c0dbb717ef442f751ad8f63c444f36a12f8d56b8a05a3e5f71d1b ac05cbf50e4b06f39f58817cddbeac6f804c2d1e4f60956a960d63d495e7183d
lib/codeql/rust/elements/MacroDef.qll acb39275a1a3257084314a46ad4d8477946130f57e401c70c5949ad6aafc5c5f 6a8a8db12a3ec345fede51ca36e8c6acbdce58c5144388bb94f0706416fa152a
lib/codeql/rust/elements/MacroExpr.qll ea9fed13f610bab1a2c4541c994510e0cb806530b60beef0d0c36b23e3b620f0 ad11a6bbd3a229ad97a16049cc6b0f3c8740f9f75ea61bbf4eebb072db9b12d2
lib/codeql/rust/elements/MacroItems.qll 00a5d41f7bb836d952abbd9382e42f72a9d81e65646a15a460b35ccd07a866c6 00efdb4d701b5599d76096f740da9ec157804865267b7e29bc2a214cbf03763e
@@ -536,7 +536,7 @@ lib/codeql/rust/elements/internal/generated/Impl.qll 863281820a933a86e6890e31a25
lib/codeql/rust/elements/internal/generated/ImplTraitTypeRepr.qll a1bbebe97a0421f02d2f2ee6c67c7d9107f897b9ba535ec2652bbd27c35d61df ba1f404a5d39cf560e322294194285302fe84074b173e049333fb7f4e5c8b278
lib/codeql/rust/elements/internal/generated/IndexExpr.qll cf951fc40f6690e966b4dc78fa9a6221aa5c6cade44759dcb52254f799292d11 1572e71918cc4e0b7e028331b6d98c9db23100a3646cd3874d1915e06ab6211d
lib/codeql/rust/elements/internal/generated/InferTypeRepr.qll dab311562be68a2fcbbe29956b0c3fc66d58348658b734e59f7d080c820093ae ca099ecf9803d3c03b183e4ba19f998e24c881c86027b25037914884ce3de20e
lib/codeql/rust/elements/internal/generated/Item.qll 97f204f27c12689a01fef502a4eec3b587e4eaccd278ec07a34c70a33ce6119d 139af2d44f794d0f91d9aabc3d50d895107c34bd9bcb72457a2e243c14622e51
lib/codeql/rust/elements/internal/generated/Item.qll 24f388cf0d9a47b38b6cfb93bbe92b9f0cbd0b05e9aa0e6adc1d8056b2cd2f57 66a14e6ff2190e8eebf879b02d0a9a38467e293d6be60685a08542ca1fc34803
lib/codeql/rust/elements/internal/generated/ItemList.qll 73c8398a96d4caa47a2dc114d76c657bd3fcc59e4c63cb397ffac4a85b8cf8ab 540a13ca68d414e3727c3d53c6b1cc97687994d572bc74b3df99ecc8b7d8e791
lib/codeql/rust/elements/internal/generated/Label.qll 6630fe16e9d2de6c759ff2684f5b9950bc8566a1525c835c131ebb26f3eea63e 671143775e811fd88ec90961837a6c0ee4db96e54f42efd80c5ae2571661f108
lib/codeql/rust/elements/internal/generated/LabelableExpr.qll 896fd165b438b60d7169e8f30fa2a94946490c4d284e1bbadfec4253b909ee6c 5c6b029ea0b22cf096df2b15fe6f9384ad3e65b50b253cae7f19a2e5ffb04a58
@@ -551,7 +551,7 @@ lib/codeql/rust/elements/internal/generated/LiteralPat.qll f36b09cf39330019c111e
lib/codeql/rust/elements/internal/generated/Locatable.qll c897dc1bdd4dfcb6ded83a4a93332ca3d8f421bae02493ea2a0555023071775e b32d242f8c9480dc9b53c1e13a5cb8dcfce575b0373991c082c1db460a3e37b8
lib/codeql/rust/elements/internal/generated/LoopExpr.qll db6bc87e795c9852426ec661fa2c2c54106805897408b43a67f5b82fb4657afd 1492866ccf8213469be85bbdbcae0142f4e2a39df305d4c0d664229ecd1ebdb9
lib/codeql/rust/elements/internal/generated/LoopingExpr.qll 0792c38d84b8c68114da2bbdfef32ef803b696cb0fd06e10e101756d5c46976c 111fe961fad512722006323c3f2a075fddf59bd3eb5c7afc349835fcec8eb102
lib/codeql/rust/elements/internal/generated/MacroCall.qll fc8988696493992cc4fdce8c0e5610c54ee92ea52ebb05262338f8b612353f50 188a2d7a484bd402a521787371e64f6e00e928306c8d437e6b19bf890a7aa14e
lib/codeql/rust/elements/internal/generated/MacroCall.qll 8b49d44e6aeac26dc2fc4b9ba03c482c65ebf0cba089d16f9d65e784e48ccbb0 9ecf6e278007adcbdc42ed1c10e7b1c0652b6c64738b780d256c9326afa3b393
lib/codeql/rust/elements/internal/generated/MacroDef.qll e9b3f07ba41aa12a8e0bd6ec1437b26a6c363065ce134b6d059478e96c2273a6 87470dea99da1a6afb3a19565291f9382e851ba864b50a995ac6f29589efbd70
lib/codeql/rust/elements/internal/generated/MacroExpr.qll 03a1daa41866f51e479ac20f51f8406d04e9946b24f3875e3cf75a6b172c3d35 1ae8ca0ee96bd2be32575d87c07cc999a6ff7770151b66c0e3406f9454153786
lib/codeql/rust/elements/internal/generated/MacroItems.qll 894890f61e118b3727d03ca813ae7220a15e45195f2d1d059cb1bba6802128c8 db3854b347f8782a3ec9f9a1439da822727b66f0bd33727383184ab65dbf29ac
@@ -579,7 +579,7 @@ lib/codeql/rust/elements/internal/generated/ParamList.qll c808c9d84dd7800573832b
lib/codeql/rust/elements/internal/generated/ParenExpr.qll bc0731505bfe88516205ec360582a4222d2681d11342c93e15258590ddee82f2 d4bd6e0c80cf1d63746c88d4bcb3a01d4c75732e5da09e3ebd9437ced227fb60
lib/codeql/rust/elements/internal/generated/ParenPat.qll 4f168ef5d5bb87a903251cc31b2e44a759b099ec69c90af31783fbb15778c940 0e34f94a45a13396fd57d94c245dc64d1adde2ab0e22b56946f7e94c04e297fc
lib/codeql/rust/elements/internal/generated/ParenTypeRepr.qll 40ab5c592e7699c621787793743e33988de71ff42ca27599f5ab3ddb70e3f7d8 12c0a6eed2202ee3e892f61da3b3ce77ac3190854cdf3097e8d2be98aa3cb91d
lib/codeql/rust/elements/internal/generated/ParentChild.qll d1770632e8d0c649ebcbcab9cbc653531ecf521bbf5d891941db8c0927ae6796 fb40a76aff319ec5f7dae9a05da083b337887b0918b3702641b39342213ddf6f
lib/codeql/rust/elements/internal/generated/ParentChild.qll b9fe4919578ae4889e6993df712b685da3dc2d6559b2a2b34a466c604623feee 306fb39ad5d3877c8afcce14aa6be67ff099b334279bd0ce6b2012719a1e812a
lib/codeql/rust/elements/internal/generated/ParenthesizedArgList.qll c5fa328ea60d3a3333d7c7bb3480969c1873166c7ac8ebb9d0afad7a8099d1a8 2dbbb6200d96f7db7dea4a55bdeab8d67b14d39a43e0bd54ada019f7e466f163
lib/codeql/rust/elements/internal/generated/Pat.qll 3605ac062be2f294ee73336e9669027b8b655f4ad55660e1eab35266275154ee 7f9400db2884d336dd1d21df2a8093759c2a110be9bf6482ce8e80ae0fd74ed4
lib/codeql/rust/elements/internal/generated/Path.qll 9b12afb46fc5a9ad3a811b05472621bbecccb900c47504feb7f29d96b28421ca bcacbffc36fb3e0c9b26523b5963af0ffa9fd6b19f00a2a31bdb2316071546bd
@@ -594,7 +594,7 @@ lib/codeql/rust/elements/internal/generated/PtrTypeRepr.qll 51d1e9e683fc79dddbff
lib/codeql/rust/elements/internal/generated/PureSynthConstructors.qll e5b8e69519012bbaae29dcb82d53f7f7ecce368c0358ec27ef6180b228a0057f e5b8e69519012bbaae29dcb82d53f7f7ecce368c0358ec27ef6180b228a0057f
lib/codeql/rust/elements/internal/generated/RangeExpr.qll 23cca03bf43535f33b22a38894f70d669787be4e4f5b8fe5c8f7b964d30e9027 18624cef6c6b679eeace2a98737e472432e0ead354cca02192b4d45330f047c9
lib/codeql/rust/elements/internal/generated/RangePat.qll 80826a6a6868a803aa2372e31c52a03e1811a3f1f2abdb469f91ca0bfdd9ecb6 34ee1e208c1690cba505dff2c588837c0cd91e185e2a87d1fe673191962276a9
lib/codeql/rust/elements/internal/generated/Raw.qll 6e33d9fa21ee3287a0ebc27856a09f4fdc4d587b5a31ff1c4337106de7ca1a2e eece38e6accb6b9d8838fd05edd7cbaf6f7ee37190adbef2b023ad91064d1622
lib/codeql/rust/elements/internal/generated/Raw.qll 6cfbf74f0635ce379cce096cdfe70c33b74c7e3a35d2e3af2e93bc06d374efee 5b20172d0662bdbcca737e94ee6ceefc58503898b9584bef372720fea0be2671
lib/codeql/rust/elements/internal/generated/RefExpr.qll 7d995884e3dc1c25fc719f5d7253179344d63650e217e9ff6530285fe7a57f64 f2c3c12551deea4964b66553fb9b6423ee16fec53bd63db4796191aa60dc6c66
lib/codeql/rust/elements/internal/generated/RefPat.qll 456ede39837463ee22a630ec7ab6c8630d3664a8ea206fcc6e4f199e92fa564c 5622062765f32930465ba6b170e986706f159f6070f48adee3c20e24e8df4e05
lib/codeql/rust/elements/internal/generated/RefTypeRepr.qll 3d8c0bd296d33b91a81633f697a43269a6538df06d277262d3990d3f6880ef57 13680f39e89bcd8299c218aba396f3deec804597e6f7cb7d4a7e7c748b6faa77
@@ -736,10 +736,11 @@ test/extractor-tests/generated/ClosureExpr/ClosureExpr_getClosureBinder.ql cbfcf
test/extractor-tests/generated/ClosureExpr/ClosureExpr_getParamList.ql 68ce501516094512dd5bfed42a785474583a91312f704087cba801b02ba7b834 eacbf89d63159e7decfd84c2a1dc5c067dfce56a8157fbb52bc133e9702d266d
test/extractor-tests/generated/ClosureExpr/ClosureExpr_getRetType.ql c95bc7306b2d77aa05a6501b6321e6f1e7a48b7ad422ba082635ab20014288ae fe72d44c9819b42fff49b9092a9fb2bfafde6d3b9e4967547fb5298822f30bc3
test/extractor-tests/generated/Comment/Comment.ql 5428b8417a737f88f0d55d87de45c4693d81f03686f03da11dc5369e163d977b 8948c1860cde198d49cff7c74741f554a9e89f8af97bb94de80f3c62e1e29244
test/extractor-tests/generated/Const/Const.ql ef2d2730e08ff6c9e5e8473f654e0b023296c51bc9acfbffd7d4cc5caeed7919 906f8624b10b3fade378d29e34af8537f86d9de16a22a188887ecfc165f5ded9
test/extractor-tests/generated/Const/Const.ql ddce26b7dc205fe37651f4b289e62c76b08a2d9e8fdaf911ad22a8fdb2a18bc9 b7c7e3c13582b6424a0afd07588e24a258eff7eb3c8587cc11b20aa054d3c727
test/extractor-tests/generated/Const/Const_getAttr.ql bd6296dab00065db39663db8d09fe62146838875206ff9d8595d06d6439f5043 34cb55ca6d1f44e27d82a8b624f16f9408bae2485c85da94cc76327eed168577
test/extractor-tests/generated/Const/Const_getBody.ql f50f79b7f42bb1043b79ec96f999fa4740c8014e6969a25812d5d023d7a5a5d8 90e5060ba9757f1021429ed4ec4913bc78747f3fc415456ef7e7fc284b8a0026
test/extractor-tests/generated/Const/Const_getCrateOrigin.ql f042bf15f9bde6c62d129601806c79951a2a131b6388e8df24b1dc5d17fe89f7 7c6decb624f087fda178f87f6609510907d2ed3877b0f36e605e2422b4b13f57
test/extractor-tests/generated/Const/Const_getExpanded.ql b2d0dc1857413cdf0e222bda4717951239b8af663522990d3949dfc170fab6f5 a21fed32088db850950cb65128f2f946d498aaa6873720b653d4b9b2787c7d00
test/extractor-tests/generated/Const/Const_getExtendedCanonicalPath.ql 3300b902e1d1f9928cfe918203b87043e13460cfa5348a8c93712d2e26d61ced 71e7b80d3290f17b1c235adaca2c48ae90eb8b2cb24d4c9e6dc66559daf3824c
test/extractor-tests/generated/Const/Const_getName.ql b876a1964bbb857fbe8852fb05f589fba947a494f343e8c96a1171e791aa2b5e 83655b1fbc67a4a1704439726c1138bb6784553e35b6ac16250b807e6cd0f40c
test/extractor-tests/generated/Const/Const_getTypeRepr.ql 87c5deaa31014c40a035deaf149d76b3aca15c4560c93dd6f4b1ee5f76714baa f3e6b31e4877849792778d4535bd0389f3afd482a6a02f9ceb7e792e46fca83e
@@ -759,9 +760,10 @@ test/extractor-tests/generated/ContinueExpr/ContinueExpr_getLifetime.ql 39dae987
test/extractor-tests/generated/Crate/MISSING_SOURCE.txt b6cf5771fdbbe981aeb3f443ec7a40517b6e99ffc9817fd8872c2e344240dae1 b6cf5771fdbbe981aeb3f443ec7a40517b6e99ffc9817fd8872c2e344240dae1
test/extractor-tests/generated/DynTraitTypeRepr/DynTraitTypeRepr.ql 513d64b564f359e1022ae6f3d6d4a8ad637f595f01f29a6c2a167d1c2e8f1f99 0c7a7af6ee1005126b9ab77b2a7732821f85f1d2d426312c98206cbbedc19bb2
test/extractor-tests/generated/DynTraitTypeRepr/DynTraitTypeRepr_getTypeBoundList.ql b20720ff0b147d55cea6f2de44d5bf297e79991eaf103938ccd7ab9d129e9656 eb8c9db2581cea00c29d7772de0b0a125be02c37092217a419f1a2b6a9711a6c
test/extractor-tests/generated/Enum/Enum.ql ed518d828d8e2e4790849284de1d0d5e728dbc2fe5e9f187e8ebfa2d503efd5a 7092b963eb133371e1cbc09d45f8c2308d7093523140b351d67073a8d258643e
test/extractor-tests/generated/Enum/Enum.ql 31645674671eda7b72230cd20b7a2e856190c3a3244e002ab3558787ed1261d9 1f40ee305173af30b244d8e1421a3e521d446d935ece752da5a62f4e57345412
test/extractor-tests/generated/Enum/Enum_getAttr.ql 8109ef2495f4a154e3bb408d549a16c6085e28de3aa9b40b51043af3d007afa7 868cf275a582266ffa8da556d99247bc8af0fdf3b43026c49e250cf0cac64687
test/extractor-tests/generated/Enum/Enum_getCrateOrigin.ql 76d32838b7800ed8e5cab895c9dbea76129f96afab949598bebec2b0cb34b7ff 226d099377c9d499cc614b45aa7e26756124d82f07b797863ad2ac6a6b2f5acb
test/extractor-tests/generated/Enum/Enum_getExpanded.ql 846117a6ee8e04f3d85dce1963bffcbd4bc9b4a95bfab6295c3c87a2f4eda50e 3a9c57fa5c8f514ec172e98126d21b12abe94a3a8a737fb50c838b47fe287ac4
test/extractor-tests/generated/Enum/Enum_getExtendedCanonicalPath.ql 001bb634adc4b20afb241bff41194bc91ba8544d1edd55958a01975e2ac428e1 c7c3fe3dc22a1887981a895a1e5262b1d0ad18f5052c67aa73094586de5212f6
test/extractor-tests/generated/Enum/Enum_getGenericParamList.ql 2a858a07195a4b26b8c92e28519995bd6eba64889bddd126e161038f4a8d78e0 db188f238db915c67b084bc85aa0784c6a20b97b5a5f1966b3530c4c945b5527
test/extractor-tests/generated/Enum/Enum_getName.ql 32a8638534f37bfd416a6906114a3bcaf985af118a165b78f2c8fffd9f1841b8 c9ca8030622932dd6ceab7d41e05f86b923f77067b457fb7ec196fe4f4155397
@@ -770,15 +772,17 @@ test/extractor-tests/generated/Enum/Enum_getVisibility.ql 7fdae1b147d3d2ed41e055
test/extractor-tests/generated/Enum/Enum_getWhereClause.ql 00be944242a2056cd760a59a04d7a4f95910c122fe8ea6eca3efe44be1386b0c 70107b11fb72ed722afa9464acc4a90916822410d6b8bf3b670f6388a193d27d
test/extractor-tests/generated/ExprStmt/ExprStmt.ql 811d3c75a93d081002ecf03f4e299c248f708e3c2708fca9e17b36708da620e5 a4477e67931ba90fd948a7ef778b18b50c8492bae32689356899e7104a6d6794
test/extractor-tests/generated/ExprStmt/ExprStmt_getExpr.ql e269bb222317afe1470eee1be822d305fc37c65bca2999da8d24a86fa9337036 088369d6c5b072192290c34c1828b1068aeedaabdae131594ca529bbb1630548
test/extractor-tests/generated/ExternBlock/ExternBlock.ql 45233abdf39caefd2d1d236990a5fbf06eb0b547d892f1ad3e82b8e3c215bc79 df30e0370ed20bef3b2c5bed6e8c27b27663716e7c9e14e85acb6e33a43f4edc
test/extractor-tests/generated/ExternBlock/ExternBlock.ql 14da23b2b22f3d61a06103d1416ad416333945fd30b3a07b471f351f682c4e16 eaaf4ac8dc23c17d667bc804ed3b88c816c0c5a6127b76e2781faec52534426c
test/extractor-tests/generated/ExternBlock/ExternBlock_getAbi.ql 9b7c7263fcbc84e07361f5b419026a525f781836ede051412b22fb4ddb5d0c6a c3755faa7ffb69ad7d3b4c5d6c7b4d378beca2fa349ea072e3bef4401e18ec99
test/extractor-tests/generated/ExternBlock/ExternBlock_getAttr.ql 78ed6a2d31ccab67b02da4792e9d2c7c7084a9f20eb065d83f64cd1c0a603d1b e548d4fa8a3dc1ca4b7d7b893897537237a01242c187ac738493b9f5c4700521
test/extractor-tests/generated/ExternBlock/ExternBlock_getCrateOrigin.ql 5a2e0b546e17a998156f48f62e711c8a7b920d352516de3518dfcd0dfedde82d 1d11b8a790c943ef215784907ff2e367b13737a5d1c24ad0d869794114deaa32
test/extractor-tests/generated/ExternBlock/ExternBlock_getExpanded.ql 13d466cb7d6ab8d7d5a98237775518826675e7107dbd7a3879133841eacfcadc b091495c25ead5e93b7a4d64443ca8c8bfdeb699a802bd601efa0259610cf9e7
test/extractor-tests/generated/ExternBlock/ExternBlock_getExtendedCanonicalPath.ql 40d6ee4bcb77c2669e07cf8070cc1aadfca22a638412c8fcf35ff892f5393b0c e9782a3b580e076800a1ad013c8f43cdda5c08fee30947599c0c38c2638820d6
test/extractor-tests/generated/ExternBlock/ExternBlock_getExternItemList.ql 2c2b29bdfdc3b27173c068cbaab9946b42053aa14cf371236b4b60ff2e723370 dfc20fc8ef81cdce6f0badd664ef3914d6d49082eb942b1da3f45239b4351e2f
test/extractor-tests/generated/ExternCrate/ExternCrate.ql c6c673d6f533fc47b1a15aac0deb5675ba146c9b53e4575f01e97106969ef38e 5a4d9e6f4fdb689d9687f4e7eb392b184c84bad80eec5dad0da775af27028604
test/extractor-tests/generated/ExternCrate/ExternCrate.ql 3d4a4db58e34e6baa6689c801dd5c63d609549bcd9fa0c554b32042594a0bc46 63568f79c7b9ceb19c1847f5e8567aec6de5b904ef0215b57c7243fcf5e09a7a
test/extractor-tests/generated/ExternCrate/ExternCrate_getAttr.ql cbe8efdfdbe5d46b4cd28d0e9d3bffcf08f0f9a093acf12314c15b692a9e502e 67fe03af83e4460725f371920277186c13cf1ed35629bce4ed9e23dd3d986b95
test/extractor-tests/generated/ExternCrate/ExternCrate_getCrateOrigin.ql c0bf9ba36beb93dc27cd1c688f18b606f961b687fd7a7afd4b3fc7328373dcfb 312da595252812bd311aecb356dd80f2f7dc5ecf77bc956e6478bbe96ec72fd9
test/extractor-tests/generated/ExternCrate/ExternCrate_getExpanded.ql 007d4bae6dad9aa2d7db45dfc683a143d6ce1b3dd752233cdc46218e8bdab0b1 e77fe7e5128ee3673aec69aef44dc43f881a3767705866c956472e0137b86b60
test/extractor-tests/generated/ExternCrate/ExternCrate_getExtendedCanonicalPath.ql 88e16e2bbef466cec43ace25716e354408b5289f9054eaafe38abafd9df327e3 83a69487e16d59492d44d8c02f0baf7898c88ed5fcf67c73ed89d80f00c69fe8
test/extractor-tests/generated/ExternCrate/ExternCrate_getIdentifier.ql 6ce362fb4df37210ce491e2ef4e04c0899a67c7e15b746c37ef87a42b2b5d5f9 5209c8a64d5707e50771521850ff6deae20892d85a82803aad1328c2d6372d09
test/extractor-tests/generated/ExternCrate/ExternCrate_getRename.ql 52007ef7745e7ceb394de73212c5566300eb7962d1de669136633aea0263afb2 da98779b9e82a1b985c1b1310f0d43c784e5e66716a791ac0f2a78a10702f34b
@@ -818,11 +822,12 @@ test/extractor-tests/generated/FormatArgsExpr/FormatTemplateVariableAccess.ql 27
test/extractor-tests/generated/FormatArgsExpr/Format_getArgumentRef.ql 634efdffaae4199aa9d95652cf081a8dc26e88224e24678845f8a67dc24ce090 d0302fee5c50403214771d5c6b896ba7c6e52be10c9bea59720ef2bb954e6f40
test/extractor-tests/generated/FormatArgsExpr/Format_getPrecisionArgument.ql 0d2140f84d0220b0c72c48c6bd272f4cfe1863d1797eddd16a6e238552a61e4d f4fe9b29697041e30764fa3dea44f125546bfb648f32c3474a1e922a4255c534
test/extractor-tests/generated/FormatArgsExpr/Format_getWidthArgument.ql 01ef27dd0bfab273e1ddc57ada0e079ece8a2bfd195ce413261006964b444093 acd0161f86010759417015c5b58044467a7f760f288ec4e8525458c54ae9a715
test/extractor-tests/generated/Function/Function.ql c1c2a9b68c35f839ccd2b5e62e87d1acd94dcc2a3dc4c307c269b84b2a0806e6 1c446f19d2f81dd139aa5a1578d1b165e13bddbaeab8cfee8f0430bced3a99ab
test/extractor-tests/generated/Function/Function.ql 084e8c4a938e0eea6e2cd47b592021891cb2ad04edbec336f87f0f3faf6a7f32 200b8b17eb09f6df13b2e60869b0329b7a59e3d23a3273d17b03f6addd8ebf89
test/extractor-tests/generated/Function/Function_getAbi.ql e5c9c97de036ddd51cae5d99d41847c35c6b2eabbbd145f4467cb501edc606d8 0b81511528bd0ef9e63b19edfc3cb638d8af43eb87d018fad69d6ef8f8221454
test/extractor-tests/generated/Function/Function_getAttr.ql 44067ee11bdec8e91774ff10de0704a8c5c1b60816d587378e86bf3d82e1f660 b4bebf9441bda1f2d1e34e9261e07a7468cbabf53cf8047384f3c8b11869f04e
test/extractor-tests/generated/Function/Function_getBody.ql cf2716a751e309deba703ee4da70e607aae767c1961d3c0ac5b6728f7791f608 3beaf4032924720cb881ef6618a3dd22316f88635c86cbc1be60e3bdad173e21
test/extractor-tests/generated/Function/Function_getCrateOrigin.ql acec761c56b386600443411cabb438d7a88f3a5e221942b31a2bf949e77c14b4 ff2387acb13eebfad614b808278f057a702ef4a844386680b8767f9bb4438461
test/extractor-tests/generated/Function/Function_getExpanded.ql dc93cca67a3436543cd5b8e5c291cceacde523b8652f162532b274e717378293 c0c28eeb6c97690dfc82bd97e31db1a6b72c6410b98eb193270a37fc95952518
test/extractor-tests/generated/Function/Function_getExtendedCanonicalPath.ql 0bcdca25bb92424007cea950409d73ba681e3ffbea53e0508f1d630fccfa8bed ff28c3349f5fc007d5f144e549579bd04870973c0fabef4198edce0fba0ef421
test/extractor-tests/generated/Function/Function_getGenericParamList.ql 0b255791c153b7cb03a64f1b9ab5beccc832984251f37516e1d06ce311e71c2b d200f90d4dd6f8dfd22ce49203423715d5bef27436c56ee553097c668e71c5a1
test/extractor-tests/generated/Function/Function_getName.ql 3d9e0518075d161213485389efe0adf8a9e6352dd1c6233ef0403a9abbcc7ed1 841e644ecefff7e9a82f458bcf14d9976d6a6dbe9191755ead88374d7c086375
@@ -843,10 +848,11 @@ test/extractor-tests/generated/IfExpr/IfExpr_getAttr.ql f5872cdbb21683bed689e753
test/extractor-tests/generated/IfExpr/IfExpr_getCondition.ql 5bab301a1d53fe6ee599edfb17f9c7edb2410ec6ea7108b3f4a5f0a8d14316e3 355183b52cca9dc81591a09891dab799150370fff2034ddcbf7b1e4a7cb43482
test/extractor-tests/generated/IfExpr/IfExpr_getElse.ql 8674cedf42fb7be513fdf6b9c3988308453ae3baf8051649832e7767b366c12f e064e5f0b8e394b080a05a7bccd57277a229c1f985aa4df37daea26aeade4603
test/extractor-tests/generated/IfExpr/IfExpr_getThen.ql 0989ddab2c231c0ee122ae805ffa0d3f0697fb7b6d9e53ee6d32b9140d4b0421 81028f9cd6b417c63091d46a8b85c3b32b1c77eea885f3f93ae12c99685bfe0a
test/extractor-tests/generated/Impl/Impl.ql c473ab1d919fc56b641684b9eb7ba0e65defe554e1bb2fa603b8246a896aa574 16f2f7d8456aee81b395bf8e44fcf0562cfa44294fa03e4f85f3b06f5ff1c57f
test/extractor-tests/generated/Impl/Impl.ql a6e19421a7785408ad5ce8e6508d9f88eceb71fe6f6f4abc5795285ecc778db6 158519bed8a89b8d25921a17f488267af6be626db559bd93bbbe79f07ebfed6c
test/extractor-tests/generated/Impl/Impl_getAssocItemList.ql cf875361c53c081ac967482fd3af8daf735b0bc22f21dcf0936fcf70500a001a 0ad723839fa26d30fa1cd2badd01f9453977eba81add7f0f0a0fcb3adb76b87e
test/extractor-tests/generated/Impl/Impl_getAttr.ql 018bdf6d9a9724d4f497d249de7cecd8bda0ac2340bde64b9b3d7c57482e715b cd065899d92aa35aca5d53ef64eadf7bb195d9a4e8ed632378a4e8c550b850cd
test/extractor-tests/generated/Impl/Impl_getCrateOrigin.ql 494d5524ef7bac1286b8a465e833e98409c13f3f8155edab21d72424944f2ed9 b238ef992fce97699b14a5c45d386a2711287fd88fa44d43d18c0cdfd81ed72c
test/extractor-tests/generated/Impl/Impl_getExpanded.ql ce623514e77f67dda422566531515d839a422e75ea87a10d86ad162fa61e1469 533624938c937835a59326c086e341b7bacab32d84af132e7f3d0d17c6cd4864
test/extractor-tests/generated/Impl/Impl_getExtendedCanonicalPath.ql 3ab82fd7831d22c7ec125908abf9238a9e8562087d783c1c12c108b449c31c83 320afd5dd1cea9017dbc25cc31ebe1588d242e273d27207a5ad2578eee638f7e
test/extractor-tests/generated/Impl/Impl_getGenericParamList.ql 88d5cd8fd03cb4cc2887393ee38b2e2315eeef8c4db40a9bd94cf86b95935bdd 9c72828669ccf8f7ca39851bc36a0c426325a91fc428b49681e4bb680d6547a9
test/extractor-tests/generated/Impl/Impl_getSelfTy.ql 2962d540a174b38815d150cdd9053796251de4843b7276d051191c6a6c8ecad4 b7156cec08bd6231f7b8f621e823da0642a0eb036b05476222f259101d9d37c0
@@ -894,18 +900,19 @@ test/extractor-tests/generated/LoopExpr/LoopExpr.ql 37b320acefa3734331f87414de27
test/extractor-tests/generated/LoopExpr/LoopExpr_getAttr.ql d557c1a34ae8762b32702d6b50e79c25bc506275c33a896b6b94bbbe73d04c49 34846c9eefa0219f4a16e28b518b2afa23f372d0aa03b08d042c5a35375e0cd6
test/extractor-tests/generated/LoopExpr/LoopExpr_getLabel.ql 0b77b9d9fb5903d37bce5a2c0d6b276e6269da56fcb37b83cd931872fb88490f c7f09c526e59dcadec13ec9719980d68b8619d630caab2c26b8368b06c1f2cc0
test/extractor-tests/generated/LoopExpr/LoopExpr_getLoopBody.ql 0267f54077640f3dfeb38524577e4a1229115eeb1c839398d0c5f460c1d65129 96ec876635b8c561f7add19e57574444f630eae3df9ab9bc33ac180e61f3a7b8
test/extractor-tests/generated/MacroCall/MacroCall.ql f41552ce4c8132db854132e445aa0c8df514bfd375aa71cc9ed0ae838b7df9f1 442ecbe1481084bb072c6f8cf0eb595b7ad371587e8708610a10f2cc718535f7
test/extractor-tests/generated/MacroCall/MacroCall.ql 989d90726edab22a69377480ce5d1a13309d9aac60e0382c2ad6d36e8c7f1df5 68ffd6e1afa0c2c17fb04f87a09baca9766421aa28acd4ef8a6d04798f4c3a57
test/extractor-tests/generated/MacroCall/MacroCall_getAttr.ql c22a2a29d705e85b03a6586d1eda1a2f4f99f95f7dfeb4e6908ec3188b5ad0ad 9b8d9dcc2116a123c15c520a880efab73ade20e08197c64bc3ed0c50902c4672
test/extractor-tests/generated/MacroCall/MacroCall_getCrateOrigin.ql 3030e87de6f773d510882ee4469146f6008898e23a4a4ccabcbaa7da1a4e765e a10fe67315eda1c59d726d538ead34f35ccffc3e121eeda74c286d49a4ce4f54
test/extractor-tests/generated/MacroCall/MacroCall_getExpanded.ql 757c4a4c32888e4604044c798a3180aa6d4f73381eec9bc28ba9dc71ffcbd03a 27d5edaa2c1096a24c86744aaad0f006da20d5caa28ccfd8528e7c98aa1bead1
test/extractor-tests/generated/MacroCall/MacroCall_getExtendedCanonicalPath.ql 553b810f611014ae04d76663d1393c93687df8b96bda325bd71e264e950a8be9 a0e80c3dac6a0e48c635e9f25926b6a97adabd4b3c0e3cfb6766ae160bcb4ee7
test/extractor-tests/generated/MacroCall/MacroCall_getPath.ql 160edc6a001a2d946da6049ffb21a84b9a3756e85f9a2fb0a4d85058124b399a 1e25dd600f19ef89a99f328f86603bce12190220168387c5a88bfb9926da56d9
test/extractor-tests/generated/MacroCall/MacroCall_getTokenTree.ql 1cbf6b1ac7fa0910ff299b939743153fc00ad7e28a9a70c69a8297c6841e8238 570380c0dc4b20fe25c0499378569720a6da14bdb058e73d757e174bdd62d0c0
test/extractor-tests/generated/MacroDef/MacroDef.ql b8186c22beb7f818a30fe80f36d2e4207887445863e4deeae88bd03c24863dbb 71bebfb1b57b56ea479bc6edd714a4f01bfce2fa8e12fb9eb1481f9dffa4515e
test/extractor-tests/generated/MacroDef/MacroDef.ql 2b9965d72ba85d531f66e547059110e95a03315889fbb3833cce121c1ad49309 2b5b03afbce92745b1d9750a958b602ccf5e7f9f7934fb12d8b3c20dfc8d3d28
test/extractor-tests/generated/MacroDef/MacroDef_getArgs.ql 61f11d6ba6ea3bd42708c4dc172be4016277c015d3560025d776e8fef447270f 331541eff1d8a835a9ecc6306f3adf234cbff96ea74b0638e482e03f3e336fd1
test/extractor-tests/generated/MacroDef/MacroDef_getAttr.ql 0a30875f7b02351a4facf454273fb124aa40c6ef8a47dfe5210072a226b03656 8e97307aef71bf93b28f787050bfaa50fe95edf6c3f5418acd07c1de64e62cc1
test/extractor-tests/generated/MacroDef/MacroDef_getBody.ql 7b350f48e6f208d9fa4725919efd439baf5e9ec4563ba9be261b7a17dacc451b 33f99a707bb89705c92195a5f86055d1f6019bcd33aafcc1942358a6ed413661
test/extractor-tests/generated/MacroDef/MacroDef_getCrateOrigin.ql 6c46366798df82ed96b8fb1efeb46bd84c2660f226ff2359af0041d5cdf004ba 8ab22599ef784dcad778d86828318699c2230c8927ae98ab0c60ac4639d6d1b5
test/extractor-tests/generated/MacroDef/MacroDef_getExpanded.ql 7f2baed8b5a2ba8a6e67cb601e7a03a7d3276673d6bd3b05f83b76058622bc2d 85241a780e2cec0be062042bcea4a3c3282f3694f6bf7faa64a51f1126b1f438
test/extractor-tests/generated/MacroDef/MacroDef_getExtendedCanonicalPath.ql d09b262b8e5558078506ec370255a63c861ca0c41ab9af3eb4f987325dadd90c cd466062c59b6a8ea2a05ddac1bf5b6d04165755f4773867774215ec5e79afa3
test/extractor-tests/generated/MacroDef/MacroDef_getName.ql 6bc8a17804f23782e98f7baf70a0a87256a639c11f92e3c80940021319868847 726f9d8249b2ca6789d37bb4248bf5dd044acc9add5c25ed62607502c8af65aa
test/extractor-tests/generated/MacroDef/MacroDef_getVisibility.ql d858ccaab381432c529bf4a621afc82ea5e4b810b463f2b1f551de79908e14e7 83a85c4f90417ab44570a862642d8f8fc9208e62ba20ca69b32d39a3190381aa
@@ -915,9 +922,10 @@ test/extractor-tests/generated/MacroItems/MacroItems.ql 876b5d2a4ce7dcb599e02208
test/extractor-tests/generated/MacroItems/MacroItems_getItem.ql 53fc2db35a23b9aca6ee327d2a51202d23ddf482e6bdd92c5399b7f3a73959b1 63051c8b7a7bfbe9cc640f775e753c9a82f1eb8472989f7d3c8af94fdf26c7a0
test/extractor-tests/generated/MacroPat/MacroPat.ql d9ec72d4d6a7342ee2d9aa7e90227faa31792ca5842fe948d7fdf22597a123b7 74b0f21ef2bb6c13aae74dba1eea97451755110909a083360e2c56cfbc76fd91
test/extractor-tests/generated/MacroPat/MacroPat_getMacroCall.ql 398996f0d0f2aa6d3b58d80b26c7d1185b5094d455c6c5c7f075f6d414150aa6 b4662e57cac36ed0e692201f53ba46c3d0826bba99c5cc6dfcb302b44dd2154b
test/extractor-tests/generated/MacroRules/MacroRules.ql e8a243a1aa368d44c963d81b4459aa6eba7caf514d4865af5007cc33fe53dde4 9e9114cb808239e3bb15403cf5712f8dbaf4e2719e74efddbb800ec0be19f06a
test/extractor-tests/generated/MacroRules/MacroRules.ql 46c125145d836fd5d781d4eda02f9f09f2d39a35350dffb982610b27e4e4936f 4068314eca12ac08ad7e90ceb8b9d935a355c2fe8c38593972484abde1ac47b4
test/extractor-tests/generated/MacroRules/MacroRules_getAttr.ql 7de501c724e3465520cdc870c357911e7e7fce147f6fb5ed30ad37f21cf7d932 0d7754b89bcad6c012a0b43ee4e48e64dd20b608b3a7aeb4042f95eec50bb6e6
test/extractor-tests/generated/MacroRules/MacroRules_getCrateOrigin.ql fccedeee10ef85be3c26f6360b867e81d4ebce3e7f9cf90ccb641c5a14e73e7d 28c38a03a7597a9f56032077102e7a19378b0f3f3a6804e6c234526d0a441997
test/extractor-tests/generated/MacroRules/MacroRules_getExpanded.ql 01746ce9f525dcf97517d121eb3d80a25a1ee7e1d550b52b3452ee6b8fd83a00 0ccb55088d949fa2cd0d0be34ea5a626c221ae1f35d56ccf2eb20c696d3c157b
test/extractor-tests/generated/MacroRules/MacroRules_getExtendedCanonicalPath.ql a0098b1d945df46e546e748c2297444aaccd04a4d543ba3d94424e7f33be6d26 3bab748c7f5bbe486f30e1a1c422a421ab622f401f4f865afb003915ae47be83
test/extractor-tests/generated/MacroRules/MacroRules_getName.ql 591606e3accae8b8fb49e1218c4867a42724ac209cf99786db0e5d7ea0bf55d5 d2936ef5aa4bbf024372516dde3de578990aafb2b8675bbbf0f72e8b54eb82a8
test/extractor-tests/generated/MacroRules/MacroRules_getTokenTree.ql 7598d33c3d86f9ad8629219b90667b2b65e3a1e18c6b0887291df9455a319cab 69d90446743e78e851145683c17677497fe42ed02f61f2b2974e216dc6e05b01
@@ -953,9 +961,10 @@ test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getIdentifier.ql 13
test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getReceiver.ql 77407ac956c897ff7234132de1a825f1af5cfd0b6c1fd3a30f64fe08813d56db d80719e02d19c45bd6534c89ec7255652655f5680199854a0a6552b7c7793249
test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getResolvedCrateOrigin.ql c22504665900715e8a32dd47627111e8cef4ed2646f74a8886dead15fbc85bb5 d92462cf3cb40dcd383bcaffc67d9a43e840494df9d7491339cbd09a0a73427b
test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getResolvedPath.ql 9e7bbb7ed60db49b45c3bdf8e01ec58de751889fc394f59ac33f9d6e98200aa1 c055d877e2ff0edc78cce6dd79c78b2881e7940889729cbb5c12e7029ddeb5a3
test/extractor-tests/generated/Module/Module.ql 4bc4d74921a5af94b124a5010cdf6908cdc9ecf26124e354155fba781009071f acca26579b087ce1fc674703c4d95d8d353075d3021c464d2f3fc06891716774
test/extractor-tests/generated/Module/Module.ql 3b534dc4377a6411d75c5d1d99ad649acaebd17364af2738cbc86f5a43315028 feeedeb64c4eccba1787bff746ee8009bddead00123de98b8d5ca0b401078443
test/extractor-tests/generated/Module/Module_getAttr.ql b97ae3f5175a358bf02c47ec154f7c2a0bd7ca54d0561517008d59344736d5cd f199116633c183826afa9ab8e409c3bf118d8e626647dbc617ae0d40d42e5d25
test/extractor-tests/generated/Module/Module_getCrateOrigin.ql ff479546bf8fe8ef3da60c9c95b7e8e523c415be61839b2fff5f44c146c4e7df b14d3c0577bd6d6e3b6e5f4b93448cdccde424e21327a2e0213715b16c064a52
test/extractor-tests/generated/Module/Module_getExpanded.ql 03d49dd284795a59b7b5126218e1c8c7ce1cb0284c5070e2d8875e273d9d90fc fa004cf6b464afe0307c767e4dd29bbce7e1c65de61cdd714af542a8b68bbe44
test/extractor-tests/generated/Module/Module_getExtendedCanonicalPath.ql 55c5b633d05ddbe47d324535a337d5dfed5913ab23cdb826424ddd22009a2a53 ab9e11e334e99be0d4c8d2bd0580657211d05feeeb322fbb5400f07264219497
test/extractor-tests/generated/Module/Module_getItemList.ql 59b49af9788e9d8b5bceaeffe3c3d203038abd987880a720669117ac3db35388 9550939a0e07b11892b38ca03a0ce305d0e924c28d27f25c9acc47a819088969
test/extractor-tests/generated/Module/Module_getName.ql 7945dc007146c650cf4f5ac6e312bbd9c8b023246ff77f033a9410da29774ace 9de11a1806487d123376c6a267a332d72cd81e7d6e4baa48669e0bb28b7e352e
@@ -1053,10 +1062,11 @@ test/extractor-tests/generated/SliceTypeRepr/SliceTypeRepr_getTypeRepr.ql a6604f
test/extractor-tests/generated/SourceFile/SourceFile.ql c30a3c2c82be3114f3857295615e2ec1e59c823f0b65ea3918be85e6b7adb921 6a5bbe96f81861c953eb89f77ea64d580f996dca5950f717dd257a0b795453e6
test/extractor-tests/generated/SourceFile/SourceFile_getAttr.ql 450404306b3d991b23c60a7bb354631d37925e74dec7cc795452fe3263dc2358 07ffcc91523fd029bd599be28fe2fc909917e22f2b95c4257d3605f54f9d7551
test/extractor-tests/generated/SourceFile/SourceFile_getItem.ql f17e44bc0c829b2aadcb6d4ab9c687c10dc8f1afbed4e5190404e574d6ab3107 1cf49a37cc32a67fdc00d16b520daf39143e1b27205c1a610e24d2fe1a464b95
test/extractor-tests/generated/Static/Static.ql ac93af3e443bd2339e460a2d5273415da3d8e3e1cbbfc3a0af5b43b559047154 2f38e26764f2a07f5bf6ddadf7ebe9db5e087d784d1f2c4e79766ed10bb97859
test/extractor-tests/generated/Static/Static.ql 271ef78c98c5cb8c80812a1028bb6b21b5e3ae11976ed8276b35832bf41c4798 23ab4c55836873daf500973820d2d5eaa5892925ebdc5d35e314b87997ca6ce3
test/extractor-tests/generated/Static/Static_getAttr.ql adb0bbf55fb962c0e9d317fd815c09c88793c04f2fb78dfd62c259420c70bc68 d317429171c69c4d5d926c26e97b47f5df87cf0552338f575cd3aeea0e57d2c2
test/extractor-tests/generated/Static/Static_getBody.ql e735bbd421e22c67db792671f5cb78291c437621fdfd700e5ef13b5b76b3684d 9148dc9d1899cedf817258a30a274e4f2c34659140090ca2afeb1b6f2f21e52f
test/extractor-tests/generated/Static/Static_getCrateOrigin.ql f24ac3dac6a6e04d3cc58ae11b09749114a89816c28b96bf6be0e96b2e20d37f e4051426c5daa7e73c1a5a9023d6e50a2b46ebf194f45befbe3dd45e64831a55
test/extractor-tests/generated/Static/Static_getExpanded.ql 6f949494cba88f12b1657badd7d15bdd0b6aba73701674a64aac9d30cbb4907f 9ea0c4bb0100482e9ae0b03c410860f10fd88115e854b2516b61732acc634501
test/extractor-tests/generated/Static/Static_getExtendedCanonicalPath.ql 6ec02f7ec9cf4cb174a7cdf87921758a3e798c76171be85939614305d773b6a0 c51567dac069fc67ece0aa018ae6332187aa1145f33489093e4aee049d7cea52
test/extractor-tests/generated/Static/Static_getName.ql c7537e166d994b6f961547e8b97ab4328b78cbd038a0eb9afaae42e35f6d9cb4 bb5ae24b85cd7a8340a4ce9e9d56ec3be31558051c82257ccb84289291f38a42
test/extractor-tests/generated/Static/Static_getTypeRepr.ql 45efcf393a3c6d4eca92416d8d6c88e0d0e85a2bc017da097ae2bbbe8a271a32 374b551e2d58813203df6f475a1701c89508803693e2a4bec7afc86c2d58d60b
@@ -1065,9 +1075,10 @@ test/extractor-tests/generated/StmtList/StmtList.ql 0010df0d5e30f7bed3bd5d916faf
test/extractor-tests/generated/StmtList/StmtList_getAttr.ql 78d4bf65273498f04238706330b03d0b61dd03b001531f05fcb2230f24ceab64 6e02cee05c0b9f104ddea72b20097034edb76e985188b3f10f079bb03163b830
test/extractor-tests/generated/StmtList/StmtList_getStatement.ql abbc3bcf98aab395fc851d5cc58c9c8a13fe1bdd531723bec1bc1b8ddbec6614 e302a26079986fa055306a1f641533dfde36c9bc0dd7958d21e2518b59e808c2
test/extractor-tests/generated/StmtList/StmtList_getTailExpr.ql 578d7c944ef42bdb822fc6ce52fe3d49a0012cf7854cfddbb3d5117133700587 64ea407455a3b4dfbb86202e71a72b5abbff885479367b2834c0dd16d1f9d0ee
test/extractor-tests/generated/Struct/Struct.ql 14dc5ead6bed88c2c79d9fd3874198f845d8202290b0931b2d2375c0a397c44a 408b07b6bb40ca09f51d2becd94501cc2b95ec52e04ccc2703c2e25d6577b4c6
test/extractor-tests/generated/Struct/Struct.ql 13d575bd8ca4ad029d233a13a485005bc03f58221b976c7e1df7456ddc788544 fc7cbaaf44d71e66aa8170b1822895fc0d0710d0b3a4da4f1b96ed9633f0b856
test/extractor-tests/generated/Struct/Struct_getAttr.ql 028d90ddc5189b82cfc8de20f9e05d98e8a12cc185705481f91dd209f2cb1f87 760780a48c12be4581c1675c46aae054a6198196a55b6b989402cc29b7caf245
test/extractor-tests/generated/Struct/Struct_getCrateOrigin.ql 289622244a1333277d3b1507c5cea7c7dd29a7905774f974d8c2100cea50b35f d32941a2d08d7830b42c263ee336bf54de5240bfc22082341b4420a20a1886c7
test/extractor-tests/generated/Struct/Struct_getExpanded.ql fc6809bfafce55b6ff1794898fcd08ac220c4b2455782c52a51de64346ed09ba 9bcb24573b63831861b55c7f93af58e19af2929acf9bb1b8da94763bbfcde013
test/extractor-tests/generated/Struct/Struct_getExtendedCanonicalPath.ql 866a5893bd0869224fb8aadd071fba35b5386183bb476f5de45c9de7ab88c583 267aedc228d69e31ca8e95dcab6bcb1aa30f9ebaea43896a55016b7d68e3c441
test/extractor-tests/generated/Struct/Struct_getFieldList.ql f45d6d5d953741e52aca67129994b80f6904b2e6b43c519d6d42c29c7b663c42 77a7d07e8462fa608efc58af97ce8f17c5369f9573f9d200191136607cb0e600
test/extractor-tests/generated/Struct/Struct_getGenericParamList.ql cd72452713004690b77086163541fa319f8ab5faf503bb4a6a20bcaf2f790d38 4d72e891c5fac6e491d9e18b87ecf680dc423787d6b419da8f700fe1a14bc26f
@@ -1111,19 +1122,21 @@ test/extractor-tests/generated/TokenTree/TokenTree.ql ba2ef197e0566640b57503579f
test/extractor-tests/generated/Trait/AssocItemList.ql 0ea572b1350f87cc09ce4dc1794b392cc9ad292abb8439c106a7a1afe166868b 6e7493a3ace65c68b714e31234e149f3fc44941c3b4d125892531102b1060b2f
test/extractor-tests/generated/Trait/AssocItemList_getAssocItem.ql 8149d905f6fc6caeb51fa1ddec787d0d90f4642687461c7b1a9d4ab93a27d65d 8fb9caad7d88a89dd71e5cc8e17496afbdf33800e58179f424ef482b1b765bb1
test/extractor-tests/generated/Trait/AssocItemList_getAttr.ql 06526c4a28fd4fdce04ca15fbadc2205b13dcc2d2de24177c370d812e02540e6 79c8ce6e1f8acc1aaca498531e2c1a0e7e2c0f2459d7fc9fe485fd82263c433f
test/extractor-tests/generated/Trait/Trait.ql e88ff04557cf050a5acb5038537bb4f7a444c85721eaf3e0aa4c10e7e7724c56 e37b9e60fa8cc64ef9e8db1707d2d8c5a62f9804233c939b4aaa39762b9b0a9a
test/extractor-tests/generated/Trait/Trait.ql a7407c80d297ba0b7651ae5756483c8d81874d20af4123552d929870e9125d13 62e45d36c9791702bc9d4a26eb04f22fe713d120a8e00fe6131032b081bad9f4
test/extractor-tests/generated/Trait/Trait_getAssocItemList.ql 05e6896f60afabf931a244e42f75ee55e09c749954a751d8895846de3121f58f def1f07d9945e8d9b45a659a285b0eb72b37509d20624c88e0a2d34abf7f0c72
test/extractor-tests/generated/Trait/Trait_getAttr.ql 9711125fa4fc0212b6357f06d1bc50df50b46168d139b649034296c64d732e21 901b6a9d04055b563f13d8742bd770c76ed1b2ccf9a7236a64de9d6d287fbd52
test/extractor-tests/generated/Trait/Trait_getCrateOrigin.ql d8433d63bb2c4b3befaaedc9ce862d1d7edcdf8b83b3fb5529262fab93880d20 3779f2678b3e00aac87259ecfe60903bb564aa5dbbc39adc6c98ad70117d8510
test/extractor-tests/generated/Trait/Trait_getExpanded.ql 4a6912b74ad6cbfce27c6ffdff781271d182a91a4d781ee02b7ac35b775d681b 14c8df06c3909c9986fc238229208e87b39b238890eb5766af2185c36e3b00c9
test/extractor-tests/generated/Trait/Trait_getExtendedCanonicalPath.ql a2bd16e84f057ed8cb6aae3e2a117453a6e312705302f544a1496dbdd6fcb3e6 b4d419045430aa7acbc45f8043acf6bdacd8aff7fdda8a96c70ae6c364c9f4d1
test/extractor-tests/generated/Trait/Trait_getGenericParamList.ql b27ff28e3aff9ec3369bbbcbee40a07a4bd8af40928c8c1cb7dd1e407a88ffee 2b48e2049df18de61ae3026f8ab4c3e9e517f411605328b37a0b71b288826925
test/extractor-tests/generated/Trait/Trait_getName.ql d4ff3374f9d6068633bd125ede188fcd3f842f739ede214327cd33c3ace37379 3dcf91c303531113b65ea5205e9b6936c5d8b45cd3ddb60cd89ca7e49f0f00c1
test/extractor-tests/generated/Trait/Trait_getTypeBoundList.ql 8a4eb898424fe476db549207d67ba520999342f708cbb89ee0713e6bbf1c050d 69d01d97d161eef86f24dd0777e510530a4db5b0c31c760a9a3a54f70d6dc144
test/extractor-tests/generated/Trait/Trait_getVisibility.ql 8f4641558effd13a96c45d902e5726ba5e78fc9f39d3a05b4c72069993c499f4 553cf299e7d60a242cf44f2a68b8349fd8666cc4ccecab5ce200ce44ad244ba9
test/extractor-tests/generated/Trait/Trait_getWhereClause.ql b34562e7f9ad9003d2ae1f3a9be1b5c141944d3236eae3402a6c73f14652e8ad 509fa3815933737e8996ea2c1540f5d7f3f7de21947b02e10597006967efc9d1
test/extractor-tests/generated/TraitAlias/TraitAlias.ql 8870048164ba3c3ea8d4c10e5793d860a4ed3ef0890bf32409827321ddde4b72 9a912ebba80977656e74e1d94478c193164684f01371e23f09817231b58007ff
test/extractor-tests/generated/TraitAlias/TraitAlias.ql 6ba52527c90cd067ce3a48bb5051ba94c3c108444d428244622d381c1264ba55 76acb3a91331fa55c390a1cf2fd70a35052d9019b0216f5e00271ee367607d33
test/extractor-tests/generated/TraitAlias/TraitAlias_getAttr.ql 128c24196bfa6204fffd4154ff6acebd2d1924bb366809cdb227f33d89e185c8 56e8329e652567f19ef7d4c4933ee670a27c0afb877a0fab060a0a2031d8133e
test/extractor-tests/generated/TraitAlias/TraitAlias_getCrateOrigin.ql 303212122021da7f745050c5de76c756461e5c6e8f4b20e26c43aa63d821c2b6 fdbd024cbe13e34265505147c6faffd997e5c222386c3d9e719cd2a385bde51c
test/extractor-tests/generated/TraitAlias/TraitAlias_getExpanded.ql 8767d1ffb0a9c1e84c39907d3ab5456aff146e877f7bfe905786ff636a39acd9 9467a2b63f32b84501f4aa1ce1e0fc822845a9239216b9ebf4eaf0c23d6d27f3
test/extractor-tests/generated/TraitAlias/TraitAlias_getExtendedCanonicalPath.ql 601b6b0e5e7e7f2926626866085d9a4a9e31dc575791e9bd0019befc0e397193 9bd325414edc35364dba570f6eecc48a8e18c4cbff37d32e920859773c586319
test/extractor-tests/generated/TraitAlias/TraitAlias_getGenericParamList.ql 5a40c1760fcf5074dc9e9efa1a543fc6223f4e5d2984923355802f91edb307e4 9fd7ab65c1d6affe19f96b1037ec3fb9381e90f602dd4611bb958048710601fa
test/extractor-tests/generated/TraitAlias/TraitAlias_getName.ql e91fa621774b9467ae820f3c408191ac75ad33dd73bcd417d299006a84c1a069 113e0c5dd2e3ac2ddb1fd6b099b9b5c91d5cdd4a02e62d4eb8e575096f7f4c6a
@@ -1151,9 +1164,10 @@ test/extractor-tests/generated/TupleStructPat/TupleStructPat_getResolvedCrateOri
test/extractor-tests/generated/TupleStructPat/TupleStructPat_getResolvedPath.ql 150898b6e55cc74b9ddb947f136b5a7f538ee5598928c5724d80e3ddf93ae499 66e0bd7b32df8f5bbe229cc02be6a07cb9ec0fe8b444dad3f5b32282a90551ee
test/extractor-tests/generated/TupleTypeRepr/TupleTypeRepr.ql 2f99917a95a85a932f423cba5a619a51cada8e704b93c54b0a8cb5d7a1129fa1 759bd02347c898139ac7dabe207988eea125be24d3e4c2282b791ec810c16ea7
test/extractor-tests/generated/TupleTypeRepr/TupleTypeRepr_getField.ql 615acfcbc475b5c2ffa8e46d023fc2e19d29ee879b4949644a7f0b25c33125e6 81b037af5dcb8a0489a7a81a0ad668ca781b71d4406c123c4f1c4f558722f13e
test/extractor-tests/generated/TypeAlias/TypeAlias.ql 637d4c982691942fabcc99ef4a1765ec794d1271bdd376addb55c9d7ea31230e ef81773e2f1260f66f23ce537080c3273b1cf74f96fba37403d34dc1ee1e0458
test/extractor-tests/generated/TypeAlias/TypeAlias.ql b7c4adb8322a2032657f4417471e7001dbe8236da79af963d6ac5ddf6c4e7c8a 7504a27f32fd76520398c95abd6adeca67be5b71ff4b8abdd086eb29c0d698fc
test/extractor-tests/generated/TypeAlias/TypeAlias_getAttr.ql ecf4b45ef4876e46252785d2e42b11207e65757cdb26e60decafd765e7b03b49 21bb4d635d3d38abd731b9ad1a2b871f8e0788f48a03e9572823abeea0ea9382
test/extractor-tests/generated/TypeAlias/TypeAlias_getCrateOrigin.ql cd66db5b43bcb46a6cf6db8c262fd524017ef67cdb67c010af61fab303e3bc65 2aebae618448530ec537709c5381359ea98399db83eeae3be88825ebefa1829d
test/extractor-tests/generated/TypeAlias/TypeAlias_getExpanded.ql dc797269de5b29409484577d4f2e4de9462a1001232a57c141c1e9d3f0e7ad74 d2c3d55fcdf077523ceb899d11d479db15b449b5e82eb8610cb637ae79ef74e6
test/extractor-tests/generated/TypeAlias/TypeAlias_getExtendedCanonicalPath.ql fe9c4132e65b54eb071b779e508e9ed0081d860df20f8d4748332b45b7215fd5 448c10c3f8f785c380ce430996af4040419d8dccfa86f75253b6af83d2c8f1c9
test/extractor-tests/generated/TypeAlias/TypeAlias_getGenericParamList.ql e7e936458dce5a8c6675485a49e2769b6dbff29c112ed744c880e0fc7ae740ef e5fcf3a33d2416db6b0a73401a3cbc0cece22d0e06794e01a1645f2b3bca9306
test/extractor-tests/generated/TypeAlias/TypeAlias_getName.ql 757deb3493764677de3eb1ff7cc119a469482b7277ed01eb8aa0c38b4a8797fb 5efed24a6968544b10ff44bfac7d0432a9621bde0e53b8477563d600d4847825
@@ -1176,18 +1190,20 @@ test/extractor-tests/generated/TypeParam/TypeParam_getName.ql 9d5b6d6a9f2a5793e2
test/extractor-tests/generated/TypeParam/TypeParam_getTypeBoundList.ql 080a6b370ad460bf128fdfd632aa443af2ad91c3483e192ad756eb234dbfa4d8 8b048d282963f670db357f1eef9b8339f83d03adf57489a22b441d5c782aff62
test/extractor-tests/generated/UnderscoreExpr/UnderscoreExpr.ql 4ad6ed0c803fb4f58094a55b866940b947b16259756c674200172551ee6546e0 d3270bdcc4c026325159bd2a59848eb51d96298b2bf21402ea0a83ac1ea6d291
test/extractor-tests/generated/UnderscoreExpr/UnderscoreExpr_getAttr.ql d8502be88bcd97465f387c410b5078a4709e32b2baa556a4918ea5e609c40dd7 b238dc37404254e3e7806d50a7b1453e17e71da122931331b16a55853d3a843f
test/extractor-tests/generated/Union/Union.ql 2cbbdf085667e0741322cd21288d7987d6bdba72fb1b930aaf589494f5f9ea5e 2e64f70926141ea56aa14cc3122c522407f2f45ab9dc364ef4a3e3caf171befa
test/extractor-tests/generated/Union/Union.ql ef8005f4ac5d3e6f308b3bb1a1861403674cbb1b72e6558573e9506865ae985e 88933d0f9500ce61a847fbb792fd778d77a4e7379fc353d2a9f5060773eda64f
test/extractor-tests/generated/Union/Union_getAttr.ql 42fa0878a6566208863b1d884baf7b68b46089827fdb1dbbfacbfccf5966a9a2 54aa94f0281ca80d1a4bdb0e2240f4384af2ab8d50f251875d1877d0964579fc
test/extractor-tests/generated/Union/Union_getCrateOrigin.ql c218308cf17b1490550229a725542d248617661b1a5fa14e9b0e18d29c5ecc00 e0489242c8ff7aa4dbfdebcd46a5e0d9bea0aa618eb0617e76b9b6f863a2907a
test/extractor-tests/generated/Union/Union_getExpanded.ql a096814a812662a419b50aa9fd66ab2f6be9d4471df3d50351e9d0bcf061f194 51b406644ee819d74f1b80cdb3a451fa1fad6e6a65d89fa6e3dc87516d9d4292
test/extractor-tests/generated/Union/Union_getExtendedCanonicalPath.ql 6268ddb68c3e05906e3fc85e40635925b84e5c7290746ded9c6814d362033068 04473b3b9891012e95733463018db8da0e96659ea0b10458b33dc857c091d278
test/extractor-tests/generated/Union/Union_getGenericParamList.ql c55156ae26b766e385be7d21e67f8c3c45c29274201c93d660077fcc47e1ceee 4c4d338e17c32876ef6e51fd19cff67d125dd89c10e939dfaadbac824bef6a68
test/extractor-tests/generated/Union/Union_getName.ql 17247183e1a8c8bbb15e67120f65ca323630bddeb614fa8a48e1e74319f8ed37 e21c2a0205bc991ba86f3e508451ef31398bdf5441f6d2a3f72113aaae9e152b
test/extractor-tests/generated/Union/Union_getStructFieldList.ql ae42dec53a42bcb712ec5e94a3137a5c0b7743ea3b635e44e7af8a0d59e59182 61b34bb8d6e05d9eb34ce353eef7cc07c684179bf2e3fdf9f5541e04bef41425
test/extractor-tests/generated/Union/Union_getVisibility.ql 86628736a677343d816e541ba76db02bdae3390f8367c09be3c1ff46d1ae8274 6514cdf4bfad8d9c968de290cc981be1063c0919051822cc6fdb03e8a891f123
test/extractor-tests/generated/Union/Union_getWhereClause.ql 508e68ffa87f4eca2e2f9c894d215ea76070d628a294809dc267082b9e36a359 29da765d11794441a32a5745d4cf594495a9733e28189d898f64da864817894f
test/extractor-tests/generated/Use/Use.ql b20f6221e6ee731718eb9a02fa765f298ad285f23393a3df0119707c48edd8b3 9ab45d9b3c51c6181a6609b72ebd763c336fee01b11757e7f044257510bd7f3f
test/extractor-tests/generated/Use/Use.ql 9a0a5efb8118830355fb90bc850de011ae8586c12dce92cfc8f39a870dd52100 7fd580282752a8e6a8ea9ac33ff23a950304030bc32cfbd3b9771368723fb8d6
test/extractor-tests/generated/Use/Use_getAttr.ql 6d43c25401398108553508aabb32ca476b3072060bb73eb07b1b60823a01f964 84e6f6953b4aa9a7472082f0a4f2df26ab1d157529ab2c661f0031603c94bb1d
test/extractor-tests/generated/Use/Use_getCrateOrigin.ql 912ebc1089aa3390d4142a39ea73d5490eae525d1fb51654fdd05e9dd48a94b6 c59e36362016ae536421e6d517889cea0b2670818ea1f9e997796f51a9b381e2
test/extractor-tests/generated/Use/Use_getExpanded.ql 386631ee0ee002d3d6f7f6e48c87d2bb2c4349aa3692d16730c0bc31853b11cf 50e03f47cc1099d7f2f27724ea82d3b69b85e826b66736361b0cbeceb88f88a4
test/extractor-tests/generated/Use/Use_getExtendedCanonicalPath.ql ccfde95c861cf4199e688b6efeeee9dab58a27cfecd520e39cc20f89143c03c9 6ff93df4134667d7cb74ae7efe102fe2db3ad4c67b4b5a0f8955f21997806f16
test/extractor-tests/generated/Use/Use_getUseTree.ql 1dfe6bb40b29fbf823d67fecfc36ba928b43f17c38227b8eedf19fa252edf3af aacdcc4cf418ef1eec267287d2af905fe73f5bcfb080ef5373d08da31c608720
test/extractor-tests/generated/Use/Use_getVisibility.ql 587f80acdd780042c48aeb347004be5e9fd9df063d263e6e4f2b660c48c53a8f 0c2c04f95838bca93dfe93fa208e1df7677797efc62b4e8052a4f9c5d20831dd

16
rust/ql/.gitattributes generated vendored
View File

@@ -742,6 +742,7 @@
/test/extractor-tests/generated/Const/Const_getAttr.ql linguist-generated
/test/extractor-tests/generated/Const/Const_getBody.ql linguist-generated
/test/extractor-tests/generated/Const/Const_getCrateOrigin.ql linguist-generated
/test/extractor-tests/generated/Const/Const_getExpanded.ql linguist-generated
/test/extractor-tests/generated/Const/Const_getExtendedCanonicalPath.ql linguist-generated
/test/extractor-tests/generated/Const/Const_getName.ql linguist-generated
/test/extractor-tests/generated/Const/Const_getTypeRepr.ql linguist-generated
@@ -764,6 +765,7 @@
/test/extractor-tests/generated/Enum/Enum.ql linguist-generated
/test/extractor-tests/generated/Enum/Enum_getAttr.ql linguist-generated
/test/extractor-tests/generated/Enum/Enum_getCrateOrigin.ql linguist-generated
/test/extractor-tests/generated/Enum/Enum_getExpanded.ql linguist-generated
/test/extractor-tests/generated/Enum/Enum_getExtendedCanonicalPath.ql linguist-generated
/test/extractor-tests/generated/Enum/Enum_getGenericParamList.ql linguist-generated
/test/extractor-tests/generated/Enum/Enum_getName.ql linguist-generated
@@ -776,11 +778,13 @@
/test/extractor-tests/generated/ExternBlock/ExternBlock_getAbi.ql linguist-generated
/test/extractor-tests/generated/ExternBlock/ExternBlock_getAttr.ql linguist-generated
/test/extractor-tests/generated/ExternBlock/ExternBlock_getCrateOrigin.ql linguist-generated
/test/extractor-tests/generated/ExternBlock/ExternBlock_getExpanded.ql linguist-generated
/test/extractor-tests/generated/ExternBlock/ExternBlock_getExtendedCanonicalPath.ql linguist-generated
/test/extractor-tests/generated/ExternBlock/ExternBlock_getExternItemList.ql linguist-generated
/test/extractor-tests/generated/ExternCrate/ExternCrate.ql linguist-generated
/test/extractor-tests/generated/ExternCrate/ExternCrate_getAttr.ql linguist-generated
/test/extractor-tests/generated/ExternCrate/ExternCrate_getCrateOrigin.ql linguist-generated
/test/extractor-tests/generated/ExternCrate/ExternCrate_getExpanded.ql linguist-generated
/test/extractor-tests/generated/ExternCrate/ExternCrate_getExtendedCanonicalPath.ql linguist-generated
/test/extractor-tests/generated/ExternCrate/ExternCrate_getIdentifier.ql linguist-generated
/test/extractor-tests/generated/ExternCrate/ExternCrate_getRename.ql linguist-generated
@@ -825,6 +829,7 @@
/test/extractor-tests/generated/Function/Function_getAttr.ql linguist-generated
/test/extractor-tests/generated/Function/Function_getBody.ql linguist-generated
/test/extractor-tests/generated/Function/Function_getCrateOrigin.ql linguist-generated
/test/extractor-tests/generated/Function/Function_getExpanded.ql linguist-generated
/test/extractor-tests/generated/Function/Function_getExtendedCanonicalPath.ql linguist-generated
/test/extractor-tests/generated/Function/Function_getGenericParamList.ql linguist-generated
/test/extractor-tests/generated/Function/Function_getName.ql linguist-generated
@@ -849,6 +854,7 @@
/test/extractor-tests/generated/Impl/Impl_getAssocItemList.ql linguist-generated
/test/extractor-tests/generated/Impl/Impl_getAttr.ql linguist-generated
/test/extractor-tests/generated/Impl/Impl_getCrateOrigin.ql linguist-generated
/test/extractor-tests/generated/Impl/Impl_getExpanded.ql linguist-generated
/test/extractor-tests/generated/Impl/Impl_getExtendedCanonicalPath.ql linguist-generated
/test/extractor-tests/generated/Impl/Impl_getGenericParamList.ql linguist-generated
/test/extractor-tests/generated/Impl/Impl_getSelfTy.ql linguist-generated
@@ -908,6 +914,7 @@
/test/extractor-tests/generated/MacroDef/MacroDef_getAttr.ql linguist-generated
/test/extractor-tests/generated/MacroDef/MacroDef_getBody.ql linguist-generated
/test/extractor-tests/generated/MacroDef/MacroDef_getCrateOrigin.ql linguist-generated
/test/extractor-tests/generated/MacroDef/MacroDef_getExpanded.ql linguist-generated
/test/extractor-tests/generated/MacroDef/MacroDef_getExtendedCanonicalPath.ql linguist-generated
/test/extractor-tests/generated/MacroDef/MacroDef_getName.ql linguist-generated
/test/extractor-tests/generated/MacroDef/MacroDef_getVisibility.ql linguist-generated
@@ -920,6 +927,7 @@
/test/extractor-tests/generated/MacroRules/MacroRules.ql linguist-generated
/test/extractor-tests/generated/MacroRules/MacroRules_getAttr.ql linguist-generated
/test/extractor-tests/generated/MacroRules/MacroRules_getCrateOrigin.ql linguist-generated
/test/extractor-tests/generated/MacroRules/MacroRules_getExpanded.ql linguist-generated
/test/extractor-tests/generated/MacroRules/MacroRules_getExtendedCanonicalPath.ql linguist-generated
/test/extractor-tests/generated/MacroRules/MacroRules_getName.ql linguist-generated
/test/extractor-tests/generated/MacroRules/MacroRules_getTokenTree.ql linguist-generated
@@ -958,6 +966,7 @@
/test/extractor-tests/generated/Module/Module.ql linguist-generated
/test/extractor-tests/generated/Module/Module_getAttr.ql linguist-generated
/test/extractor-tests/generated/Module/Module_getCrateOrigin.ql linguist-generated
/test/extractor-tests/generated/Module/Module_getExpanded.ql linguist-generated
/test/extractor-tests/generated/Module/Module_getExtendedCanonicalPath.ql linguist-generated
/test/extractor-tests/generated/Module/Module_getItemList.ql linguist-generated
/test/extractor-tests/generated/Module/Module_getName.ql linguist-generated
@@ -1059,6 +1068,7 @@
/test/extractor-tests/generated/Static/Static_getAttr.ql linguist-generated
/test/extractor-tests/generated/Static/Static_getBody.ql linguist-generated
/test/extractor-tests/generated/Static/Static_getCrateOrigin.ql linguist-generated
/test/extractor-tests/generated/Static/Static_getExpanded.ql linguist-generated
/test/extractor-tests/generated/Static/Static_getExtendedCanonicalPath.ql linguist-generated
/test/extractor-tests/generated/Static/Static_getName.ql linguist-generated
/test/extractor-tests/generated/Static/Static_getTypeRepr.ql linguist-generated
@@ -1070,6 +1080,7 @@
/test/extractor-tests/generated/Struct/Struct.ql linguist-generated
/test/extractor-tests/generated/Struct/Struct_getAttr.ql linguist-generated
/test/extractor-tests/generated/Struct/Struct_getCrateOrigin.ql linguist-generated
/test/extractor-tests/generated/Struct/Struct_getExpanded.ql linguist-generated
/test/extractor-tests/generated/Struct/Struct_getExtendedCanonicalPath.ql linguist-generated
/test/extractor-tests/generated/Struct/Struct_getFieldList.ql linguist-generated
/test/extractor-tests/generated/Struct/Struct_getGenericParamList.ql linguist-generated
@@ -1117,6 +1128,7 @@
/test/extractor-tests/generated/Trait/Trait_getAssocItemList.ql linguist-generated
/test/extractor-tests/generated/Trait/Trait_getAttr.ql linguist-generated
/test/extractor-tests/generated/Trait/Trait_getCrateOrigin.ql linguist-generated
/test/extractor-tests/generated/Trait/Trait_getExpanded.ql linguist-generated
/test/extractor-tests/generated/Trait/Trait_getExtendedCanonicalPath.ql linguist-generated
/test/extractor-tests/generated/Trait/Trait_getGenericParamList.ql linguist-generated
/test/extractor-tests/generated/Trait/Trait_getName.ql linguist-generated
@@ -1126,6 +1138,7 @@
/test/extractor-tests/generated/TraitAlias/TraitAlias.ql linguist-generated
/test/extractor-tests/generated/TraitAlias/TraitAlias_getAttr.ql linguist-generated
/test/extractor-tests/generated/TraitAlias/TraitAlias_getCrateOrigin.ql linguist-generated
/test/extractor-tests/generated/TraitAlias/TraitAlias_getExpanded.ql linguist-generated
/test/extractor-tests/generated/TraitAlias/TraitAlias_getExtendedCanonicalPath.ql linguist-generated
/test/extractor-tests/generated/TraitAlias/TraitAlias_getGenericParamList.ql linguist-generated
/test/extractor-tests/generated/TraitAlias/TraitAlias_getName.ql linguist-generated
@@ -1156,6 +1169,7 @@
/test/extractor-tests/generated/TypeAlias/TypeAlias.ql linguist-generated
/test/extractor-tests/generated/TypeAlias/TypeAlias_getAttr.ql linguist-generated
/test/extractor-tests/generated/TypeAlias/TypeAlias_getCrateOrigin.ql linguist-generated
/test/extractor-tests/generated/TypeAlias/TypeAlias_getExpanded.ql linguist-generated
/test/extractor-tests/generated/TypeAlias/TypeAlias_getExtendedCanonicalPath.ql linguist-generated
/test/extractor-tests/generated/TypeAlias/TypeAlias_getGenericParamList.ql linguist-generated
/test/extractor-tests/generated/TypeAlias/TypeAlias_getName.ql linguist-generated
@@ -1181,6 +1195,7 @@
/test/extractor-tests/generated/Union/Union.ql linguist-generated
/test/extractor-tests/generated/Union/Union_getAttr.ql linguist-generated
/test/extractor-tests/generated/Union/Union_getCrateOrigin.ql linguist-generated
/test/extractor-tests/generated/Union/Union_getExpanded.ql linguist-generated
/test/extractor-tests/generated/Union/Union_getExtendedCanonicalPath.ql linguist-generated
/test/extractor-tests/generated/Union/Union_getGenericParamList.ql linguist-generated
/test/extractor-tests/generated/Union/Union_getName.ql linguist-generated
@@ -1190,6 +1205,7 @@
/test/extractor-tests/generated/Use/Use.ql linguist-generated
/test/extractor-tests/generated/Use/Use_getAttr.ql linguist-generated
/test/extractor-tests/generated/Use/Use_getCrateOrigin.ql linguist-generated
/test/extractor-tests/generated/Use/Use_getExpanded.ql linguist-generated
/test/extractor-tests/generated/Use/Use_getExtendedCanonicalPath.ql linguist-generated
/test/extractor-tests/generated/Use/Use_getUseTree.ql linguist-generated
/test/extractor-tests/generated/Use/Use_getVisibility.ql linguist-generated

View File

@@ -1818,16 +1818,6 @@ module MakeCfgNodes<LocationSig Loc, InputSig<Loc> Input> {
* Holds if `getTokenTree()` exists.
*/
predicate hasTokenTree() { exists(this.getTokenTree()) }
/**
* Gets the expanded of this macro call, if it exists.
*/
AstNode getExpanded() { result = node.getExpanded() }
/**
* Holds if `getExpanded()` exists.
*/
predicate hasExpanded() { exists(this.getExpanded()) }
}
final private class ParentMacroExpr extends ParentAstNode, MacroExpr {

View File

@@ -5,6 +5,7 @@
private import internal.ItemImpl
import codeql.rust.elements.Addressable
import codeql.rust.elements.AstNode
import codeql.rust.elements.Stmt
/**

View File

@@ -5,7 +5,6 @@
private import internal.MacroCallImpl
import codeql.rust.elements.AssocItem
import codeql.rust.elements.AstNode
import codeql.rust.elements.Attr
import codeql.rust.elements.ExternItem
import codeql.rust.elements.Item

View File

@@ -7,6 +7,7 @@
private import codeql.rust.elements.internal.generated.Synth
private import codeql.rust.elements.internal.generated.Raw
import codeql.rust.elements.internal.AddressableImpl::Impl as AddressableImpl
import codeql.rust.elements.AstNode
import codeql.rust.elements.internal.StmtImpl::Impl as StmtImpl
/**
@@ -22,5 +23,17 @@ module Generated {
* INTERNAL: Do not reference the `Generated::Item` class directly.
* Use the subclass `Item`, where the following predicates are available.
*/
class Item extends Synth::TItem, StmtImpl::Stmt, AddressableImpl::Addressable { }
class Item extends Synth::TItem, StmtImpl::Stmt, AddressableImpl::Addressable {
/**
* Gets the expanded attribute or procedural macro call of this item, if it exists.
*/
AstNode getExpanded() {
result = Synth::convertAstNodeFromRaw(Synth::convertItemToRaw(this).(Raw::Item).getExpanded())
}
/**
* Holds if `getExpanded()` exists.
*/
final predicate hasExpanded() { exists(this.getExpanded()) }
}
}

View File

@@ -7,7 +7,6 @@
private import codeql.rust.elements.internal.generated.Synth
private import codeql.rust.elements.internal.generated.Raw
import codeql.rust.elements.internal.AssocItemImpl::Impl as AssocItemImpl
import codeql.rust.elements.AstNode
import codeql.rust.elements.Attr
import codeql.rust.elements.internal.ExternItemImpl::Impl as ExternItemImpl
import codeql.rust.elements.internal.ItemImpl::Impl as ItemImpl
@@ -77,20 +76,5 @@ module Generated {
* Holds if `getTokenTree()` exists.
*/
final predicate hasTokenTree() { exists(this.getTokenTree()) }
/**
* Gets the expanded of this macro call, if it exists.
*/
AstNode getExpanded() {
result =
Synth::convertAstNodeFromRaw(Synth::convertMacroCallToRaw(this)
.(Raw::MacroCall)
.getExpanded())
}
/**
* Holds if `getExpanded()` exists.
*/
final predicate hasExpanded() { exists(this.getExpanded()) }
}
}

View File

@@ -2204,18 +2204,21 @@ private module Impl {
}
private Element getImmediateChildOfItem(Item e, int index, string partialPredicateCall) {
exists(int b, int bStmt, int bAddressable, int n |
exists(int b, int bStmt, int bAddressable, int n, int nExpanded |
b = 0 and
bStmt = b + 1 + max(int i | i = -1 or exists(getImmediateChildOfStmt(e, i, _)) | i) and
bAddressable =
bStmt + 1 + max(int i | i = -1 or exists(getImmediateChildOfAddressable(e, i, _)) | i) and
n = bAddressable and
nExpanded = n + 1 and
(
none()
or
result = getImmediateChildOfStmt(e, index - b, partialPredicateCall)
or
result = getImmediateChildOfAddressable(e, index - bStmt, partialPredicateCall)
or
index = n and result = e.getExpanded() and partialPredicateCall = "Expanded()"
)
)
}
@@ -3495,8 +3498,7 @@ private module Impl {
private Element getImmediateChildOfMacroCall(MacroCall e, int index, string partialPredicateCall) {
exists(
int b, int bAssocItem, int bExternItem, int bItem, int n, int nAttr, int nPath,
int nTokenTree, int nExpanded
int b, int bAssocItem, int bExternItem, int bItem, int n, int nAttr, int nPath, int nTokenTree
|
b = 0 and
bAssocItem = b + 1 + max(int i | i = -1 or exists(getImmediateChildOfAssocItem(e, i, _)) | i) and
@@ -3507,7 +3509,6 @@ private module Impl {
nAttr = n + 1 + max(int i | i = -1 or exists(e.getAttr(i)) | i) and
nPath = nAttr + 1 and
nTokenTree = nPath + 1 and
nExpanded = nTokenTree + 1 and
(
none()
or
@@ -3523,8 +3524,6 @@ private module Impl {
index = nAttr and result = e.getPath() and partialPredicateCall = "Path()"
or
index = nPath and result = e.getTokenTree() and partialPredicateCall = "TokenTree()"
or
index = nTokenTree and result = e.getExpanded() and partialPredicateCall = "Expanded()"
)
)
}

View File

@@ -2180,7 +2180,12 @@ module Raw {
* todo!()
* ```
*/
class Item extends @item, Stmt, Addressable { }
class Item extends @item, Stmt, Addressable {
/**
* Gets the expanded attribute or procedural macro call of this item, if it exists.
*/
AstNode getExpanded() { item_expandeds(this, result) }
}
/**
* INTERNAL: Do not use.
@@ -3620,11 +3625,6 @@ module Raw {
* Gets the token tree of this macro call, if it exists.
*/
TokenTree getTokenTree() { macro_call_token_trees(this, result) }
/**
* Gets the expanded of this macro call, if it exists.
*/
AstNode getExpanded() { macro_call_expandeds(this, result) }
}
/**

View File

@@ -1959,6 +1959,12 @@ infer_type_reprs(
| @use
;
#keyset[id]
item_expandeds(
int id: @item ref,
int expanded: @ast_node ref
);
@labelable_expr =
@block_expr
| @looping_expr
@@ -3082,12 +3088,6 @@ macro_call_token_trees(
int token_tree: @token_tree ref
);
#keyset[id]
macro_call_expandeds(
int id: @macro_call ref,
int expanded: @ast_node ref
);
macro_defs(
unique int id: @macro_def
);

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,4 @@
description: Add `expanded` to all `@item` elements
compatibility: backwards
item_expandeds.rel: reorder macro_call_expandeds.rel (@macro_call id, @ast_node expanded) id expanded
macro_call_expandeds.rel: delete

View File

@@ -0,0 +1,2 @@
#[ctor::ctor]
fn foo() {}

View File

@@ -0,0 +1,2 @@
qltest_dependencies:
- ctor = { version = "0.2.9" }

View File

@@ -0,0 +1,2 @@
| attr_macro_expansion.rs:1:1:2:11 | fn foo | attr_macro_expansion.rs:2:4:2:6 | Static |
| attr_macro_expansion.rs:1:1:2:11 | fn foo | attr_macro_expansion.rs:2:4:2:10 | fn foo |

View File

@@ -0,0 +1,6 @@
import rust
import TestUtils
from Item i, MacroItems items, Item expanded
where toBeTested(i) and i.getExpanded() = items and items.getAnItem() = expanded
select i, expanded

View File

@@ -3,9 +3,9 @@ import codeql.rust.elements
import TestUtils
from
Const x, string hasExtendedCanonicalPath, string hasCrateOrigin, int getNumberOfAttrs,
string hasBody, string isConst, string isDefault, string hasName, string hasTypeRepr,
string hasVisibility
Const x, string hasExtendedCanonicalPath, string hasCrateOrigin, string hasExpanded,
int getNumberOfAttrs, string hasBody, string isConst, string isDefault, string hasName,
string hasTypeRepr, string hasVisibility
where
toBeTested(x) and
not x.isUnknown() and
@@ -15,6 +15,7 @@ where
else hasExtendedCanonicalPath = "no"
) and
(if x.hasCrateOrigin() then hasCrateOrigin = "yes" else hasCrateOrigin = "no") and
(if x.hasExpanded() then hasExpanded = "yes" else hasExpanded = "no") and
getNumberOfAttrs = x.getNumberOfAttrs() and
(if x.hasBody() then hasBody = "yes" else hasBody = "no") and
(if x.isConst() then isConst = "yes" else isConst = "no") and
@@ -23,5 +24,6 @@ where
(if x.hasTypeRepr() then hasTypeRepr = "yes" else hasTypeRepr = "no") and
if x.hasVisibility() then hasVisibility = "yes" else hasVisibility = "no"
select x, "hasExtendedCanonicalPath:", hasExtendedCanonicalPath, "hasCrateOrigin:", hasCrateOrigin,
"getNumberOfAttrs:", getNumberOfAttrs, "hasBody:", hasBody, "isConst:", isConst, "isDefault:",
isDefault, "hasName:", hasName, "hasTypeRepr:", hasTypeRepr, "hasVisibility:", hasVisibility
"hasExpanded:", hasExpanded, "getNumberOfAttrs:", getNumberOfAttrs, "hasBody:", hasBody,
"isConst:", isConst, "isDefault:", isDefault, "hasName:", hasName, "hasTypeRepr:", hasTypeRepr,
"hasVisibility:", hasVisibility

View File

@@ -0,0 +1,7 @@
// generated by codegen, do not edit
import codeql.rust.elements
import TestUtils
from Const x
where toBeTested(x) and not x.isUnknown()
select x, x.getExpanded()

View File

@@ -3,9 +3,9 @@ import codeql.rust.elements
import TestUtils
from
Enum x, string hasExtendedCanonicalPath, string hasCrateOrigin, int getNumberOfAttrs,
string hasGenericParamList, string hasName, string hasVariantList, string hasVisibility,
string hasWhereClause
Enum x, string hasExtendedCanonicalPath, string hasCrateOrigin, string hasExpanded,
int getNumberOfAttrs, string hasGenericParamList, string hasName, string hasVariantList,
string hasVisibility, string hasWhereClause
where
toBeTested(x) and
not x.isUnknown() and
@@ -15,6 +15,7 @@ where
else hasExtendedCanonicalPath = "no"
) and
(if x.hasCrateOrigin() then hasCrateOrigin = "yes" else hasCrateOrigin = "no") and
(if x.hasExpanded() then hasExpanded = "yes" else hasExpanded = "no") and
getNumberOfAttrs = x.getNumberOfAttrs() and
(if x.hasGenericParamList() then hasGenericParamList = "yes" else hasGenericParamList = "no") and
(if x.hasName() then hasName = "yes" else hasName = "no") and
@@ -22,6 +23,6 @@ where
(if x.hasVisibility() then hasVisibility = "yes" else hasVisibility = "no") and
if x.hasWhereClause() then hasWhereClause = "yes" else hasWhereClause = "no"
select x, "hasExtendedCanonicalPath:", hasExtendedCanonicalPath, "hasCrateOrigin:", hasCrateOrigin,
"getNumberOfAttrs:", getNumberOfAttrs, "hasGenericParamList:", hasGenericParamList, "hasName:",
hasName, "hasVariantList:", hasVariantList, "hasVisibility:", hasVisibility, "hasWhereClause:",
hasWhereClause
"hasExpanded:", hasExpanded, "getNumberOfAttrs:", getNumberOfAttrs, "hasGenericParamList:",
hasGenericParamList, "hasName:", hasName, "hasVariantList:", hasVariantList, "hasVisibility:",
hasVisibility, "hasWhereClause:", hasWhereClause

View File

@@ -0,0 +1,7 @@
// generated by codegen, do not edit
import codeql.rust.elements
import TestUtils
from Enum x
where toBeTested(x) and not x.isUnknown()
select x, x.getExpanded()

View File

@@ -3,8 +3,8 @@ import codeql.rust.elements
import TestUtils
from
ExternBlock x, string hasExtendedCanonicalPath, string hasCrateOrigin, string hasAbi,
int getNumberOfAttrs, string hasExternItemList, string isUnsafe
ExternBlock x, string hasExtendedCanonicalPath, string hasCrateOrigin, string hasExpanded,
string hasAbi, int getNumberOfAttrs, string hasExternItemList, string isUnsafe
where
toBeTested(x) and
not x.isUnknown() and
@@ -14,10 +14,11 @@ where
else hasExtendedCanonicalPath = "no"
) and
(if x.hasCrateOrigin() then hasCrateOrigin = "yes" else hasCrateOrigin = "no") and
(if x.hasExpanded() then hasExpanded = "yes" else hasExpanded = "no") and
(if x.hasAbi() then hasAbi = "yes" else hasAbi = "no") and
getNumberOfAttrs = x.getNumberOfAttrs() and
(if x.hasExternItemList() then hasExternItemList = "yes" else hasExternItemList = "no") and
if x.isUnsafe() then isUnsafe = "yes" else isUnsafe = "no"
select x, "hasExtendedCanonicalPath:", hasExtendedCanonicalPath, "hasCrateOrigin:", hasCrateOrigin,
"hasAbi:", hasAbi, "getNumberOfAttrs:", getNumberOfAttrs, "hasExternItemList:", hasExternItemList,
"isUnsafe:", isUnsafe
"hasExpanded:", hasExpanded, "hasAbi:", hasAbi, "getNumberOfAttrs:", getNumberOfAttrs,
"hasExternItemList:", hasExternItemList, "isUnsafe:", isUnsafe

View File

@@ -0,0 +1,7 @@
// generated by codegen, do not edit
import codeql.rust.elements
import TestUtils
from ExternBlock x
where toBeTested(x) and not x.isUnknown()
select x, x.getExpanded()

View File

@@ -3,8 +3,8 @@ import codeql.rust.elements
import TestUtils
from
ExternCrate x, string hasExtendedCanonicalPath, string hasCrateOrigin, int getNumberOfAttrs,
string hasIdentifier, string hasRename, string hasVisibility
ExternCrate x, string hasExtendedCanonicalPath, string hasCrateOrigin, string hasExpanded,
int getNumberOfAttrs, string hasIdentifier, string hasRename, string hasVisibility
where
toBeTested(x) and
not x.isUnknown() and
@@ -14,10 +14,11 @@ where
else hasExtendedCanonicalPath = "no"
) and
(if x.hasCrateOrigin() then hasCrateOrigin = "yes" else hasCrateOrigin = "no") and
(if x.hasExpanded() then hasExpanded = "yes" else hasExpanded = "no") and
getNumberOfAttrs = x.getNumberOfAttrs() and
(if x.hasIdentifier() then hasIdentifier = "yes" else hasIdentifier = "no") and
(if x.hasRename() then hasRename = "yes" else hasRename = "no") and
if x.hasVisibility() then hasVisibility = "yes" else hasVisibility = "no"
select x, "hasExtendedCanonicalPath:", hasExtendedCanonicalPath, "hasCrateOrigin:", hasCrateOrigin,
"getNumberOfAttrs:", getNumberOfAttrs, "hasIdentifier:", hasIdentifier, "hasRename:", hasRename,
"hasVisibility:", hasVisibility
"hasExpanded:", hasExpanded, "getNumberOfAttrs:", getNumberOfAttrs, "hasIdentifier:",
hasIdentifier, "hasRename:", hasRename, "hasVisibility:", hasVisibility

View File

@@ -0,0 +1,7 @@
// generated by codegen, do not edit
import codeql.rust.elements
import TestUtils
from ExternCrate x
where toBeTested(x) and not x.isUnknown()
select x, x.getExpanded()

View File

@@ -4,9 +4,9 @@ import TestUtils
from
Function x, string hasParamList, int getNumberOfAttrs, string hasExtendedCanonicalPath,
string hasCrateOrigin, string hasAbi, string hasBody, string hasGenericParamList, string isAsync,
string isConst, string isDefault, string isGen, string isUnsafe, string hasName,
string hasRetType, string hasVisibility, string hasWhereClause
string hasCrateOrigin, string hasExpanded, string hasAbi, string hasBody,
string hasGenericParamList, string isAsync, string isConst, string isDefault, string isGen,
string isUnsafe, string hasName, string hasRetType, string hasVisibility, string hasWhereClause
where
toBeTested(x) and
not x.isUnknown() and
@@ -18,6 +18,7 @@ where
else hasExtendedCanonicalPath = "no"
) and
(if x.hasCrateOrigin() then hasCrateOrigin = "yes" else hasCrateOrigin = "no") and
(if x.hasExpanded() then hasExpanded = "yes" else hasExpanded = "no") and
(if x.hasAbi() then hasAbi = "yes" else hasAbi = "no") and
(if x.hasBody() then hasBody = "yes" else hasBody = "no") and
(if x.hasGenericParamList() then hasGenericParamList = "yes" else hasGenericParamList = "no") and
@@ -32,7 +33,7 @@ where
if x.hasWhereClause() then hasWhereClause = "yes" else hasWhereClause = "no"
select x, "hasParamList:", hasParamList, "getNumberOfAttrs:", getNumberOfAttrs,
"hasExtendedCanonicalPath:", hasExtendedCanonicalPath, "hasCrateOrigin:", hasCrateOrigin,
"hasAbi:", hasAbi, "hasBody:", hasBody, "hasGenericParamList:", hasGenericParamList, "isAsync:",
isAsync, "isConst:", isConst, "isDefault:", isDefault, "isGen:", isGen, "isUnsafe:", isUnsafe,
"hasName:", hasName, "hasRetType:", hasRetType, "hasVisibility:", hasVisibility,
"hasWhereClause:", hasWhereClause
"hasExpanded:", hasExpanded, "hasAbi:", hasAbi, "hasBody:", hasBody, "hasGenericParamList:",
hasGenericParamList, "isAsync:", isAsync, "isConst:", isConst, "isDefault:", isDefault, "isGen:",
isGen, "isUnsafe:", isUnsafe, "hasName:", hasName, "hasRetType:", hasRetType, "hasVisibility:",
hasVisibility, "hasWhereClause:", hasWhereClause

View File

@@ -0,0 +1,7 @@
// generated by codegen, do not edit
import codeql.rust.elements
import TestUtils
from Function x
where toBeTested(x) and not x.isUnknown()
select x, x.getExpanded()

View File

@@ -3,9 +3,10 @@ import codeql.rust.elements
import TestUtils
from
Impl x, string hasExtendedCanonicalPath, string hasCrateOrigin, string hasAssocItemList,
int getNumberOfAttrs, string hasGenericParamList, string isConst, string isDefault,
string isUnsafe, string hasSelfTy, string hasTrait, string hasVisibility, string hasWhereClause
Impl x, string hasExtendedCanonicalPath, string hasCrateOrigin, string hasExpanded,
string hasAssocItemList, int getNumberOfAttrs, string hasGenericParamList, string isConst,
string isDefault, string isUnsafe, string hasSelfTy, string hasTrait, string hasVisibility,
string hasWhereClause
where
toBeTested(x) and
not x.isUnknown() and
@@ -15,6 +16,7 @@ where
else hasExtendedCanonicalPath = "no"
) and
(if x.hasCrateOrigin() then hasCrateOrigin = "yes" else hasCrateOrigin = "no") and
(if x.hasExpanded() then hasExpanded = "yes" else hasExpanded = "no") and
(if x.hasAssocItemList() then hasAssocItemList = "yes" else hasAssocItemList = "no") and
getNumberOfAttrs = x.getNumberOfAttrs() and
(if x.hasGenericParamList() then hasGenericParamList = "yes" else hasGenericParamList = "no") and
@@ -26,7 +28,7 @@ where
(if x.hasVisibility() then hasVisibility = "yes" else hasVisibility = "no") and
if x.hasWhereClause() then hasWhereClause = "yes" else hasWhereClause = "no"
select x, "hasExtendedCanonicalPath:", hasExtendedCanonicalPath, "hasCrateOrigin:", hasCrateOrigin,
"hasAssocItemList:", hasAssocItemList, "getNumberOfAttrs:", getNumberOfAttrs,
"hasGenericParamList:", hasGenericParamList, "isConst:", isConst, "isDefault:", isDefault,
"isUnsafe:", isUnsafe, "hasSelfTy:", hasSelfTy, "hasTrait:", hasTrait, "hasVisibility:",
hasVisibility, "hasWhereClause:", hasWhereClause
"hasExpanded:", hasExpanded, "hasAssocItemList:", hasAssocItemList, "getNumberOfAttrs:",
getNumberOfAttrs, "hasGenericParamList:", hasGenericParamList, "isConst:", isConst, "isDefault:",
isDefault, "isUnsafe:", isUnsafe, "hasSelfTy:", hasSelfTy, "hasTrait:", hasTrait,
"hasVisibility:", hasVisibility, "hasWhereClause:", hasWhereClause

View File

@@ -0,0 +1,7 @@
// generated by codegen, do not edit
import codeql.rust.elements
import TestUtils
from Impl x
where toBeTested(x) and not x.isUnknown()
select x, x.getExpanded()

View File

@@ -3,8 +3,8 @@ import codeql.rust.elements
import TestUtils
from
MacroCall x, string hasExtendedCanonicalPath, string hasCrateOrigin, int getNumberOfAttrs,
string hasPath, string hasTokenTree, string hasExpanded
MacroCall x, string hasExtendedCanonicalPath, string hasCrateOrigin, string hasExpanded,
int getNumberOfAttrs, string hasPath, string hasTokenTree
where
toBeTested(x) and
not x.isUnknown() and
@@ -14,10 +14,10 @@ where
else hasExtendedCanonicalPath = "no"
) and
(if x.hasCrateOrigin() then hasCrateOrigin = "yes" else hasCrateOrigin = "no") and
(if x.hasExpanded() then hasExpanded = "yes" else hasExpanded = "no") and
getNumberOfAttrs = x.getNumberOfAttrs() and
(if x.hasPath() then hasPath = "yes" else hasPath = "no") and
(if x.hasTokenTree() then hasTokenTree = "yes" else hasTokenTree = "no") and
if x.hasExpanded() then hasExpanded = "yes" else hasExpanded = "no"
if x.hasTokenTree() then hasTokenTree = "yes" else hasTokenTree = "no"
select x, "hasExtendedCanonicalPath:", hasExtendedCanonicalPath, "hasCrateOrigin:", hasCrateOrigin,
"getNumberOfAttrs:", getNumberOfAttrs, "hasPath:", hasPath, "hasTokenTree:", hasTokenTree,
"hasExpanded:", hasExpanded
"hasExpanded:", hasExpanded, "getNumberOfAttrs:", getNumberOfAttrs, "hasPath:", hasPath,
"hasTokenTree:", hasTokenTree

View File

@@ -3,8 +3,8 @@ import codeql.rust.elements
import TestUtils
from
MacroDef x, string hasExtendedCanonicalPath, string hasCrateOrigin, string hasArgs,
int getNumberOfAttrs, string hasBody, string hasName, string hasVisibility
MacroDef x, string hasExtendedCanonicalPath, string hasCrateOrigin, string hasExpanded,
string hasArgs, int getNumberOfAttrs, string hasBody, string hasName, string hasVisibility
where
toBeTested(x) and
not x.isUnknown() and
@@ -14,11 +14,12 @@ where
else hasExtendedCanonicalPath = "no"
) and
(if x.hasCrateOrigin() then hasCrateOrigin = "yes" else hasCrateOrigin = "no") and
(if x.hasExpanded() then hasExpanded = "yes" else hasExpanded = "no") and
(if x.hasArgs() then hasArgs = "yes" else hasArgs = "no") and
getNumberOfAttrs = x.getNumberOfAttrs() and
(if x.hasBody() then hasBody = "yes" else hasBody = "no") and
(if x.hasName() then hasName = "yes" else hasName = "no") and
if x.hasVisibility() then hasVisibility = "yes" else hasVisibility = "no"
select x, "hasExtendedCanonicalPath:", hasExtendedCanonicalPath, "hasCrateOrigin:", hasCrateOrigin,
"hasArgs:", hasArgs, "getNumberOfAttrs:", getNumberOfAttrs, "hasBody:", hasBody, "hasName:",
hasName, "hasVisibility:", hasVisibility
"hasExpanded:", hasExpanded, "hasArgs:", hasArgs, "getNumberOfAttrs:", getNumberOfAttrs,
"hasBody:", hasBody, "hasName:", hasName, "hasVisibility:", hasVisibility

View File

@@ -0,0 +1,7 @@
// generated by codegen, do not edit
import codeql.rust.elements
import TestUtils
from MacroDef x
where toBeTested(x) and not x.isUnknown()
select x, x.getExpanded()

View File

@@ -3,8 +3,8 @@ import codeql.rust.elements
import TestUtils
from
MacroRules x, string hasExtendedCanonicalPath, string hasCrateOrigin, int getNumberOfAttrs,
string hasName, string hasTokenTree, string hasVisibility
MacroRules x, string hasExtendedCanonicalPath, string hasCrateOrigin, string hasExpanded,
int getNumberOfAttrs, string hasName, string hasTokenTree, string hasVisibility
where
toBeTested(x) and
not x.isUnknown() and
@@ -14,10 +14,11 @@ where
else hasExtendedCanonicalPath = "no"
) and
(if x.hasCrateOrigin() then hasCrateOrigin = "yes" else hasCrateOrigin = "no") and
(if x.hasExpanded() then hasExpanded = "yes" else hasExpanded = "no") and
getNumberOfAttrs = x.getNumberOfAttrs() and
(if x.hasName() then hasName = "yes" else hasName = "no") and
(if x.hasTokenTree() then hasTokenTree = "yes" else hasTokenTree = "no") and
if x.hasVisibility() then hasVisibility = "yes" else hasVisibility = "no"
select x, "hasExtendedCanonicalPath:", hasExtendedCanonicalPath, "hasCrateOrigin:", hasCrateOrigin,
"getNumberOfAttrs:", getNumberOfAttrs, "hasName:", hasName, "hasTokenTree:", hasTokenTree,
"hasVisibility:", hasVisibility
"hasExpanded:", hasExpanded, "getNumberOfAttrs:", getNumberOfAttrs, "hasName:", hasName,
"hasTokenTree:", hasTokenTree, "hasVisibility:", hasVisibility

View File

@@ -0,0 +1,7 @@
// generated by codegen, do not edit
import codeql.rust.elements
import TestUtils
from MacroRules x
where toBeTested(x) and not x.isUnknown()
select x, x.getExpanded()

View File

@@ -3,8 +3,8 @@ import codeql.rust.elements
import TestUtils
from
Module x, string hasExtendedCanonicalPath, string hasCrateOrigin, int getNumberOfAttrs,
string hasItemList, string hasName, string hasVisibility
Module x, string hasExtendedCanonicalPath, string hasCrateOrigin, string hasExpanded,
int getNumberOfAttrs, string hasItemList, string hasName, string hasVisibility
where
toBeTested(x) and
not x.isUnknown() and
@@ -14,10 +14,11 @@ where
else hasExtendedCanonicalPath = "no"
) and
(if x.hasCrateOrigin() then hasCrateOrigin = "yes" else hasCrateOrigin = "no") and
(if x.hasExpanded() then hasExpanded = "yes" else hasExpanded = "no") and
getNumberOfAttrs = x.getNumberOfAttrs() and
(if x.hasItemList() then hasItemList = "yes" else hasItemList = "no") and
(if x.hasName() then hasName = "yes" else hasName = "no") and
if x.hasVisibility() then hasVisibility = "yes" else hasVisibility = "no"
select x, "hasExtendedCanonicalPath:", hasExtendedCanonicalPath, "hasCrateOrigin:", hasCrateOrigin,
"getNumberOfAttrs:", getNumberOfAttrs, "hasItemList:", hasItemList, "hasName:", hasName,
"hasVisibility:", hasVisibility
"hasExpanded:", hasExpanded, "getNumberOfAttrs:", getNumberOfAttrs, "hasItemList:", hasItemList,
"hasName:", hasName, "hasVisibility:", hasVisibility

View File

@@ -0,0 +1,7 @@
// generated by codegen, do not edit
import codeql.rust.elements
import TestUtils
from Module x
where toBeTested(x) and not x.isUnknown()
select x, x.getExpanded()

View File

@@ -3,9 +3,9 @@ import codeql.rust.elements
import TestUtils
from
Static x, string hasExtendedCanonicalPath, string hasCrateOrigin, int getNumberOfAttrs,
string hasBody, string isMut, string isStatic, string isUnsafe, string hasName,
string hasTypeRepr, string hasVisibility
Static x, string hasExtendedCanonicalPath, string hasCrateOrigin, string hasExpanded,
int getNumberOfAttrs, string hasBody, string isMut, string isStatic, string isUnsafe,
string hasName, string hasTypeRepr, string hasVisibility
where
toBeTested(x) and
not x.isUnknown() and
@@ -15,6 +15,7 @@ where
else hasExtendedCanonicalPath = "no"
) and
(if x.hasCrateOrigin() then hasCrateOrigin = "yes" else hasCrateOrigin = "no") and
(if x.hasExpanded() then hasExpanded = "yes" else hasExpanded = "no") and
getNumberOfAttrs = x.getNumberOfAttrs() and
(if x.hasBody() then hasBody = "yes" else hasBody = "no") and
(if x.isMut() then isMut = "yes" else isMut = "no") and
@@ -24,6 +25,6 @@ where
(if x.hasTypeRepr() then hasTypeRepr = "yes" else hasTypeRepr = "no") and
if x.hasVisibility() then hasVisibility = "yes" else hasVisibility = "no"
select x, "hasExtendedCanonicalPath:", hasExtendedCanonicalPath, "hasCrateOrigin:", hasCrateOrigin,
"getNumberOfAttrs:", getNumberOfAttrs, "hasBody:", hasBody, "isMut:", isMut, "isStatic:",
isStatic, "isUnsafe:", isUnsafe, "hasName:", hasName, "hasTypeRepr:", hasTypeRepr,
"hasVisibility:", hasVisibility
"hasExpanded:", hasExpanded, "getNumberOfAttrs:", getNumberOfAttrs, "hasBody:", hasBody, "isMut:",
isMut, "isStatic:", isStatic, "isUnsafe:", isUnsafe, "hasName:", hasName, "hasTypeRepr:",
hasTypeRepr, "hasVisibility:", hasVisibility

View File

@@ -0,0 +1,7 @@
// generated by codegen, do not edit
import codeql.rust.elements
import TestUtils
from Static x
where toBeTested(x) and not x.isUnknown()
select x, x.getExpanded()

View File

@@ -3,9 +3,9 @@ import codeql.rust.elements
import TestUtils
from
Struct x, string hasExtendedCanonicalPath, string hasCrateOrigin, int getNumberOfAttrs,
string hasFieldList, string hasGenericParamList, string hasName, string hasVisibility,
string hasWhereClause
Struct x, string hasExtendedCanonicalPath, string hasCrateOrigin, string hasExpanded,
int getNumberOfAttrs, string hasFieldList, string hasGenericParamList, string hasName,
string hasVisibility, string hasWhereClause
where
toBeTested(x) and
not x.isUnknown() and
@@ -15,6 +15,7 @@ where
else hasExtendedCanonicalPath = "no"
) and
(if x.hasCrateOrigin() then hasCrateOrigin = "yes" else hasCrateOrigin = "no") and
(if x.hasExpanded() then hasExpanded = "yes" else hasExpanded = "no") and
getNumberOfAttrs = x.getNumberOfAttrs() and
(if x.hasFieldList() then hasFieldList = "yes" else hasFieldList = "no") and
(if x.hasGenericParamList() then hasGenericParamList = "yes" else hasGenericParamList = "no") and
@@ -22,6 +23,6 @@ where
(if x.hasVisibility() then hasVisibility = "yes" else hasVisibility = "no") and
if x.hasWhereClause() then hasWhereClause = "yes" else hasWhereClause = "no"
select x, "hasExtendedCanonicalPath:", hasExtendedCanonicalPath, "hasCrateOrigin:", hasCrateOrigin,
"getNumberOfAttrs:", getNumberOfAttrs, "hasFieldList:", hasFieldList, "hasGenericParamList:",
hasGenericParamList, "hasName:", hasName, "hasVisibility:", hasVisibility, "hasWhereClause:",
hasWhereClause
"hasExpanded:", hasExpanded, "getNumberOfAttrs:", getNumberOfAttrs, "hasFieldList:", hasFieldList,
"hasGenericParamList:", hasGenericParamList, "hasName:", hasName, "hasVisibility:", hasVisibility,
"hasWhereClause:", hasWhereClause

View File

@@ -0,0 +1,7 @@
// generated by codegen, do not edit
import codeql.rust.elements
import TestUtils
from Struct x
where toBeTested(x) and not x.isUnknown()
select x, x.getExpanded()

View File

@@ -3,9 +3,10 @@ import codeql.rust.elements
import TestUtils
from
Trait x, string hasExtendedCanonicalPath, string hasCrateOrigin, string hasAssocItemList,
int getNumberOfAttrs, string hasGenericParamList, string isAuto, string isUnsafe, string hasName,
string hasTypeBoundList, string hasVisibility, string hasWhereClause
Trait x, string hasExtendedCanonicalPath, string hasCrateOrigin, string hasExpanded,
string hasAssocItemList, int getNumberOfAttrs, string hasGenericParamList, string isAuto,
string isUnsafe, string hasName, string hasTypeBoundList, string hasVisibility,
string hasWhereClause
where
toBeTested(x) and
not x.isUnknown() and
@@ -15,6 +16,7 @@ where
else hasExtendedCanonicalPath = "no"
) and
(if x.hasCrateOrigin() then hasCrateOrigin = "yes" else hasCrateOrigin = "no") and
(if x.hasExpanded() then hasExpanded = "yes" else hasExpanded = "no") and
(if x.hasAssocItemList() then hasAssocItemList = "yes" else hasAssocItemList = "no") and
getNumberOfAttrs = x.getNumberOfAttrs() and
(if x.hasGenericParamList() then hasGenericParamList = "yes" else hasGenericParamList = "no") and
@@ -25,7 +27,7 @@ where
(if x.hasVisibility() then hasVisibility = "yes" else hasVisibility = "no") and
if x.hasWhereClause() then hasWhereClause = "yes" else hasWhereClause = "no"
select x, "hasExtendedCanonicalPath:", hasExtendedCanonicalPath, "hasCrateOrigin:", hasCrateOrigin,
"hasAssocItemList:", hasAssocItemList, "getNumberOfAttrs:", getNumberOfAttrs,
"hasGenericParamList:", hasGenericParamList, "isAuto:", isAuto, "isUnsafe:", isUnsafe, "hasName:",
hasName, "hasTypeBoundList:", hasTypeBoundList, "hasVisibility:", hasVisibility,
"hasWhereClause:", hasWhereClause
"hasExpanded:", hasExpanded, "hasAssocItemList:", hasAssocItemList, "getNumberOfAttrs:",
getNumberOfAttrs, "hasGenericParamList:", hasGenericParamList, "isAuto:", isAuto, "isUnsafe:",
isUnsafe, "hasName:", hasName, "hasTypeBoundList:", hasTypeBoundList, "hasVisibility:",
hasVisibility, "hasWhereClause:", hasWhereClause

View File

@@ -0,0 +1,7 @@
// generated by codegen, do not edit
import codeql.rust.elements
import TestUtils
from Trait x
where toBeTested(x) and not x.isUnknown()
select x, x.getExpanded()

View File

@@ -3,9 +3,9 @@ import codeql.rust.elements
import TestUtils
from
TraitAlias x, string hasExtendedCanonicalPath, string hasCrateOrigin, int getNumberOfAttrs,
string hasGenericParamList, string hasName, string hasTypeBoundList, string hasVisibility,
string hasWhereClause
TraitAlias x, string hasExtendedCanonicalPath, string hasCrateOrigin, string hasExpanded,
int getNumberOfAttrs, string hasGenericParamList, string hasName, string hasTypeBoundList,
string hasVisibility, string hasWhereClause
where
toBeTested(x) and
not x.isUnknown() and
@@ -15,6 +15,7 @@ where
else hasExtendedCanonicalPath = "no"
) and
(if x.hasCrateOrigin() then hasCrateOrigin = "yes" else hasCrateOrigin = "no") and
(if x.hasExpanded() then hasExpanded = "yes" else hasExpanded = "no") and
getNumberOfAttrs = x.getNumberOfAttrs() and
(if x.hasGenericParamList() then hasGenericParamList = "yes" else hasGenericParamList = "no") and
(if x.hasName() then hasName = "yes" else hasName = "no") and
@@ -22,6 +23,6 @@ where
(if x.hasVisibility() then hasVisibility = "yes" else hasVisibility = "no") and
if x.hasWhereClause() then hasWhereClause = "yes" else hasWhereClause = "no"
select x, "hasExtendedCanonicalPath:", hasExtendedCanonicalPath, "hasCrateOrigin:", hasCrateOrigin,
"getNumberOfAttrs:", getNumberOfAttrs, "hasGenericParamList:", hasGenericParamList, "hasName:",
hasName, "hasTypeBoundList:", hasTypeBoundList, "hasVisibility:", hasVisibility,
"hasWhereClause:", hasWhereClause
"hasExpanded:", hasExpanded, "getNumberOfAttrs:", getNumberOfAttrs, "hasGenericParamList:",
hasGenericParamList, "hasName:", hasName, "hasTypeBoundList:", hasTypeBoundList, "hasVisibility:",
hasVisibility, "hasWhereClause:", hasWhereClause

View File

@@ -0,0 +1,7 @@
// generated by codegen, do not edit
import codeql.rust.elements
import TestUtils
from TraitAlias x
where toBeTested(x) and not x.isUnknown()
select x, x.getExpanded()

View File

@@ -3,9 +3,9 @@ import codeql.rust.elements
import TestUtils
from
TypeAlias x, string hasExtendedCanonicalPath, string hasCrateOrigin, int getNumberOfAttrs,
string hasGenericParamList, string isDefault, string hasName, string hasTypeRepr,
string hasTypeBoundList, string hasVisibility, string hasWhereClause
TypeAlias x, string hasExtendedCanonicalPath, string hasCrateOrigin, string hasExpanded,
int getNumberOfAttrs, string hasGenericParamList, string isDefault, string hasName,
string hasTypeRepr, string hasTypeBoundList, string hasVisibility, string hasWhereClause
where
toBeTested(x) and
not x.isUnknown() and
@@ -15,6 +15,7 @@ where
else hasExtendedCanonicalPath = "no"
) and
(if x.hasCrateOrigin() then hasCrateOrigin = "yes" else hasCrateOrigin = "no") and
(if x.hasExpanded() then hasExpanded = "yes" else hasExpanded = "no") and
getNumberOfAttrs = x.getNumberOfAttrs() and
(if x.hasGenericParamList() then hasGenericParamList = "yes" else hasGenericParamList = "no") and
(if x.isDefault() then isDefault = "yes" else isDefault = "no") and
@@ -24,6 +25,7 @@ where
(if x.hasVisibility() then hasVisibility = "yes" else hasVisibility = "no") and
if x.hasWhereClause() then hasWhereClause = "yes" else hasWhereClause = "no"
select x, "hasExtendedCanonicalPath:", hasExtendedCanonicalPath, "hasCrateOrigin:", hasCrateOrigin,
"getNumberOfAttrs:", getNumberOfAttrs, "hasGenericParamList:", hasGenericParamList, "isDefault:",
isDefault, "hasName:", hasName, "hasTypeRepr:", hasTypeRepr, "hasTypeBoundList:",
hasTypeBoundList, "hasVisibility:", hasVisibility, "hasWhereClause:", hasWhereClause
"hasExpanded:", hasExpanded, "getNumberOfAttrs:", getNumberOfAttrs, "hasGenericParamList:",
hasGenericParamList, "isDefault:", isDefault, "hasName:", hasName, "hasTypeRepr:", hasTypeRepr,
"hasTypeBoundList:", hasTypeBoundList, "hasVisibility:", hasVisibility, "hasWhereClause:",
hasWhereClause

View File

@@ -0,0 +1,7 @@
// generated by codegen, do not edit
import codeql.rust.elements
import TestUtils
from TypeAlias x
where toBeTested(x) and not x.isUnknown()
select x, x.getExpanded()

View File

@@ -3,9 +3,9 @@ import codeql.rust.elements
import TestUtils
from
Union x, string hasExtendedCanonicalPath, string hasCrateOrigin, int getNumberOfAttrs,
string hasGenericParamList, string hasName, string hasStructFieldList, string hasVisibility,
string hasWhereClause
Union x, string hasExtendedCanonicalPath, string hasCrateOrigin, string hasExpanded,
int getNumberOfAttrs, string hasGenericParamList, string hasName, string hasStructFieldList,
string hasVisibility, string hasWhereClause
where
toBeTested(x) and
not x.isUnknown() and
@@ -15,6 +15,7 @@ where
else hasExtendedCanonicalPath = "no"
) and
(if x.hasCrateOrigin() then hasCrateOrigin = "yes" else hasCrateOrigin = "no") and
(if x.hasExpanded() then hasExpanded = "yes" else hasExpanded = "no") and
getNumberOfAttrs = x.getNumberOfAttrs() and
(if x.hasGenericParamList() then hasGenericParamList = "yes" else hasGenericParamList = "no") and
(if x.hasName() then hasName = "yes" else hasName = "no") and
@@ -22,6 +23,6 @@ where
(if x.hasVisibility() then hasVisibility = "yes" else hasVisibility = "no") and
if x.hasWhereClause() then hasWhereClause = "yes" else hasWhereClause = "no"
select x, "hasExtendedCanonicalPath:", hasExtendedCanonicalPath, "hasCrateOrigin:", hasCrateOrigin,
"getNumberOfAttrs:", getNumberOfAttrs, "hasGenericParamList:", hasGenericParamList, "hasName:",
hasName, "hasStructFieldList:", hasStructFieldList, "hasVisibility:", hasVisibility,
"hasWhereClause:", hasWhereClause
"hasExpanded:", hasExpanded, "getNumberOfAttrs:", getNumberOfAttrs, "hasGenericParamList:",
hasGenericParamList, "hasName:", hasName, "hasStructFieldList:", hasStructFieldList,
"hasVisibility:", hasVisibility, "hasWhereClause:", hasWhereClause

View File

@@ -0,0 +1,7 @@
// generated by codegen, do not edit
import codeql.rust.elements
import TestUtils
from Union x
where toBeTested(x) and not x.isUnknown()
select x, x.getExpanded()

View File

@@ -3,8 +3,8 @@ import codeql.rust.elements
import TestUtils
from
Use x, string hasExtendedCanonicalPath, string hasCrateOrigin, int getNumberOfAttrs,
string hasUseTree, string hasVisibility
Use x, string hasExtendedCanonicalPath, string hasCrateOrigin, string hasExpanded,
int getNumberOfAttrs, string hasUseTree, string hasVisibility
where
toBeTested(x) and
not x.isUnknown() and
@@ -14,8 +14,10 @@ where
else hasExtendedCanonicalPath = "no"
) and
(if x.hasCrateOrigin() then hasCrateOrigin = "yes" else hasCrateOrigin = "no") and
(if x.hasExpanded() then hasExpanded = "yes" else hasExpanded = "no") and
getNumberOfAttrs = x.getNumberOfAttrs() and
(if x.hasUseTree() then hasUseTree = "yes" else hasUseTree = "no") and
if x.hasVisibility() then hasVisibility = "yes" else hasVisibility = "no"
select x, "hasExtendedCanonicalPath:", hasExtendedCanonicalPath, "hasCrateOrigin:", hasCrateOrigin,
"getNumberOfAttrs:", getNumberOfAttrs, "hasUseTree:", hasUseTree, "hasVisibility:", hasVisibility
"hasExpanded:", hasExpanded, "getNumberOfAttrs:", getNumberOfAttrs, "hasUseTree:", hasUseTree,
"hasVisibility:", hasVisibility

View File

@@ -0,0 +1,7 @@
// generated by codegen, do not edit
import codeql.rust.elements
import TestUtils
from Use x
where toBeTested(x) and not x.isUnknown()
select x, x.getExpanded()

View File

@@ -1232,7 +1232,6 @@ class _:
todo!()
```
"""
expanded: optional[AstNode] | child | rust.detach
@annotate(MacroDef)
@@ -1945,4 +1944,4 @@ class FormatArgument(Locatable):
@annotate(Item, add_bases=(Addressable,))
class _:
pass
expanded: optional[AstNode] | child | rust.detach | doc("expanded attribute or procedural macro call of this item")