mirror of
https://github.com/github/codeql.git
synced 2026-05-24 08:07:07 +02:00
Rust: first draft of canonical paths rework
This commit is contained in:
@@ -101,12 +101,12 @@ class Processor:
|
||||
)
|
||||
|
||||
def get_classes(self):
|
||||
ret = {"": []}
|
||||
ret = []
|
||||
for k, cls in self._classmap.items():
|
||||
if not cls.imported and not cls.synth:
|
||||
ret.setdefault(cls.group, []).append(self._get_class(cls.name))
|
||||
ret.append(self._get_class(cls.name))
|
||||
elif cls.imported:
|
||||
ret[""].append(rust.Class(name=cls.name))
|
||||
ret.append(rust.Class(name=cls.name))
|
||||
return ret
|
||||
|
||||
|
||||
@@ -114,25 +114,14 @@ def generate(opts, renderer):
|
||||
assert opts.rust_output
|
||||
processor = Processor(schemaloader.load_file(opts.schema))
|
||||
out = opts.rust_output
|
||||
groups = set()
|
||||
with renderer.manage(generated=out.rglob("*.rs"),
|
||||
stubs=(),
|
||||
registry=out / ".generated.list",
|
||||
force=opts.force) as renderer:
|
||||
for group, classes in processor.get_classes().items():
|
||||
group = group or "top"
|
||||
groups.add(group)
|
||||
renderer.render(
|
||||
rust.ClassList(
|
||||
classes,
|
||||
opts.schema,
|
||||
),
|
||||
out / f"{group}.rs",
|
||||
)
|
||||
renderer.render(
|
||||
rust.ModuleList(
|
||||
groups,
|
||||
opts.schema,
|
||||
rust.ClassList(
|
||||
classes=processor.get_classes(),
|
||||
source=opts.schema,
|
||||
),
|
||||
out / f"mod.rs",
|
||||
)
|
||||
|
||||
@@ -121,9 +121,14 @@ def _fill_hideable_information(classes: typing.Dict[str, schema.Class]):
|
||||
|
||||
|
||||
def _check_test_with(classes: typing.Dict[str, schema.Class]):
|
||||
pragma = "qlest_test_with"
|
||||
for cls in classes.values():
|
||||
test_with = typing.cast(str, cls.pragmas.get("qltest_test_with"))
|
||||
transitive_test_with = test_with and classes[test_with].pragmas.get("qltest_test_with")
|
||||
if cls.name == cls.pragmas.get(pragma):
|
||||
# this is already implicit
|
||||
del cls.pragmas[pragma]
|
||||
for cls in classes.values():
|
||||
test_with = typing.cast(str, cls.pragmas.get(pragma))
|
||||
transitive_test_with = test_with and classes[test_with].pragmas.get(pragma)
|
||||
if test_with and transitive_test_with:
|
||||
raise schema.Error(f"{cls.name} has test_with {test_with} which in turn "
|
||||
f"has test_with {transitive_test_with}, use that directly")
|
||||
|
||||
3
rust/extractor/src/generated/.generated.list
generated
3
rust/extractor/src/generated/.generated.list
generated
@@ -1,2 +1 @@
|
||||
mod.rs 4bcb9def847469aae9d8649461546b7c21ec97cf6e63d3cf394e339915ce65d7 4bcb9def847469aae9d8649461546b7c21ec97cf6e63d3cf394e339915ce65d7
|
||||
top.rs d09cf25daa06fc9bc802e438231e0f038443d2ede3972a0dd829f322b390c4e4 d09cf25daa06fc9bc802e438231e0f038443d2ede3972a0dd829f322b390c4e4
|
||||
mod.rs f28f770a937d79fa8a02058ecdb5a8898b43da3d4d785c7abd90af32e5d8ef23 f28f770a937d79fa8a02058ecdb5a8898b43da3d4d785c7abd90af32e5d8ef23
|
||||
|
||||
1
rust/extractor/src/generated/.gitattributes
generated
vendored
1
rust/extractor/src/generated/.gitattributes
generated
vendored
@@ -1,4 +1,3 @@
|
||||
/.generated.list linguist-generated
|
||||
/.gitattributes linguist-generated
|
||||
/mod.rs linguist-generated
|
||||
/top.rs linguist-generated
|
||||
|
||||
11458
rust/extractor/src/generated/mod.rs
generated
11458
rust/extractor/src/generated/mod.rs
generated
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -34,6 +34,7 @@ pub enum RustAnalyzer<'a> {
|
||||
pub struct FileSemanticInformation<'a> {
|
||||
pub file_id: EditionedFileId,
|
||||
pub semantics: &'a Semantics<'a, RootDatabase>,
|
||||
pub vfs: &'a Vfs,
|
||||
}
|
||||
|
||||
pub struct ParseResult<'a> {
|
||||
@@ -87,7 +88,11 @@ impl<'a> RustAnalyzer<'a> {
|
||||
ast: source_file,
|
||||
text: input,
|
||||
errors,
|
||||
semantics_info: Ok(FileSemanticInformation { file_id, semantics }),
|
||||
semantics_info: Ok(FileSemanticInformation {
|
||||
file_id,
|
||||
semantics,
|
||||
vfs,
|
||||
}),
|
||||
};
|
||||
}
|
||||
debug!(
|
||||
|
||||
@@ -2,17 +2,18 @@ use super::mappings::{AddressableAst, AddressableHir, PathAst};
|
||||
use crate::generated::MacroCall;
|
||||
use crate::generated::{self};
|
||||
use crate::rust_analyzer::FileSemanticInformation;
|
||||
use crate::trap::AsTrapKeyPart;
|
||||
use crate::trap::{DiagnosticSeverity, TrapFile, TrapId};
|
||||
use crate::trap::{Label, TrapClass};
|
||||
use itertools::Either;
|
||||
use log::Level;
|
||||
use ra_ap_base_db::salsa::InternKey;
|
||||
use crate::trap_key;
|
||||
use itertools::{Either, Itertools};
|
||||
use log::{warn, Level};
|
||||
use ra_ap_base_db::CrateOrigin;
|
||||
use ra_ap_hir::db::ExpandDatabase;
|
||||
use ra_ap_hir::{
|
||||
Adt, Crate, ItemContainer, Module, ModuleDef, PathResolution, Semantics, Type, Variant,
|
||||
Adt, Crate, Enum, ItemContainer, Module, ModuleDef, PathResolution, Semantics, Trait, TraitRef,
|
||||
Type, Variant,
|
||||
};
|
||||
use ra_ap_hir_def::type_ref::Mutability;
|
||||
use ra_ap_hir_def::ModuleId;
|
||||
use ra_ap_hir_expand::ExpandTo;
|
||||
use ra_ap_ide_db::line_index::{LineCol, LineIndex};
|
||||
@@ -24,6 +25,8 @@ use ra_ap_syntax::{
|
||||
ast, AstNode, NodeOrToken, SyntaxElementChildren, SyntaxError, SyntaxNode, SyntaxToken,
|
||||
TextRange,
|
||||
};
|
||||
use ra_ap_vfs::Vfs;
|
||||
use std::path::PathBuf;
|
||||
|
||||
#[macro_export]
|
||||
macro_rules! emit_detached {
|
||||
@@ -80,6 +83,7 @@ pub struct Translator<'a> {
|
||||
line_index: LineIndex,
|
||||
file_id: Option<EditionedFileId>,
|
||||
pub semantics: Option<&'a Semantics<'a, RootDatabase>>,
|
||||
vfs: Option<&'a Vfs>,
|
||||
}
|
||||
|
||||
impl<'a> Translator<'a> {
|
||||
@@ -97,6 +101,7 @@ impl<'a> Translator<'a> {
|
||||
line_index,
|
||||
file_id: semantic_info.map(|i| i.file_id),
|
||||
semantics: semantic_info.map(|i| i.semantics),
|
||||
vfs: semantic_info.map(|i| i.vfs),
|
||||
}
|
||||
}
|
||||
fn location(&self, range: TextRange) -> (LineCol, LineCol) {
|
||||
@@ -322,89 +327,313 @@ impl<'a> Translator<'a> {
|
||||
);
|
||||
}
|
||||
}
|
||||
fn canonical_path_from_type(&self, ty: Type) -> Option<String> {
|
||||
fn canonical_path_from_type(
|
||||
&mut self,
|
||||
ty: Type,
|
||||
) -> Option<Label<generated::TypeCanonicalPath>> {
|
||||
let sema = self.semantics.as_ref().unwrap();
|
||||
// rust-analyzer doesn't provide a type enum directly
|
||||
if let Some(it) = ty.as_adt() {
|
||||
return match it {
|
||||
Adt::Struct(it) => self.canonical_path_from_hir(it),
|
||||
Adt::Union(it) => self.canonical_path_from_hir(it),
|
||||
Adt::Enum(it) => self.canonical_path_from_hir(it),
|
||||
};
|
||||
};
|
||||
if let Some((it, size)) = ty.as_array(sema.db) {
|
||||
return self
|
||||
.canonical_path_from_type(it)
|
||||
.map(|p| format!("[{p}; {size}]"));
|
||||
}
|
||||
if let Some(it) = ty.as_slice() {
|
||||
return self
|
||||
.canonical_path_from_type(it)
|
||||
.map(|p| format!("[{}]", p));
|
||||
}
|
||||
if let Some(it) = ty.as_builtin() {
|
||||
return Some(it.name().as_str().to_owned());
|
||||
}
|
||||
if let Some(it) = ty.as_dyn_trait() {
|
||||
return self.canonical_path_from_hir(it).map(|p| format!("dyn {p}"));
|
||||
}
|
||||
if let Some((it, mutability)) = ty.as_reference() {
|
||||
let mut_str = match mutability {
|
||||
Mutability::Shared => "",
|
||||
Mutability::Mut => "mut ",
|
||||
};
|
||||
return self
|
||||
.canonical_path_from_type(it)
|
||||
.map(|p| format!("&{mut_str}{p}"));
|
||||
}
|
||||
if let Some(it) = ty.as_impl_traits(sema.db) {
|
||||
let paths = it
|
||||
.map(|t| self.canonical_path_from_hir(t))
|
||||
.collect::<Option<Vec<_>>>()?;
|
||||
return Some(format!("impl {}", paths.join(" + ")));
|
||||
}
|
||||
if ty.as_type_param(sema.db).is_some() {
|
||||
let name = it.name(sema.db).as_str().to_owned();
|
||||
let module = it.module(sema.db);
|
||||
let mut generic_args = Vec::new();
|
||||
for arg in ty.type_arguments() {
|
||||
let path = self.canonical_path_from_type(arg)?;
|
||||
generic_args.push(
|
||||
self.trap
|
||||
.emit(generated::TypeGenericTypeArg {
|
||||
id: trap_key!(path),
|
||||
path,
|
||||
})
|
||||
.into(),
|
||||
);
|
||||
}
|
||||
let namespace = self.canonical_path_from_hir_module(module)?;
|
||||
let base = self.trap.emit(generated::ModuleItemCanonicalPath {
|
||||
id: trap_key!(namespace, "::", name),
|
||||
namespace,
|
||||
name,
|
||||
});
|
||||
let path = self.trap.emit(generated::ParametrizedCanonicalPath {
|
||||
id: trap_key!(base, generic_args),
|
||||
base,
|
||||
generic_args,
|
||||
});
|
||||
Some(
|
||||
self.trap
|
||||
.emit(generated::ConcreteTypeCanonicalPath {
|
||||
id: trap_key!(path),
|
||||
path,
|
||||
})
|
||||
.into(),
|
||||
)
|
||||
} else if let Some((it, size)) = ty.as_array(sema.db) {
|
||||
let modifier = format!("[{{0}}; {size}]");
|
||||
let base = vec![self.canonical_path_from_type(it)?];
|
||||
Some(
|
||||
self.trap
|
||||
.emit(generated::DerivedTypeCanonicalPath {
|
||||
id: trap_key!(modifier, base),
|
||||
modifier,
|
||||
base,
|
||||
})
|
||||
.into(),
|
||||
)
|
||||
} else if let Some(it) = ty.as_slice() {
|
||||
let modifier = "[{0}]".to_owned();
|
||||
let base = vec![self.canonical_path_from_type(it)?];
|
||||
Some(
|
||||
self.trap
|
||||
.emit(generated::DerivedTypeCanonicalPath {
|
||||
id: trap_key!(modifier, base),
|
||||
modifier,
|
||||
base,
|
||||
})
|
||||
.into(),
|
||||
)
|
||||
} else if ty.is_unit() {
|
||||
let modifier = "()".to_owned();
|
||||
let base = vec![];
|
||||
Some(
|
||||
self.trap
|
||||
.emit(generated::DerivedTypeCanonicalPath {
|
||||
id: trap_key!(modifier, base),
|
||||
modifier,
|
||||
base,
|
||||
})
|
||||
.into(),
|
||||
)
|
||||
} else if let Some(it) = ty.as_builtin() {
|
||||
let name = it.name().as_str().to_owned();
|
||||
Some(
|
||||
self.trap
|
||||
.emit(generated::BuiltinTypeCanonicalPath {
|
||||
id: trap_key!(name),
|
||||
name,
|
||||
})
|
||||
.into(),
|
||||
)
|
||||
} else if let Some((it, mutability)) = ty.as_reference() {
|
||||
let modifier = format!("&{}{{0}}", mutability.as_keyword_for_ref());
|
||||
let base = vec![self.canonical_path_from_type(it)?];
|
||||
Some(
|
||||
self.trap
|
||||
.emit(generated::DerivedTypeCanonicalPath {
|
||||
id: trap_key!(modifier, base),
|
||||
modifier,
|
||||
base,
|
||||
})
|
||||
.into(),
|
||||
)
|
||||
} else if ty.as_type_param(sema.db).is_some() {
|
||||
// from the canonical path perspective, we just want a special name
|
||||
// e.g. `crate::<_ as SomeTrait>::func`
|
||||
return Some("_".to_owned());
|
||||
Some(
|
||||
self.trap
|
||||
.emit(generated::PlaceholderTypeCanonicalPath { id: trap_key!("_") })
|
||||
.into(),
|
||||
)
|
||||
} else {
|
||||
let tuple_args = ty.tuple_fields(sema.db);
|
||||
if tuple_args.is_empty() {
|
||||
None
|
||||
} else {
|
||||
let modifier = format!("({{{}}})", (0..tuple_args.len()).join("}, {"));
|
||||
let base = tuple_args
|
||||
.into_iter()
|
||||
.map(|arg| self.canonical_path_from_type(arg))
|
||||
.collect::<Option<Vec<_>>>()?;
|
||||
Some(
|
||||
self.trap
|
||||
.emit(generated::DerivedTypeCanonicalPath {
|
||||
id: trap_key!(modifier, base),
|
||||
modifier,
|
||||
base,
|
||||
})
|
||||
.into(),
|
||||
)
|
||||
}
|
||||
}
|
||||
None
|
||||
}
|
||||
|
||||
fn canonical_path_from_hir_module(&self, item: Module) -> Option<String> {
|
||||
if let Some(block_id) = ModuleId::from(item).containing_block() {
|
||||
// this means this is a block module, i.e. a virtual module for a block scope
|
||||
return Some(format!("{{{}}}", block_id.as_intern_id()));
|
||||
}
|
||||
if item.is_crate_root() {
|
||||
return Some("crate".into());
|
||||
}
|
||||
self.canonical_path_from_hir::<ast::Module>(item)
|
||||
fn emit_crate_root(&mut self, item: Crate) -> Option<Label<generated::CrateRoot>> {
|
||||
let db = self.semantics.unwrap().db;
|
||||
let (repo, name) = match item.origin(db) {
|
||||
CrateOrigin::Rustc { name } => (None, Some(name)),
|
||||
CrateOrigin::Local { repo, name } => (repo, name),
|
||||
CrateOrigin::Library { repo, name } => (repo, Some(name)),
|
||||
CrateOrigin::Lang(it) => {
|
||||
let name = it.to_string();
|
||||
return Some(
|
||||
self.trap
|
||||
.emit(generated::LangCrateRoot {
|
||||
id: trap_key!(name),
|
||||
name,
|
||||
})
|
||||
.into(),
|
||||
);
|
||||
}
|
||||
};
|
||||
let name = name.map(|s| s.to_string());
|
||||
let vfs_path = self.vfs.unwrap().file_path(item.root_file(db));
|
||||
let Some(file) = vfs_path.as_path() else {
|
||||
warn!("Crate root file not found: {}", vfs_path);
|
||||
return None;
|
||||
};
|
||||
let source = self.trap.emit_file(&PathBuf::from(file.as_os_str()));
|
||||
Some(
|
||||
self.trap
|
||||
.emit(generated::RepoCrateRoot {
|
||||
id: trap_key!(source, name, repo),
|
||||
name,
|
||||
repo,
|
||||
source,
|
||||
})
|
||||
.into(),
|
||||
)
|
||||
}
|
||||
|
||||
fn canonical_path_from_hir<T: AstNode>(&self, item: impl AddressableHir<T>) -> Option<String> {
|
||||
fn canonical_path_from_hir_module(
|
||||
&mut self,
|
||||
item: Module,
|
||||
) -> Option<Label<generated::Namespace>> {
|
||||
// if we have a Hir entity, it means we have semantics
|
||||
let sema = self.semantics.as_ref().unwrap();
|
||||
// do not assign namespaces to unnamed modules, i.e. a virtual modules for block scopes
|
||||
if ModuleId::from(item).is_block_module() {
|
||||
return None;
|
||||
}
|
||||
let path = item
|
||||
.path_to_root(sema.db)
|
||||
.iter()
|
||||
.filter_map(|m| m.name(sema.db))
|
||||
.map(|n| n.as_str().to_owned())
|
||||
.join("::");
|
||||
let root = self.emit_crate_root(item.krate())?;
|
||||
Some(self.trap.emit(generated::Namespace {
|
||||
id: trap_key!(root, "::", path),
|
||||
root,
|
||||
path,
|
||||
}))
|
||||
}
|
||||
|
||||
fn canonical_path_from_trait(
|
||||
&mut self,
|
||||
item: Trait,
|
||||
) -> Option<Label<generated::ModuleItemCanonicalPath>> {
|
||||
// if we have a Hir entity, it means we have semantics
|
||||
let sema = self.semantics.as_ref().unwrap();
|
||||
let module = item.module(sema.db);
|
||||
let name = item.name(sema.db).as_str().to_owned();
|
||||
let namespace = self.canonical_path_from_hir_module(module)?;
|
||||
Some(self.trap.emit(generated::ModuleItemCanonicalPath {
|
||||
id: trap_key!(namespace, "::", name),
|
||||
namespace,
|
||||
name,
|
||||
}))
|
||||
}
|
||||
|
||||
fn canonical_path_from_enum(
|
||||
&mut self,
|
||||
item: Enum,
|
||||
) -> Option<Label<generated::ModuleItemCanonicalPath>> {
|
||||
// if we have a Hir entity, it means we have semantics
|
||||
let sema = self.semantics.as_ref().unwrap();
|
||||
let module = item.module(sema.db);
|
||||
let name = item.name(sema.db).as_str().to_owned();
|
||||
let namespace = self.canonical_path_from_hir_module(module)?;
|
||||
Some(self.trap.emit(generated::ModuleItemCanonicalPath {
|
||||
id: trap_key!(namespace, "::", name),
|
||||
namespace,
|
||||
name,
|
||||
}))
|
||||
}
|
||||
|
||||
fn canonical_path_from_trait_ref(
|
||||
&mut self,
|
||||
item: TraitRef,
|
||||
) -> Option<Label<generated::ParametrizedCanonicalPath>> {
|
||||
let db = self.semantics.unwrap().db;
|
||||
let trait_ = item.trait_();
|
||||
let base = self.canonical_path_from_trait(trait_)?;
|
||||
let param_count = trait_.type_or_const_param_count(db, false);
|
||||
let mut generic_args = Vec::new();
|
||||
for i in 1..=param_count {
|
||||
// TODO seems like you can't get const arguments currently...
|
||||
let arg = item.get_type_argument(i)?;
|
||||
let path = self.canonical_path_from_type(arg)?;
|
||||
generic_args.push(
|
||||
self.trap
|
||||
.emit(generated::TypeGenericTypeArg {
|
||||
id: trap_key!(path),
|
||||
path,
|
||||
})
|
||||
.into(),
|
||||
);
|
||||
}
|
||||
Some(self.trap.emit(generated::ParametrizedCanonicalPath {
|
||||
id: trap_key!(base, generic_args),
|
||||
base,
|
||||
generic_args,
|
||||
}))
|
||||
}
|
||||
|
||||
fn canonical_path_from_hir<T: AstNode>(
|
||||
&mut self,
|
||||
item: impl AddressableHir<T>,
|
||||
) -> Option<Label<generated::CanonicalPath>> {
|
||||
// if we have a Hir entity, it means we have semantics
|
||||
let sema = self.semantics.as_ref().unwrap();
|
||||
let name = item.name(sema)?;
|
||||
let container = item.container(sema.db);
|
||||
let prefix = match container {
|
||||
ItemContainer::Trait(it) => self.canonical_path_from_hir(it),
|
||||
ItemContainer::Impl(it) => {
|
||||
let ty = self.canonical_path_from_type(it.self_ty(sema.db))?;
|
||||
if let Some(trait_) = it.trait_(sema.db) {
|
||||
let tr = self.canonical_path_from_hir(trait_)?;
|
||||
Some(format!("<{ty} as {tr}>"))
|
||||
} else {
|
||||
Some(format!("<{ty}>"))
|
||||
}
|
||||
match item.container(sema.db) {
|
||||
ItemContainer::Trait(it) => {
|
||||
let parent = self.canonical_path_from_trait(it)?;
|
||||
Some(
|
||||
self.trap
|
||||
.emit(generated::TypeItemCanonicalPath {
|
||||
id: trap_key!(parent, "::", name),
|
||||
parent,
|
||||
name,
|
||||
})
|
||||
.into(),
|
||||
)
|
||||
}
|
||||
ItemContainer::Module(it) => self.canonical_path_from_hir_module(it),
|
||||
ItemContainer::ExternBlock() | ItemContainer::Crate(_) => Some("".to_owned()),
|
||||
}?;
|
||||
Some(format!("{prefix}::{name}"))
|
||||
ItemContainer::Impl(it) => {
|
||||
let trait_ref = it.trait_ref(sema.db);
|
||||
let type_path = self.canonical_path_from_type(it.self_ty(sema.db))?;
|
||||
let trait_path = trait_ref.and_then(|t| self.canonical_path_from_trait_ref(t));
|
||||
Some(
|
||||
self.trap
|
||||
.emit(generated::ImplItemCanonicalPath {
|
||||
id: trap_key!("<", type_path, "as", trait_path, ">::", name),
|
||||
type_path,
|
||||
trait_path,
|
||||
name,
|
||||
})
|
||||
.into(),
|
||||
)
|
||||
}
|
||||
ItemContainer::Module(it) => {
|
||||
let namespace = self.canonical_path_from_hir_module(it)?;
|
||||
Some(
|
||||
self.trap
|
||||
.emit(generated::ModuleItemCanonicalPath {
|
||||
id: trap_key!(namespace, "::", name),
|
||||
namespace,
|
||||
name,
|
||||
})
|
||||
.into(),
|
||||
)
|
||||
}
|
||||
ItemContainer::ExternBlock() => None,
|
||||
ItemContainer::Crate(_) => None,
|
||||
}
|
||||
}
|
||||
|
||||
fn canonical_path_from_module_def(&self, item: ModuleDef) -> Option<String> {
|
||||
fn canonical_path_from_module_def(
|
||||
&mut self,
|
||||
item: ModuleDef,
|
||||
) -> Option<Label<generated::CanonicalPath>> {
|
||||
match item {
|
||||
ModuleDef::Module(it) => self.canonical_path_from_hir(it),
|
||||
ModuleDef::Function(it) => self.canonical_path_from_hir(it),
|
||||
@@ -422,59 +651,24 @@ impl<'a> Translator<'a> {
|
||||
}
|
||||
}
|
||||
|
||||
fn canonical_path_from_enum_variant(&self, item: Variant) -> Option<String> {
|
||||
fn canonical_path_from_enum_variant(
|
||||
&mut self,
|
||||
item: Variant,
|
||||
) -> Option<Label<generated::CanonicalPath>> {
|
||||
// if we have a Hir entity, it means we have semantics
|
||||
let sema = self.semantics.as_ref().unwrap();
|
||||
let prefix = self.canonical_path_from_hir(item.parent_enum(sema.db))?;
|
||||
let name = item.name(sema.db);
|
||||
Some(format!("{prefix}::{}", name.as_str()))
|
||||
}
|
||||
|
||||
fn origin_from_hir<T: AstNode>(&self, item: impl AddressableHir<T>) -> String {
|
||||
// if we have a Hir entity, it means we have semantics
|
||||
let sema = self.semantics.as_ref().unwrap();
|
||||
self.origin_from_crate(item.module(sema).krate())
|
||||
}
|
||||
|
||||
fn origin_from_crate(&self, item: Crate) -> String {
|
||||
// if we have a Hir entity, it means we have semantics
|
||||
let sema = self.semantics.as_ref().unwrap();
|
||||
match item.origin(sema.db) {
|
||||
CrateOrigin::Rustc { name } => format!("rustc:{}", name),
|
||||
CrateOrigin::Local { repo, name } => format!(
|
||||
"repo:{}:{}",
|
||||
repo.unwrap_or_default(),
|
||||
name.map(|s| s.as_str().to_owned()).unwrap_or_default()
|
||||
),
|
||||
CrateOrigin::Library { repo, name } => {
|
||||
format!("repo:{}:{}", repo.unwrap_or_default(), name)
|
||||
}
|
||||
CrateOrigin::Lang(it) => format!("lang:{}", it),
|
||||
}
|
||||
}
|
||||
|
||||
fn origin_from_module_def(&self, item: ModuleDef) -> Option<String> {
|
||||
match item {
|
||||
ModuleDef::Module(it) => Some(self.origin_from_hir(it)),
|
||||
ModuleDef::Function(it) => Some(self.origin_from_hir(it)),
|
||||
ModuleDef::Adt(Adt::Enum(it)) => Some(self.origin_from_hir(it)),
|
||||
ModuleDef::Adt(Adt::Struct(it)) => Some(self.origin_from_hir(it)),
|
||||
ModuleDef::Adt(Adt::Union(it)) => Some(self.origin_from_hir(it)),
|
||||
ModuleDef::Trait(it) => Some(self.origin_from_hir(it)),
|
||||
ModuleDef::Variant(it) => Some(self.origin_from_enum_variant(it)),
|
||||
ModuleDef::Static(_) => None,
|
||||
ModuleDef::TraitAlias(_) => None,
|
||||
ModuleDef::TypeAlias(_) => None,
|
||||
ModuleDef::BuiltinType(_) => None,
|
||||
ModuleDef::Macro(_) => None,
|
||||
ModuleDef::Const(_) => None,
|
||||
}
|
||||
}
|
||||
|
||||
fn origin_from_enum_variant(&self, item: Variant) -> String {
|
||||
// if we have a Hir entity, it means we have semantics
|
||||
let sema = self.semantics.as_ref().unwrap();
|
||||
self.origin_from_hir(item.parent_enum(sema.db))
|
||||
let enum_ = item.parent_enum(sema.db);
|
||||
let name = item.name(sema.db).as_str().to_owned();
|
||||
let parent = self.canonical_path_from_enum(enum_)?;
|
||||
Some(
|
||||
self.trap
|
||||
.emit(generated::TypeItemCanonicalPath {
|
||||
id: trap_key!(parent, "::", name),
|
||||
parent,
|
||||
name,
|
||||
})
|
||||
.into(),
|
||||
)
|
||||
}
|
||||
|
||||
pub(crate) fn extract_canonical_origin<T: AddressableAst + HasName>(
|
||||
@@ -486,13 +680,7 @@ impl<'a> Translator<'a> {
|
||||
let sema = self.semantics.as_ref()?;
|
||||
let def = T::Hir::try_from_source(item, sema)?;
|
||||
let path = self.canonical_path_from_hir(def)?;
|
||||
let origin = self.origin_from_hir(def);
|
||||
generated::Addressable::emit_crate_origin(label, origin, &mut self.trap.writer);
|
||||
generated::Addressable::emit_extended_canonical_path(
|
||||
label,
|
||||
path,
|
||||
&mut self.trap.writer,
|
||||
);
|
||||
generated::Addressable::emit_canonical_path(label, path, &mut self.trap.writer);
|
||||
Some(())
|
||||
})();
|
||||
}
|
||||
@@ -506,13 +694,7 @@ impl<'a> Translator<'a> {
|
||||
let sema = self.semantics.as_ref()?;
|
||||
let def = sema.to_enum_variant_def(item)?;
|
||||
let path = self.canonical_path_from_enum_variant(def)?;
|
||||
let origin = self.origin_from_enum_variant(def);
|
||||
generated::Addressable::emit_crate_origin(label.into(), origin, &mut self.trap.writer);
|
||||
generated::Addressable::emit_extended_canonical_path(
|
||||
label.into(),
|
||||
path,
|
||||
&mut self.trap.writer,
|
||||
);
|
||||
generated::Addressable::emit_canonical_path(label.into(), path, &mut self.trap.writer);
|
||||
Some(())
|
||||
})();
|
||||
}
|
||||
@@ -529,10 +711,12 @@ impl<'a> Translator<'a> {
|
||||
let PathResolution::Def(def) = resolution else {
|
||||
return None;
|
||||
};
|
||||
let origin = self.origin_from_module_def(def)?;
|
||||
let path = self.canonical_path_from_module_def(def)?;
|
||||
generated::Resolvable::emit_resolved_crate_origin(label, origin, &mut self.trap.writer);
|
||||
generated::Resolvable::emit_resolved_path(label, path, &mut self.trap.writer);
|
||||
generated::Resolvable::emit_resolved_canonical_path(
|
||||
label.into(),
|
||||
path,
|
||||
&mut self.trap.writer,
|
||||
);
|
||||
Some(())
|
||||
})();
|
||||
}
|
||||
@@ -548,14 +732,12 @@ impl<'a> Translator<'a> {
|
||||
let Either::Left(function) = resolved else {
|
||||
return None;
|
||||
};
|
||||
let origin = self.origin_from_hir(function);
|
||||
let path = self.canonical_path_from_hir(function)?;
|
||||
generated::Resolvable::emit_resolved_crate_origin(
|
||||
generated::Resolvable::emit_resolved_canonical_path(
|
||||
label.into(),
|
||||
origin,
|
||||
path,
|
||||
&mut self.trap.writer,
|
||||
);
|
||||
generated::Resolvable::emit_resolved_path(label.into(), path, &mut self.trap.writer);
|
||||
Some(())
|
||||
})();
|
||||
}
|
||||
|
||||
@@ -56,7 +56,6 @@ impl TextValue for ast::RangePat {
|
||||
pub(crate) trait AddressableHir<Ast: AstNode>: HasContainer + Copy {
|
||||
fn name(self, sema: &Semantics<'_, RootDatabase>) -> Option<String>;
|
||||
fn try_from_source(value: &Ast, sema: &Semantics<'_, RootDatabase>) -> Option<Self>;
|
||||
fn module(self, sema: &Semantics<'_, RootDatabase>) -> Module;
|
||||
}
|
||||
|
||||
impl AddressableHir<ast::Fn> for Function {
|
||||
@@ -67,10 +66,6 @@ impl AddressableHir<ast::Fn> for Function {
|
||||
fn try_from_source(value: &ast::Fn, sema: &Semantics<'_, RootDatabase>) -> Option<Self> {
|
||||
sema.to_fn_def(value)
|
||||
}
|
||||
|
||||
fn module(self, sema: &Semantics<'_, RootDatabase>) -> Module {
|
||||
self.module(sema.db)
|
||||
}
|
||||
}
|
||||
|
||||
impl AddressableHir<ast::Trait> for Trait {
|
||||
@@ -81,10 +76,6 @@ impl AddressableHir<ast::Trait> for Trait {
|
||||
fn try_from_source(value: &ast::Trait, sema: &Semantics<'_, RootDatabase>) -> Option<Self> {
|
||||
sema.to_trait_def(value)
|
||||
}
|
||||
|
||||
fn module(self, sema: &Semantics<'_, RootDatabase>) -> Module {
|
||||
self.module(sema.db)
|
||||
}
|
||||
}
|
||||
|
||||
impl AddressableHir<ast::Module> for Module {
|
||||
@@ -95,10 +86,6 @@ impl AddressableHir<ast::Module> for Module {
|
||||
fn try_from_source(value: &ast::Module, sema: &Semantics<'_, RootDatabase>) -> Option<Self> {
|
||||
sema.to_module_def(value)
|
||||
}
|
||||
|
||||
fn module(self, _sema: &Semantics<'_, RootDatabase>) -> Module {
|
||||
self
|
||||
}
|
||||
}
|
||||
|
||||
impl AddressableHir<ast::Struct> for Struct {
|
||||
@@ -109,10 +96,6 @@ impl AddressableHir<ast::Struct> for Struct {
|
||||
fn try_from_source(value: &ast::Struct, sema: &Semantics<'_, RootDatabase>) -> Option<Self> {
|
||||
sema.to_struct_def(value)
|
||||
}
|
||||
|
||||
fn module(self, sema: &Semantics<'_, RootDatabase>) -> Module {
|
||||
self.module(sema.db)
|
||||
}
|
||||
}
|
||||
|
||||
impl AddressableHir<ast::Enum> for Enum {
|
||||
@@ -123,10 +106,6 @@ impl AddressableHir<ast::Enum> for Enum {
|
||||
fn try_from_source(value: &ast::Enum, sema: &Semantics<'_, RootDatabase>) -> Option<Self> {
|
||||
sema.to_enum_def(value)
|
||||
}
|
||||
|
||||
fn module(self, sema: &Semantics<'_, RootDatabase>) -> Module {
|
||||
self.module(sema.db)
|
||||
}
|
||||
}
|
||||
|
||||
impl AddressableHir<ast::Union> for Union {
|
||||
@@ -137,10 +116,6 @@ impl AddressableHir<ast::Union> for Union {
|
||||
fn try_from_source(value: &ast::Union, sema: &Semantics<'_, RootDatabase>) -> Option<Self> {
|
||||
sema.to_union_def(value)
|
||||
}
|
||||
|
||||
fn module(self, sema: &Semantics<'_, RootDatabase>) -> Module {
|
||||
self.module(sema.db)
|
||||
}
|
||||
}
|
||||
|
||||
pub(crate) trait AddressableAst: AstNode + Sized {
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
use crate::config::Compression;
|
||||
use crate::{config, generated};
|
||||
use codeql_extractor::{extractor, file_paths, trap};
|
||||
use itertools::Itertools;
|
||||
use log::debug;
|
||||
use ra_ap_ide_db::line_index::LineCol;
|
||||
use std::fmt::Debug;
|
||||
use std::hash::Hash;
|
||||
use std::marker::PhantomData;
|
||||
use std::path::{Path, PathBuf};
|
||||
|
||||
pub use trap::Label as UntypedLabel;
|
||||
pub use trap::Writer;
|
||||
|
||||
@@ -122,6 +122,24 @@ impl<T: TrapClass> From<Label<T>> for trap::Arg {
|
||||
}
|
||||
}
|
||||
|
||||
impl<T: TrapClass> AsTrapKeyPart for Option<Label<T>> {
|
||||
fn as_key_part(&self) -> String {
|
||||
format!("[{}]", self.map(|l| l.as_key_part()).unwrap_or_default())
|
||||
}
|
||||
}
|
||||
|
||||
impl AsTrapKeyPart for Option<String> {
|
||||
fn as_key_part(&self) -> String {
|
||||
format!("[{}]", self.as_ref().map(|s| s.as_str()).unwrap_or(""))
|
||||
}
|
||||
}
|
||||
|
||||
impl<T: TrapClass> AsTrapKeyPart for Vec<Label<T>> {
|
||||
fn as_key_part(&self) -> String {
|
||||
format!("[{}]", self.iter().map(|l| l.as_key_part()).join(","))
|
||||
}
|
||||
}
|
||||
|
||||
pub struct TrapFile {
|
||||
path: PathBuf,
|
||||
pub writer: Writer,
|
||||
|
||||
147
rust/ql/.generated.list
generated
147
rust/ql/.generated.list
generated
@@ -1,6 +1,6 @@
|
||||
lib/codeql/rust/controlflow/internal/generated/CfgNodes.qll 12a240e8392e4b0ad9ddb8067b25a1b5e4c1151886d9d64292a7a9ff29d11d97 fdbe7ca4f085d04371280299fd10a604ee5a059294d2c4c836f334d2b5f8926d
|
||||
lib/codeql/rust/elements/Abi.qll 4c973d28b6d628f5959d1f1cc793704572fd0acaae9a97dfce82ff9d73f73476 250f68350180af080f904cd34cb2af481c5c688dc93edf7365fd0ae99855e893
|
||||
lib/codeql/rust/elements/Addressable.qll 13011bfd2e1556694c3d440cc34af8527da4df49ad92b62f2939d3699ff2cea5 ddb25935f7553a1a384b1abe2e4b4fa90ab50b952dadec32fd867afcb054f4be
|
||||
lib/codeql/rust/elements/Addressable.qll eec6bd2a4aa5ea56b7e2fe291a7732cfa0641247de09aefd482fdf14804a2747 138e598085598bf2afd39d33bd1d81d267c769abef0778099e48a8d96f423cd2
|
||||
lib/codeql/rust/elements/ArgList.qll 661f5100f5d3ef8351452d9058b663a2a5c720eea8cf11bedd628969741486a2 28e424aac01a90fb58cd6f9f83c7e4cf379eea39e636bc0ba07efc818be71c71
|
||||
lib/codeql/rust/elements/ArrayExpr.qll e4e7cff3518c50ec908271906dd46c1fbe9098faa1e8cd06a27f0a6e8d165ed1 fe02a4f4197f57ecd1e8e82d6c9384148ec29d8b106d7f696795b2f325e4a71b
|
||||
lib/codeql/rust/elements/ArrayListExpr.qll 451aedcecb479c385ff497588c7a07fda304fd5b873270223a4f2c804e96b245 a8cb008f6f732215623b5626c84b37b651ca01ccafb2cf4c835df35d5140c6ad
|
||||
@@ -126,7 +126,7 @@ lib/codeql/rust/elements/RefExpr.qll 91a0d3a86002289dc01ffbe8daca13e34e92e522fbb
|
||||
lib/codeql/rust/elements/RefPat.qll fe076bdccb454111b38f360837d180274ba8a003b4cffe910b5197cd74188089 2604c8bb2b0b47091d5fc4aa276de46fe3561e346bd98f291c3783cef402ba06
|
||||
lib/codeql/rust/elements/RefTypeRepr.qll ac41d8b4132f273d65873ea3c59631bc1718b3266ae08075346e6cb1bfe2f17c b7e34851d37008806d4519105a5e3405dda07b999294c6656a0c447ac1635b2a
|
||||
lib/codeql/rust/elements/Rename.qll 55fa06145f2160304caac0a5ce4cf6a496e41adfd66f44b3c0a1d23229ed8ce0 80262f0abf61749cdf0d5701637db359960f5404ad1dbfdd90f5048d2e7c315d
|
||||
lib/codeql/rust/elements/Resolvable.qll efeec2b4b14d85334ec745b9a0c5aa6f7b9f86fe3caa45b005dccaee4f5265c4 7efe0063340ba61dd31125bc770773ca23a7067893c0d1e06d149da6e9a9ee92
|
||||
lib/codeql/rust/elements/Resolvable.qll d18e3434f208085a4418c9e41d4451e1d22d400473fd43160892c37075450832 ea0e7f5e45ead2569f0ddddd56c6d0bff7c4133e6f5bff5d05ccce977cfa3371
|
||||
lib/codeql/rust/elements/RestPat.qll a898a2c396f974a52424efbc8168174416ac6ed30f90d57c81646d2c08455794 db635ead3fa236e45bbd9955c714ff0abb1e57e1ce80d99dc5bb13438475adbf
|
||||
lib/codeql/rust/elements/RetTypeRepr.qll a95a053e861a8d6e5e8eda531f29c611b00904d48ea2bb493138d94d39096ace ebde4f865d310351ba6ee71852428819627ea3909e341d6800ab268b1810c6fa
|
||||
lib/codeql/rust/elements/ReturnExpr.qll b87187cff55bc33c8c18558c9b88617179183d1341b322c1cab35ba07167bbdb 892f3a9df2187e745c869e67f33c228ee42754bc9e4f8f4c1718472eb8f8c80f
|
||||
@@ -172,6 +172,42 @@ lib/codeql/rust/elements/WhileExpr.qll 9e0c23057bf3fa3e050d5f6de0650f554ce576861
|
||||
lib/codeql/rust/elements/WildcardPat.qll 4f941afc5f9f8d319719312399a8f787c75a0dbb709ec7cf488f019339635aab a9140a86da752f9126e586ddb9424b23b3fb4841a5420bac48108c38bb218930
|
||||
lib/codeql/rust/elements/YeetExpr.qll 4172bf70de31cab17639da6eed4a12a7afcefd7aa9182216c3811c822d3d6b17 88223aab1bef696f508e0605615d6b83e1eaef755314e6a651ae977edd3757c3
|
||||
lib/codeql/rust/elements/YieldExpr.qll de2dc096a077f6c57bba9d1c2b2dcdbecce501333753b866d77c3ffbe06aa516 1f3e8949689c09ed356ff4777394fe39f2ed2b1e6c381fd391790da4f5d5c76a
|
||||
lib/codeql/rust/elements/canonical_paths/BuiltinTypeCanonicalPath.qll 2a80efb538218b5b3d36fcf76a7f4a58dfebf5f808df80fa13d914cebc08d115 3119e65f672038218587a3651a2ed621f9ad85d36748b51eb0674c4e5a203f24
|
||||
lib/codeql/rust/elements/canonical_paths/CanonicalPath.qll b560482aefdc6206bec91941eafc7444858eed30ed7e26d8a52a44704f3a3bd9 75cdb532d3d92ecf0a5a7f24b48ae2470d82b5fa93bf4dbf56c678d03580b445
|
||||
lib/codeql/rust/elements/canonical_paths/CanonicalPathElement.qll 8dd4ad94281238cfad2ffc69b5115c05076c998f4b46cff0cdafd0cc00e1c49b 274274bcd55f79fbb1af5e5d34be9a59e1e0baf37298f7d3a8541e8a116ffba8
|
||||
lib/codeql/rust/elements/canonical_paths/ConcreteTypeCanonicalPath.qll 720734f277ae81ea6a2c07af8ddc5a8b00aa5ff3ee008e8ab9c7bcef0b974fcc ffbe408309847a5d57b1e83504d192756a58af945b758c812e4cb98280af68ec
|
||||
lib/codeql/rust/elements/canonical_paths/ConstGenericTypeArg.qll c20adef6f5dce4707c3eae6d62c1c5fec504479c12698f8772bc9a47de862204 dde369301c39faf01773704b29863257c87577015c21da8f4cb360d6799a0cc2
|
||||
lib/codeql/rust/elements/canonical_paths/CrateRoot.qll 4f2507009d8db33506ba1afa8c7dd7632cbe97701a88e3f17fc5de5182b0d549 0110738a63deb881c009d239f901b73975b94a316fbcb0776256f0750251e756
|
||||
lib/codeql/rust/elements/canonical_paths/DerivedTypeCanonicalPath.qll 74d633f843d4370a5b138bdd1dd055299f34bf4a35d4b5aff3b3989e03902fdd 2e59fcca32927ef0dceb07b882636abb93c3391f8ce00859b3866ab63b255e1c
|
||||
lib/codeql/rust/elements/canonical_paths/ImplItemCanonicalPath.qll 5c39311ea95c63d114bafae217ffcbad8bdf3dbc680cf96871bcd2e1d1983688 aaeb83b3314b4ca9a39eceadf96f0e7c9428fd121a6ac8055cf8f743e7b37adf
|
||||
lib/codeql/rust/elements/canonical_paths/LangCrateRoot.qll 188e595753552bfd434181292df01e14c44ddc3f12947b43a681b6141997870b dfe218d86045807faec5e631269da45a91c87ddb363cf81224e88a0d2f017745
|
||||
lib/codeql/rust/elements/canonical_paths/ModuleItemCanonicalPath.qll a2c1de98457b46e7b23ce883a4f7d89ad568916bcd1f9b952b5c533ebacf4300 4baeb47b9a5ce63fe038414f922056aa4e54f684d33c5348072218a121259925
|
||||
lib/codeql/rust/elements/canonical_paths/Namespace.qll 614db7696ed96b7d52b590bc4700b78ee1ce00ca2c17635b595c296a1798191d 0ee32b32079405349c305bbe77181fc31e18f5d6c877f5d375d5f6ec963a9996
|
||||
lib/codeql/rust/elements/canonical_paths/ParametrizedCanonicalPath.qll a22d55c98080b4b4f0db8882ff942919394b709e4b611b1107b0ab6f6d6968ab d2d72ed915d2eb1485762644d34193093e7ed525cb63eb9cbfa082135bb1108f
|
||||
lib/codeql/rust/elements/canonical_paths/PlaceholderTypeCanonicalPath.qll ff1be7f5267ceccf40d286c19b4b7933d625cff1bc992c4bbd7d8ca9e584ce93 b89e3bec9d3e2baecd7e76852688f9926b63a0006662778484e139fe2dec10f5
|
||||
lib/codeql/rust/elements/canonical_paths/RepoCrateRoot.qll d2ef85b33579a72b019dd234ed9ce5ec76e49e064579ccbfc1e13f5a3294dfbc 3f0f7581fb6cfc9cd77e415df5404a8ccd732208c20707392423884836d2b007
|
||||
lib/codeql/rust/elements/canonical_paths/RustcCrateRoot.qll 3fe51507ac4ef92530a5538ac1b425a0b53b9e2d010a7c71997e8a86e5a99647 a29988f27653863050494a4405c0f1e839e95e003993f96125019e64553767e2
|
||||
lib/codeql/rust/elements/canonical_paths/TypeCanonicalPath.qll 510f0c11ca8ac95ee8be57a0be18d2e7ce6350d8ab966e14eeb5a878d1acc781 ae68660f4f24f6426cdf32eeae065fe32d82d1ddece356b10cbbd5579a81e45a
|
||||
lib/codeql/rust/elements/canonical_paths/TypeGenericArg.qll 551e5bce7b474ff097dedfe80e52ca0b3808bda3c855961daddd0ecf36f67aef f3ac937ce08484edab04f285e459c77aac4552e8513b7ee124653aafdb3ceffc
|
||||
lib/codeql/rust/elements/canonical_paths/TypeGenericTypeArg.qll a8a31940baf116b4a41ab2316e995cedac2d0516c546898e028a63f23ea7cb63 b5df2d469245e507b7d2d35263be9f4d7229e6a7914199bf2eae938a1202dfe8
|
||||
lib/codeql/rust/elements/canonical_paths/TypeItemCanonicalPath.qll 3cdd980844dac4533bf7fc82c1679af39b151aecbe325a9dbd7a2275ecc3b72b df6232001508086a62ad0e629287d0705a072ba26437f8a55d8aad977e11f554
|
||||
lib/codeql/rust/elements/canonical_paths/internal/BuiltinTypeCanonicalPathConstructor.qll c33ca6a182eae907bc01a11bbe9e10a705889d6d383cd8804c5380368cf785d4 af1677ff43fcb22dedde3dfa853dc12a197c6e5db7ec6191cfd6c9197e371a05
|
||||
lib/codeql/rust/elements/canonical_paths/internal/BuiltinTypeCanonicalPathImpl.qll 6dbc6981e280717eb8a7cc2bf06bb91e760cc168e262dcf87db53f610b3a0362 ce81251f033173baabcfa9dd2a6a760169015329daac738760bb4e6689c0fe85
|
||||
lib/codeql/rust/elements/canonical_paths/internal/CanonicalPathImpl.qll c368afc58a57feb86acde466eb33ed74d17bcd8360219ddf93b0302ea43504ee 42df02e0a15c0555ca1cf830debbc94f647c38c7f6ca8f7640f2cbe8f36d4ac6
|
||||
lib/codeql/rust/elements/canonical_paths/internal/ConcreteTypeCanonicalPathConstructor.qll 122781ed5b5bfddc0f6c5243d3a77eb969559115c7f612b81291f62b5790b48d 348ee1d8c92b803a1aaf8e3fc5a9061a41cd2a4c6f2f6fa51910659a1edfa00f
|
||||
lib/codeql/rust/elements/canonical_paths/internal/ConstGenericTypeArgConstructor.qll a2ef92745e712b091367e063662e800b8f84efdf28b02e7116c7c8ab0629e0fc 4a2689f585c0de2f77ca64620bb65986bafab6209fbc383646335040d6155018
|
||||
lib/codeql/rust/elements/canonical_paths/internal/DerivedTypeCanonicalPathConstructor.qll 1127f0e1eaed5da946a5288271f679ef1984d984a3686cd59d9ec89a8251a234 04419a1231179c8d39637edd443c4ff038e010753f4e6a016ac8c9dbc8f6cccd
|
||||
lib/codeql/rust/elements/canonical_paths/internal/ImplItemCanonicalPathConstructor.qll 051864c40fe6ed11b31d73292e6dfe7e84e9219afa20c8c12ed849ca6c84354f c7e00e76d7769b42b62cc1eeebfea307246d6dc9e389592df0b3a26069460e5b
|
||||
lib/codeql/rust/elements/canonical_paths/internal/LangCrateRootConstructor.qll 44b7353025ff44d85dc66e7998736bb94010be1c3ddec6f0e0d8500f89c131df e2cedd482d74cb66ef08a5cbfe9affe25d89d62496260ee5c3e3261cdef02464
|
||||
lib/codeql/rust/elements/canonical_paths/internal/ModuleItemCanonicalPathConstructor.qll fc580aff51cf598ecfc61a8476044c69800d1bbc41ce5a7ddf1c773d9c20c5db 03ca4ddd5703f2c98609044f76d63c36607b59f25e1e21137818ca7291bb5baf
|
||||
lib/codeql/rust/elements/canonical_paths/internal/NamespaceConstructor.qll 31a7578929de91094425f88d5739a5264c17986e2a00b117075f329cbbef79b6 faf500f1e2a1b04d0bd949d32a639c8713052813cde33aa9cbd691b34a802aac
|
||||
lib/codeql/rust/elements/canonical_paths/internal/ParametrizedCanonicalPathConstructor.qll b9e0bd9380f998e6d7bfbc7d94bdfbfb6d38807bb9e16272c79456725789ee45 c91ac59709ab9f8c4b14d611e532b950479cd4652b6fcde140489b15b19b8a0d
|
||||
lib/codeql/rust/elements/canonical_paths/internal/PlaceholderTypeCanonicalPathConstructor.qll 8c746f1b034a1f88eaa17244669d87891234a4149ce01139f2485a173802ce93 9d7317406fb9112998bee96f90cec9fbfb24f57497d0ea769e9e944c2aaeddd3
|
||||
lib/codeql/rust/elements/canonical_paths/internal/RepoCrateRootConstructor.qll 99817342db732e1d66d69dc8eb683ce64cd55ad16913e22236a718fa611ba399 5168ad70d3c7cdf4c06dffa1f5fdedff7d522be0349232a9b15dbfc0b75b9ac5
|
||||
lib/codeql/rust/elements/canonical_paths/internal/RustcCrateRootConstructor.qll 8e40b20cdd8d3a61c80d2f8832fd9ebaac92753e69a5a5ee658f89e2b3917ba3 8cb3d788e0a26d00e6785f0626a8aee4c3bd98993b0aac20f057c6a5abab8027
|
||||
lib/codeql/rust/elements/canonical_paths/internal/TypeCanonicalPathImpl.qll a6c0228c980b0e8874ccc8d278b4f2938db94ff6a40f065ba2fca5ea012682c6 6a0e7c9d0ea701b605aa19f71f6eeb928e1ab4df9b1961b337ad56e02e36a599
|
||||
lib/codeql/rust/elements/canonical_paths/internal/TypeGenericTypeArgConstructor.qll dcc4210aa0ed7c2aadd8dfb1f343b29cdf4cfd8d54bddd4424b90f97eac18bf4 b5ce26d604c7e84f27f5981b45b0462e7746089c29522e13ca481e388503d446
|
||||
lib/codeql/rust/elements/canonical_paths/internal/TypeItemCanonicalPathConstructor.qll b23c6d7902c56c758bc121cd5d3c7e351eccb66503131bc2fa4dda60abb9b4ae b097ab6555f06b12f7ae99378dc9bc347a8b7b7b2691d6a636b9392178cb5692
|
||||
lib/codeql/rust/elements/internal/AbiConstructor.qll 4484538db49d7c1d31c139f0f21879fceb48d00416e24499a1d4b1337b4141ac 460818e397f2a1a8f2e5466d9551698b0e569d4640fcb87de6c4268a519b3da1
|
||||
lib/codeql/rust/elements/internal/AbiImpl.qll 01439712ecadc9dc8da6f74d2e19cee13c77f8e1e25699055da675b2c88cb02d dcc9395ef8abd1af3805f3e7fcbc2d7ce30affbce654b6f5e559924768db403c
|
||||
lib/codeql/rust/elements/internal/AddressableImpl.qll e01a6104980960f5708d5a0ada774ba21db9a344e33deeaf3d3239c627268c77 b8bfc711b267df305ac9fe5f6a994f051ddeca7fc95dacd76d1bae2d4fa7adde
|
||||
@@ -360,7 +396,6 @@ lib/codeql/rust/elements/internal/StmtImpl.qll ea99d261f32592ff368cc3a1960864989
|
||||
lib/codeql/rust/elements/internal/StmtListConstructor.qll 435d59019e17a6279110a23d3d5dfbc1d1e16fc358a93a1d688484d22a754866 23fcb60a5cbb66174e459bc10bd7c28ed532fd1ab46f10b9f0c8a6291d3e343f
|
||||
lib/codeql/rust/elements/internal/StmtListImpl.qll fc16097d08124bcc39c998b07023710e0152baed165fb134cac2ee27e22a9f7a a4eceb42720593d8d0ce031016465de0bb61d40f31b2cc2718626ef8348ac900
|
||||
lib/codeql/rust/elements/internal/StructConstructor.qll 52921ea6e70421fd08884dc061d0c2dfbbb8dd83d98f1f3c70572cfe57b2a173 dcb3ea8e45ee875525c645fe5d08e6db9013b86bd351c77df4590d0c1439ab9f
|
||||
lib/codeql/rust/elements/internal/StructImpl.qll 7e3b58c3038ad7a3315cae34a34f99380e36d33cf3fb4437de6f6dcfed2ad579 1cfcb3bb5381349a2a4074a9e53927f5c540f2b251b187ad28da300968dfc649
|
||||
lib/codeql/rust/elements/internal/TokenImpl.qll 87629ffee74cacc6e8af5e96e18e62fb0fa4043d3ba1e7360daa880e628f8530 d54e213e39ae2b9bb92ab377dc72d72ba5bca88b72d29032507cdcbef201a215
|
||||
lib/codeql/rust/elements/internal/TokenTreeConstructor.qll 0be1f838b04ff944560aa477cbe4ab1ad0b3f4ae982de84773faac5902fcae45 254b387adc2e1e3c355651ab958785d0b8babbc0030194234698a1219e9497b3
|
||||
lib/codeql/rust/elements/internal/TokenTreeImpl.qll c61574f2b551db24640258117e0c8653196ba91392ce81da71a3a528ee07b1ad 489a1c8f550725e28871ae99c41d03b719c3099b8f73ae7422f497430f616267
|
||||
@@ -403,7 +438,6 @@ lib/codeql/rust/elements/internal/UseTreeImpl.qll 25e286538c048cc7ee07f4b5a8b77b
|
||||
lib/codeql/rust/elements/internal/UseTreeListConstructor.qll 973577da5d7b58eb245f108bd1ae2fecc5645f2795421dedf7687b067a233003 f41e5e3ffcb2a387e5c37f56c0b271e8dc20428b6ff4c63e1ee42fcfa4e67d0a
|
||||
lib/codeql/rust/elements/internal/UseTreeListImpl.qll 6cac5242f1219df0fe9b3c139db8cc075a2fde618614ca56de2c856130a8ebaa d2ec917055a45f4d07d4ea6dff14298925ae323b165a5bcb6e906f7aad463f82
|
||||
lib/codeql/rust/elements/internal/VariantConstructor.qll 0297d4a9a9b32448d6d6063d308c8d0e7a067d028b9ec97de10a1d659ee2cfdd 6a4bee28b340e97d06b262120fd39ab21717233a5bcc142ba542cb1b456eb952
|
||||
lib/codeql/rust/elements/internal/VariantImpl.qll f5204121f15407ffc0926128239f317cbb9277ee456217940c15d48ba80abd49 4de0a8895d9c08f86fa139007ed009a3a5e1101b9edb40c73c58a4059c318802
|
||||
lib/codeql/rust/elements/internal/VariantListConstructor.qll c841fb345eb46ea3978a0ed7a689f8955efc9178044b140b74d98a6bcd0c926a c9e52d112abdba2b60013fa01a944c8770766bf7368f9878e6b13daaa4eed446
|
||||
lib/codeql/rust/elements/internal/VariantListImpl.qll 858f3668f53d8b6aacb2715a59509969fe9fd24c5a2ff0b5ceed8a2441cd9cf7 f2a57b6232247687f529be8e4d2d3d0d4d108221d8a6eb45a69a1bcc0cdc51de
|
||||
lib/codeql/rust/elements/internal/VisibilityConstructor.qll 1fd30663d87945f08d15cfaca54f586a658f26b7a98ea45ac73a35d36d4f65d0 6ddaf11742cc8fbbe03af2aa578394041ae077911e62d2fa6c885ae0543ba53a
|
||||
@@ -419,7 +453,7 @@ lib/codeql/rust/elements/internal/YeetExprImpl.qll e8924147c3ebe0c32d04c5b33edfd
|
||||
lib/codeql/rust/elements/internal/YieldExprConstructor.qll 8cbfa6405acb151ee31ccc7c89336948a597d783e8890e5c3e53853850871712 966f685eb6b9063bc359213323d3ff760b536158ecd17608e7618a3e9adf475f
|
||||
lib/codeql/rust/elements/internal/YieldExprImpl.qll af184649a348ddd0be16dee9daae307240bf123ace09243950342e9d71ededd9 17df90f67dd51623e8a5715b344ccd8740c8fc415af092469f801b99caacb70d
|
||||
lib/codeql/rust/elements/internal/generated/Abi.qll 87e1ea6b2a8ebf60e1c69176632740e4e27fc56c3f173939b098ba376562b5fa 94b2121e71c4ec94d53a79f972c05a8484ef0d80ed638f53031e7cf4dc5343d5
|
||||
lib/codeql/rust/elements/internal/generated/Addressable.qll 96a8b45166dd035b8d2c6d36b8b67019f2d4d0b4ccff6d492677c0c87197613e d8f1ce29feafc8ff7179399fc7eac5db031a7e1a8bc6b2cd75cfce1da3132e9b
|
||||
lib/codeql/rust/elements/internal/generated/Addressable.qll 4dc477969dd7e001bc0dac829ba96f96f6d7f216f8297e8cc1ea91f819909c5f 8856061f862168d9884fc16d9b11ccb7e7ca3d801b295318083117e0e35f6042
|
||||
lib/codeql/rust/elements/internal/generated/ArgList.qll 1b75b2d7dcf524eb468a0268af6293e9d17832d6bedf3feec49a535824339b57 2bcaf464454bdfdda45fbd24d063f0f1df0eb69f684197b37105adc8f72cd1ea
|
||||
lib/codeql/rust/elements/internal/generated/ArrayExpr.qll 73806a0de8168b38a9436fa6b8c6d68c92eeab3d64a1ae7edfff82f871929992 7ad998cdd8f4fed226473517ad7a5765cb35608033047aad53bf8aa3969fd03b
|
||||
lib/codeql/rust/elements/internal/generated/ArrayExprInternal.qll 67a7b0fae04b11cf771727ff39a123fb2d5ce6e2d650d32478fcb33a26ed5688 15833405fa85f6abe0e5146dac283cb5a142a07f08300ccc15a1dae30ed88942
|
||||
@@ -523,7 +557,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 876e28befd6a93666832de01342c6df403efb5cbea36d3c4b5d5cc2f34c54d6c 3448847608c25b100328bd68f70730a7e43b7d8b5ef8ab1ce40ae3f5a57c6bd2
|
||||
lib/codeql/rust/elements/internal/generated/ParentChild.qll 94fa8a44faeb32cc7574f9a91b7e08a9cea7a0ee5aec74fdeceb84d02be616c9 18151a38ab16f10346018eabe52b89178b8dee36a1ff1fe68b72cbe385198b6f
|
||||
lib/codeql/rust/elements/internal/generated/Pat.qll 3605ac062be2f294ee73336e9669027b8b655f4ad55660e1eab35266275154ee 7f9400db2884d336dd1d21df2a8093759c2a110be9bf6482ce8e80ae0fd74ed4
|
||||
lib/codeql/rust/elements/internal/generated/Path.qll bf6a86e7fcb7164624cc070dcce86d2bda50a2516b95115b87d0ebb5596e50a1 fd7a9ad4034cdebe8dfe495619c46f464630d38195313072e0bd904061b0fb00
|
||||
lib/codeql/rust/elements/internal/generated/PathAstNode.qll e6d4d5bffd3c623baaaee46bc183eb31ce88795535f164f6a9b9b4d98bbd6101 168db515404933479ba6b150c72e012d28592cbc32366aefcb1bf9599dbcd183
|
||||
@@ -537,7 +571,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 b295dd46979a2d4df840e1bef4ba12e3b4ff58aa886c8a1320281739d36c5a4f 2369cba6d70f0e853acb0e018dfb47e604ee01dca48af7094b484a7e18a46365
|
||||
lib/codeql/rust/elements/internal/generated/Raw.qll 4da93ab1fd3d45277dfb32aa66913dd2ccc6d3f7d52b5861038b74cf84a4e7b4 9a824c0093fdfd2d215736c18d3934f688ea6fdf5eb435513637eaff4119673b
|
||||
lib/codeql/rust/elements/internal/generated/RecordExpr.qll 2131b2cb336caa76170082e69776011bf02576bbfdd34ba68ca84af24209250a 39a2e3ec32352b594c43cc1295e0e8b3f9808173322d3d73cb7d48ef969d5565
|
||||
lib/codeql/rust/elements/internal/generated/RecordExprField.qll 7e9f8663d3b74ebbc9603b10c9912f082febba6bd73d344b100bbd3edf837802 fbe6b578e7fd5d5a6f21bbb8c388957ab7210a6a249ec71510a50fb35b319ea1
|
||||
lib/codeql/rust/elements/internal/generated/RecordExprFieldList.qll 179a97211fe7aa6265085d4d54115cdbc0e1cd7c9b2135591e8f36d6432f13d3 dd44bbbc1e83a1ed3a587afb729d7debf7aeb7b63245de181726af13090e50c0
|
||||
@@ -550,7 +584,7 @@ lib/codeql/rust/elements/internal/generated/RefExpr.qll 7d995884e3dc1c25fc719f5d
|
||||
lib/codeql/rust/elements/internal/generated/RefPat.qll 456ede39837463ee22a630ec7ab6c8630d3664a8ea206fcc6e4f199e92fa564c 5622062765f32930465ba6b170e986706f159f6070f48adee3c20e24e8df4e05
|
||||
lib/codeql/rust/elements/internal/generated/RefTypeRepr.qll 3d8c0bd296d33b91a81633f697a43269a6538df06d277262d3990d3f6880ef57 13680f39e89bcd8299c218aba396f3deec804597e6f7cb7d4a7e7c748b6faa77
|
||||
lib/codeql/rust/elements/internal/generated/Rename.qll d23f999dab4863f9412e142756f956d79867a3579bd077c56993bdde0a5ac2f1 9256c487d3614bf3d22faa294314f490cf312ab526b8de0882e3a4a371434931
|
||||
lib/codeql/rust/elements/internal/generated/Resolvable.qll 586eefb01794220679c3b5d69c059d50c2238cf78ab33efe7185bbd07dea8dbd 1b7c7297d541b9de9e881d18fed4ae40dd327396366a3a6f52a24b85685fa9c1
|
||||
lib/codeql/rust/elements/internal/generated/Resolvable.qll db6064eb6147f0c10c37b3585a4801ed6705b8cbcbaf1793af92a1b6da69aba7 302eb6b82f90eea04c8f7f65439f198cf1d4ad084253634b639b14a88376ed75
|
||||
lib/codeql/rust/elements/internal/generated/RestPat.qll 234bbaa8aa37962c9138baf5b1f4406c3d78f4131b4b8dbb30fc1343d15873d5 653ee6bea4d3cf9454b2834bc4233a8f275295f19635c37a0bca69a587e1eb20
|
||||
lib/codeql/rust/elements/internal/generated/RetTypeRepr.qll 173fd722308161f9405f929a13718134f8eaefe9fce1686048860b7c8f4c29f7 30bbaada842369dac5618ae573999f59979597c6a3315c6cce04e5bed0b38c87
|
||||
lib/codeql/rust/elements/internal/generated/ReturnExpr.qll c9c05400d326cd8e0da11c3bfa524daa08b2579ecaee80e468076e5dd7911d56 e7694926727220f46a7617b6ca336767450e359c6fa3782e82b1e21d85d37268
|
||||
@@ -563,8 +597,8 @@ lib/codeql/rust/elements/internal/generated/Static.qll ea22838e0b7d9796dfaf5deda
|
||||
lib/codeql/rust/elements/internal/generated/Stmt.qll 8473ff532dd5cc9d7decaddcd174b94d610f6ca0aec8e473cc051dad9f3db917 6ef7d2b5237c2dbdcacbf7d8b39109d4dc100229f2b28b5c9e3e4fbf673ba72b
|
||||
lib/codeql/rust/elements/internal/generated/StmtList.qll a667193e32341e17400867c6e359878c4e645ef9f5f4d97676afc0283a33a026 a320ed678ee359302e2fc1b70a9476705cd616fcfa44a499d32f0c7715627f73
|
||||
lib/codeql/rust/elements/internal/generated/Struct.qll 4d57f0db12dc7ad3e31e750a24172ef1505406b4dab16386af0674bd18bf8f4b 1a73c83df926b996f629316f74c61ea775be04532ab61b56af904223354f033e
|
||||
lib/codeql/rust/elements/internal/generated/Synth.qll b6d4e3f5fa38d7eca94495447b591fa9ed44cb5fcb4982077d54c8227d898401 a145534947c98e6dba0ba6d92d46f3eef34d01ce8b60d4b699db8bacc63c3c5b
|
||||
lib/codeql/rust/elements/internal/generated/SynthConstructors.qll 3ceb5f6ee40b94955ce5f47feb454cc9129941aad3cdbe6e337bbe41e76a8a23 3ceb5f6ee40b94955ce5f47feb454cc9129941aad3cdbe6e337bbe41e76a8a23
|
||||
lib/codeql/rust/elements/internal/generated/Synth.qll 1406426af42b0bcb62bba6438df8d21ac3d270e2889cbe1846fae27a10e71439 c28fec17a0bb864717783b4a7f254f221040f67c4b29320b46455bfa4c653e76
|
||||
lib/codeql/rust/elements/internal/generated/SynthConstructors.qll a2791ebe7281bbba12e385b84241d79260c700c655f8d7ae85bc75351c9e784b a2791ebe7281bbba12e385b84241d79260c700c655f8d7ae85bc75351c9e784b
|
||||
lib/codeql/rust/elements/internal/generated/Token.qll 77a91a25ca5669703cf3a4353b591cef4d72caa6b0b9db07bb9e005d69c848d1 2fdffc4882ed3a6ca9ac6d1fb5f1ac5a471ca703e2ffdc642885fa558d6e373b
|
||||
lib/codeql/rust/elements/internal/generated/TokenTree.qll 8577c2b097c1be2f0f7daa5acfcf146f78674a424d99563e08a84dd3e6d91b46 d2f30764e84dbfc0a6a5d3d8a5f935cd432413688cb32da9c94e420fbc10665c
|
||||
lib/codeql/rust/elements/internal/generated/Trait.qll 8fa41b50fa0f68333534f2b66bb4ec8e103ff09ac8fa5c2cc64bc04beafec205 ce1c9aa6d0e2f05d28aab8e1165c3b9fb8e24681ade0cf6a9df2e8617abeae7e
|
||||
@@ -598,7 +632,26 @@ lib/codeql/rust/elements/internal/generated/WhileExpr.qll 7edf1f23fbf953a2baabcd
|
||||
lib/codeql/rust/elements/internal/generated/WildcardPat.qll d74b70b57a0a66bfae017a329352a5b27a6b9e73dd5521d627f680e810c6c59e 4b913b548ba27ff3c82fcd32cf996ff329cb57d176d3bebd0fcef394486ea499
|
||||
lib/codeql/rust/elements/internal/generated/YeetExpr.qll cac328200872a35337b4bcb15c851afb4743f82c080f9738d295571eb01d7392 94af734eea08129b587fed849b643e7572800e8330c0b57d727d41abda47930b
|
||||
lib/codeql/rust/elements/internal/generated/YieldExpr.qll 37e5f0c1e373a22bbc53d8b7f2c0e1f476e5be5080b8437c5e964f4e83fad79a 4a9a68643401637bf48e5c2b2f74a6bf0ddcb4ff76f6bffb61d436b685621e85
|
||||
lib/codeql/rust/elements.qll 2b46fa94e6775759fb730da818e0bf66e0f434c7e3d49f0e1989a5e5e6e48fd2 2b46fa94e6775759fb730da818e0bf66e0f434c7e3d49f0e1989a5e5e6e48fd2
|
||||
lib/codeql/rust/elements/internal/generated/canonical_paths/BuiltinTypeCanonicalPath.qll a27755a5093cf063ad3dfb86d62212cd219ad3b8890eac1836077c1112f3e869 1a15e92ecdb194338319aa11060f9cf5b753a1dd0236b274c351bb78d4bec063
|
||||
lib/codeql/rust/elements/internal/generated/canonical_paths/CanonicalPath.qll d2af9c90308939762fc5a9c0629da4b9bbab13f6b05e0353ff5575d659768392 2c03df5ef7d29d9a80e96ed43395e8120ee93d5075b9174d247300d26e563a5d
|
||||
lib/codeql/rust/elements/internal/generated/canonical_paths/CanonicalPathElement.qll 61446d0f3bcd327bad6b31c3c60c62571feaf862b31dda6474e01c8f37e8059a 33f2827acb058317b7c493fcb66a5b4bb434ac9ad739bbd449da971e72cb480f
|
||||
lib/codeql/rust/elements/internal/generated/canonical_paths/ConcreteTypeCanonicalPath.qll 4401616f47a95cccec68199bb49c18442a78dde023832f8fd5e16c73219baede 12f65fd81dc20ff5f4b74dac2232818fe75cb2e7f9abfdcae2177acc620b2c0f
|
||||
lib/codeql/rust/elements/internal/generated/canonical_paths/ConstGenericTypeArg.qll 69aae3c8c9d0ba87d543e6cec3d8783950b31888a6da15e5be37da81c7690238 780a9afc1e43ec885afc2ea22259c4f417244a7efcfb8dd3dc6209462e5faffc
|
||||
lib/codeql/rust/elements/internal/generated/canonical_paths/CrateRoot.qll fe71542b7f5943dc612bf8e52bc817473276460a9138babb7b33176c97d734a7 9cdc982cd8bf7802a82ec08c628ee262c527e25967b15632dc0e47f8e78daa28
|
||||
lib/codeql/rust/elements/internal/generated/canonical_paths/DerivedTypeCanonicalPath.qll 7370bc3c7d171f1cda9e6b268e3fd91de60ea0245798b65c78bd71cade5727bc fcba582a58f729e087b0a858e71cd581ce4371340b925b07b08daf3a5d11e9b4
|
||||
lib/codeql/rust/elements/internal/generated/canonical_paths/ImplItemCanonicalPath.qll ec8e443974dfa7320f996fd676eac81b39b577d3daef58289cba90b9fb0a87e4 100b0d7a10bfdaaa5812bca8efcda90bd4ba53251fccb03d263c563e1ab0041f
|
||||
lib/codeql/rust/elements/internal/generated/canonical_paths/LangCrateRoot.qll 4573e6afb64c334e7337c996d944763cea78e05174e00f1f5fc7598a7b66e364 84892d3a47b66ae2fd0f542141ed747b2cd700731891a7f86fd1a193c745b3db
|
||||
lib/codeql/rust/elements/internal/generated/canonical_paths/ModuleItemCanonicalPath.qll 0b31c6cff057a402051b44ea06a1224c107d8255848c028dbb48c5d8d5e92544 0e157a31e92d6cb9ac4a4cc828b204144def6511ff9fa9002f95b43064cb81e2
|
||||
lib/codeql/rust/elements/internal/generated/canonical_paths/Namespace.qll d0cc7157e09131e5f6a76b4ddda42ee2f8e5efb2002fe9e6d1da2c0b423a3c27 c2388f34f56333a0440c6c429833150fef7bdba6dbab1bf36224e6ff3dc6aea4
|
||||
lib/codeql/rust/elements/internal/generated/canonical_paths/ParametrizedCanonicalPath.qll 5463401f6f8775df8914a913bfba08c69c75172b4cdafae01321c28b3e9bcd2e 9a0a44725b48df6325114821eb69b161c35f46110909aa98beb8208969d84541
|
||||
lib/codeql/rust/elements/internal/generated/canonical_paths/PlaceholderTypeCanonicalPath.qll 27d476cb88f57e342d23218402236f6b15079ef773435102deb80bf57846c364 f143115ea2bd1c8805f3cef32cdc0a52ef9bf53a714ae68bf19c8d48e16d21bd
|
||||
lib/codeql/rust/elements/internal/generated/canonical_paths/RepoCrateRoot.qll 9c9b3d4a0f00313cd8ef75e53e161fee78d08bfcac78d836fd8b9033a4617cc7 621349f2d1a66632ba57940c6ff8e963b297bc9881a4f3d901977fee4c6bcb83
|
||||
lib/codeql/rust/elements/internal/generated/canonical_paths/RustcCrateRoot.qll 460256c888b3c9efa19556614607b4b9475329d37fab1d16dc33e649c403e247 84526e02752be57e1b776ca08d199f97b3b9e23978da82c0ab5020658c6270e9
|
||||
lib/codeql/rust/elements/internal/generated/canonical_paths/TypeCanonicalPath.qll 98251c42bc4163504b8ceec3502075f3551c2f66f61dc046fef4b13149337253 9bd821857a18356ab980d7fb5b1daa9bb42a738499e36e20a2944565b757c49d
|
||||
lib/codeql/rust/elements/internal/generated/canonical_paths/TypeGenericArg.qll 37c3e3bdee579697aa304d7df713249dc22df3068e189c21c182bba32b780622 b6e785b81f5a39c9643598d19b06f2beb2745dc8da63c8c91e50200824b9e8a7
|
||||
lib/codeql/rust/elements/internal/generated/canonical_paths/TypeGenericTypeArg.qll da1d56d3b9a41ac19ead37043e6035c4f42e32a284c0d6d925aadea4bf9691bc 4032024c23cc2910dab4760a2c249ec95324486c32d8f7fac1478e746635e19f
|
||||
lib/codeql/rust/elements/internal/generated/canonical_paths/TypeItemCanonicalPath.qll d2007a4ea331957899a5628c8f42794256952e1942f7331d078ac1c28a5f82e4 a385d0e88d8fcb02e6eea60c8970972ff1d4b96467468caf712d6b992f33fd79
|
||||
lib/codeql/rust/elements.qll 9b87ce888d083871402ccea1fb5f53bb3d85e754c7d8a5a84c545234eab91830 9b87ce888d083871402ccea1fb5f53bb3d85e754c7d8a5a84c545234eab91830
|
||||
test/extractor-tests/generated/Abi/Abi.ql 7f6e7dc4af86eca3ebdc79b10373988cd0871bd78b51997d3cffd969105e5fdd 2f936b6ca005c6157c755121584410c03e4a3949c23bee302fbe05ee10ce118f
|
||||
test/extractor-tests/generated/Abi/Abi_getAbiString.ql a496762fcec5a0887b87023bbf93e9b650f02e20113e25c44d6e4281ae8f5335 14109c7ce11ba25e3cd6e7f1b3fcb4cb00622f2a4eac91bfe43145c5f366bc52
|
||||
test/extractor-tests/generated/ArgList/ArgList.ql e412927756e72165d0e7c5c9bd3fca89d08197bbf760db8fb7683c64bb2229bc 043dba8506946fbb87753e22c387987d7eded6ddb963aa067f9e60ef9024d684
|
||||
@@ -664,9 +717,10 @@ 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 467cbeab00b7056613541933debcedf8f22579216e250ba64918efc6567ebd03 05f81445603a6b143834bc409200cd79e14f45bdf5d4061c03ad078cfa93274d
|
||||
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_getCanonicalPath.ql 7737e999249e6dffcfe4386671b5c45e3916aaf2852bca889371d1c825444b8c e3473de4fcaf4c4d3c63b740a5879caf463a2e44cda5c12874e4110be433cb8f
|
||||
test/extractor-tests/generated/Const/Const_getCrateOrigin.ql f042bf15f9bde6c62d129601806c79951a2a131b6388e8df24b1dc5d17fe89f7 7c6decb624f087fda178f87f6609510907d2ed3877b0f36e605e2422b4b13f57
|
||||
test/extractor-tests/generated/Const/Const_getExtendedCanonicalPath.ql 3300b902e1d1f9928cfe918203b87043e13460cfa5348a8c93712d2e26d61ced 71e7b80d3290f17b1c235adaca2c48ae90eb8b2cb24d4c9e6dc66559daf3824c
|
||||
test/extractor-tests/generated/Const/Const_getName.ql b876a1964bbb857fbe8852fb05f589fba947a494f343e8c96a1171e791aa2b5e 83655b1fbc67a4a1704439726c1138bb6784553e35b6ac16250b807e6cd0f40c
|
||||
@@ -686,8 +740,9 @@ test/extractor-tests/generated/ContinueExpr/ContinueExpr_getAttr.ql acb261869d3b
|
||||
test/extractor-tests/generated/ContinueExpr/ContinueExpr_getLifetime.ql 39dae9872d92fa9b15343c93da545c2b0e15b4f27f2296c200fd4611b68858d5 52a209022e3b83260b4ef5513ffbcc1ca1f7c21bad2c721a0d3698793d2161d2
|
||||
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 a9047a6851e0bb2464b905fd9fb228bd23883bb978e749bc4c4429268a9df131 578c309bd4f89de813ee074ed162a8baab7586da09f6c7334b45fe8dfda072f4
|
||||
test/extractor-tests/generated/Enum/Enum_getAttr.ql 8109ef2495f4a154e3bb408d549a16c6085e28de3aa9b40b51043af3d007afa7 868cf275a582266ffa8da556d99247bc8af0fdf3b43026c49e250cf0cac64687
|
||||
test/extractor-tests/generated/Enum/Enum_getCanonicalPath.ql 1fc1c7a5049a9c348f9c93fa40e17da84406e9155db69892303ddab38cd05447 389dfb9ec6e72ca100cd9d375abb0a571f7c9ebdb3581b703b7f342f11e9f439
|
||||
test/extractor-tests/generated/Enum/Enum_getCrateOrigin.ql 76d32838b7800ed8e5cab895c9dbea76129f96afab949598bebec2b0cb34b7ff 226d099377c9d499cc614b45aa7e26756124d82f07b797863ad2ac6a6b2f5acb
|
||||
test/extractor-tests/generated/Enum/Enum_getExtendedCanonicalPath.ql 001bb634adc4b20afb241bff41194bc91ba8544d1edd55958a01975e2ac428e1 c7c3fe3dc22a1887981a895a1e5262b1d0ad18f5052c67aa73094586de5212f6
|
||||
test/extractor-tests/generated/Enum/Enum_getGenericParamList.ql 2a858a07195a4b26b8c92e28519995bd6eba64889bddd126e161038f4a8d78e0 db188f238db915c67b084bc85aa0784c6a20b97b5a5f1966b3530c4c945b5527
|
||||
@@ -697,14 +752,16 @@ 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 aa1b2b0d48976824c7489a0c028e3bdbb7052697084631ca7807d4a975664555 dab39df74f212041f81f1706c6800f1adcbf37dca6d5da04672051e14ec76955
|
||||
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_getCanonicalPath.ql c8a6b799fb2b5fb7f14538336d400f18ed5b9450eead27477142a3ae5c632c61 59cfb18e8cf2393e964f96d0b97ca858f4c3e9d8505518f55eb647ea6046a05f
|
||||
test/extractor-tests/generated/ExternBlock/ExternBlock_getCrateOrigin.ql 5a2e0b546e17a998156f48f62e711c8a7b920d352516de3518dfcd0dfedde82d 1d11b8a790c943ef215784907ff2e367b13737a5d1c24ad0d869794114deaa32
|
||||
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 c4313ed4790d6c085f47d6c14b11bfa67f7758a1f160758a385bcfcd37284151 9a761086cd80a6fdb7a41f2f6887e1c0b8b3aa19ada0b1dcc74a57646338ecc9
|
||||
test/extractor-tests/generated/ExternCrate/ExternCrate.ql 38c4959c09b3c8f4e541ad382674ebde5e861a658ab7fc775eb48d74b0eb4270 d86dd75ccafc1dc98f99821585f1721545f441b18774bb339038749b3d03c96b
|
||||
test/extractor-tests/generated/ExternCrate/ExternCrate_getAttr.ql cbe8efdfdbe5d46b4cd28d0e9d3bffcf08f0f9a093acf12314c15b692a9e502e 67fe03af83e4460725f371920277186c13cf1ed35629bce4ed9e23dd3d986b95
|
||||
test/extractor-tests/generated/ExternCrate/ExternCrate_getCanonicalPath.ql c4c0346e43710986270b26be5739f46f52326740563bb8092b6e8c9fa2098b3a 85cc440df53bb13fb93a59d0aa70f92e8f072935294485967a338c73220cc53e
|
||||
test/extractor-tests/generated/ExternCrate/ExternCrate_getCrateOrigin.ql c0bf9ba36beb93dc27cd1c688f18b606f961b687fd7a7afd4b3fc7328373dcfb 312da595252812bd311aecb356dd80f2f7dc5ecf77bc956e6478bbe96ec72fd9
|
||||
test/extractor-tests/generated/ExternCrate/ExternCrate_getExtendedCanonicalPath.ql 88e16e2bbef466cec43ace25716e354408b5289f9054eaafe38abafd9df327e3 83a69487e16d59492d44d8c02f0baf7898c88ed5fcf67c73ed89d80f00c69fe8
|
||||
test/extractor-tests/generated/ExternCrate/ExternCrate_getNameRef.ql 4bbc210ed3114f355a36768fc8173dfb65bd683bdf47491a30890cf110a6fb2c cd9c1b52dd350337e946fb43243de1504f0ae44d81668dab3629f2b7c2651572
|
||||
@@ -743,10 +800,11 @@ test/extractor-tests/generated/FormatArgsExpr/FormatArgument.ql 7a7ee3a3322b4af8
|
||||
test/extractor-tests/generated/FormatArgsExpr/FormatArgument_getVariable.ql 7bd4ec3dde2ef0463585794101e6cc426c368b0e4ab95fbb1f24f8f0a76cf471 e7b01e8b21df5b22c51643e2c909c6fc4ca96fda41b3290c907ba228abe8669b
|
||||
test/extractor-tests/generated/FormatArgsExpr/FormatTemplateVariableAccess.ql 2793ba1ff52182dab992d82d3767a000928f6b2fbfdb621349cafc183f0d2480 c3777d03214f7feb9020de3ce45af6556129e39e9b30d083de605b70ab9a0a12
|
||||
test/extractor-tests/generated/FormatArgsExpr/Format_getArgument.ql 26d592398a17795427b5b6b51ff4a013ee15c31443e732a000baca5f2e65acca 7940a864b84b89e84d7fb186599cb8b6bcbead7141c592b8ab0c59fcd380d5fb
|
||||
test/extractor-tests/generated/Function/Function.ql c1c2a9b68c35f839ccd2b5e62e87d1acd94dcc2a3dc4c307c269b84b2a0806e6 1c446f19d2f81dd139aa5a1578d1b165e13bddbaeab8cfee8f0430bced3a99ab
|
||||
test/extractor-tests/generated/Function/Function.ql c78dcb8aa49acbd2110a7f19b02ce7ee09428e0c363318dd84ade543003e950c 5ada3778eb0db63c6674d6ee19401642fe65c883cbda0fa368c809b478c4a311
|
||||
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_getCanonicalPath.ql 22775208d059fb634903123a4b98e413c9493c507d5095236bfe17639863cf96 a76b74443954bf2395c242374d0ceee531f18890c18ef79f31db9b73229d477f
|
||||
test/extractor-tests/generated/Function/Function_getCrateOrigin.ql acec761c56b386600443411cabb438d7a88f3a5e221942b31a2bf949e77c14b4 ff2387acb13eebfad614b808278f057a702ef4a844386680b8767f9bb4438461
|
||||
test/extractor-tests/generated/Function/Function_getExtendedCanonicalPath.ql 0bcdca25bb92424007cea950409d73ba681e3ffbea53e0508f1d630fccfa8bed ff28c3349f5fc007d5f144e549579bd04870973c0fabef4198edce0fba0ef421
|
||||
test/extractor-tests/generated/Function/Function_getGenericParamList.ql 0b255791c153b7cb03a64f1b9ab5beccc832984251f37516e1d06ce311e71c2b d200f90d4dd6f8dfd22ce49203423715d5bef27436c56ee553097c668e71c5a1
|
||||
@@ -768,9 +826,10 @@ 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 7f647b9c482f429930d9949b81dd93720c855c6b1588dca2937af5f1745284fb 67021bd70c168c4e4d3435a91caa431b95ed26ae2da19febcb79dd4c4097f15a
|
||||
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_getCanonicalPath.ql ab036cae598c5c50cdbc3df81a4f3c579dbe642d160741e4ad65eb12f256f334 f8f2eb65a3cefc528d5baf92b0728c3850d1e72b4679800748cc33d3985bd842
|
||||
test/extractor-tests/generated/Impl/Impl_getCrateOrigin.ql 494d5524ef7bac1286b8a465e833e98409c13f3f8155edab21d72424944f2ed9 b238ef992fce97699b14a5c45d386a2711287fd88fa44d43d18c0cdfd81ed72c
|
||||
test/extractor-tests/generated/Impl/Impl_getExtendedCanonicalPath.ql 3ab82fd7831d22c7ec125908abf9238a9e8562087d783c1c12c108b449c31c83 320afd5dd1cea9017dbc25cc31ebe1588d242e273d27207a5ad2578eee638f7e
|
||||
test/extractor-tests/generated/Impl/Impl_getGenericParamList.ql 88d5cd8fd03cb4cc2887393ee38b2e2315eeef8c4db40a9bd94cf86b95935bdd 9c72828669ccf8f7ca39851bc36a0c426325a91fc428b49681e4bb680d6547a9
|
||||
@@ -819,17 +878,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 01c61d5298dd62b9b15536c7e0d40d85cc651a89b5a8957739f1ebb9a1daeccc 6ad942cf70cbc26f64ed9679b5e090f171f23c46a80076ee529f55edfefdbb94
|
||||
test/extractor-tests/generated/MacroCall/MacroCall_getAttr.ql c22a2a29d705e85b03a6586d1eda1a2f4f99f95f7dfeb4e6908ec3188b5ad0ad 9b8d9dcc2116a123c15c520a880efab73ade20e08197c64bc3ed0c50902c4672
|
||||
test/extractor-tests/generated/MacroCall/MacroCall_getCanonicalPath.ql e11be6799451e1833b27610c7d086a606fa954bacacbf05c65de88bcecef0e11 c81f43be23035953a62bdc685e2862266b43859855c4145a5bd585d984737ae5
|
||||
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 f2993a903352ce5e8f830c746a8dc53ef84a286319af4457f752f8a65dce2f21 4d954809d4991328e2cc0d4f126c8d5d7e443b294b89a5cffcfecbe3e00b8504
|
||||
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_getCanonicalPath.ql 73617ab1d9f6705a613b6eb56b8eec819aee464b233c1c915789d411bcd447a1 4a2a502b35638a776469b246dcd1638a4cd3e77478565703ccbc7b6dc36b8f12
|
||||
test/extractor-tests/generated/MacroDef/MacroDef_getCrateOrigin.ql 6c46366798df82ed96b8fb1efeb46bd84c2660f226ff2359af0041d5cdf004ba 8ab22599ef784dcad778d86828318699c2230c8927ae98ab0c60ac4639d6d1b5
|
||||
test/extractor-tests/generated/MacroDef/MacroDef_getExtendedCanonicalPath.ql d09b262b8e5558078506ec370255a63c861ca0c41ab9af3eb4f987325dadd90c cd466062c59b6a8ea2a05ddac1bf5b6d04165755f4773867774215ec5e79afa3
|
||||
test/extractor-tests/generated/MacroDef/MacroDef_getName.ql 6bc8a17804f23782e98f7baf70a0a87256a639c11f92e3c80940021319868847 726f9d8249b2ca6789d37bb4248bf5dd044acc9add5c25ed62607502c8af65aa
|
||||
@@ -840,8 +901,9 @@ 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 c201fdcf850d9b048d916d02628d6bb8f79c530d3a00d847e44ae6168968d955 5d5f5331bfe9c8972de1d33357d4aa2501fc48353eec257cc71420d517fef0af
|
||||
test/extractor-tests/generated/MacroRules/MacroRules_getAttr.ql 7de501c724e3465520cdc870c357911e7e7fce147f6fb5ed30ad37f21cf7d932 0d7754b89bcad6c012a0b43ee4e48e64dd20b608b3a7aeb4042f95eec50bb6e6
|
||||
test/extractor-tests/generated/MacroRules/MacroRules_getCanonicalPath.ql 18798d1de82776729e42e2044987d1b9d116cd5f2e08ebafa24f92ca833507fd 556b10708e758c534e84d6408cc68c50b715c5d452cab7adb11dffed5450f208
|
||||
test/extractor-tests/generated/MacroRules/MacroRules_getCrateOrigin.ql fccedeee10ef85be3c26f6360b867e81d4ebce3e7f9cf90ccb641c5a14e73e7d 28c38a03a7597a9f56032077102e7a19378b0f3f3a6804e6c234526d0a441997
|
||||
test/extractor-tests/generated/MacroRules/MacroRules_getExtendedCanonicalPath.ql a0098b1d945df46e546e748c2297444aaccd04a4d543ba3d94424e7f33be6d26 3bab748c7f5bbe486f30e1a1c422a421ab622f401f4f865afb003915ae47be83
|
||||
test/extractor-tests/generated/MacroRules/MacroRules_getName.ql 591606e3accae8b8fb49e1218c4867a42724ac209cf99786db0e5d7ea0bf55d5 d2936ef5aa4bbf024372516dde3de578990aafb2b8675bbbf0f72e8b54eb82a8
|
||||
@@ -870,16 +932,18 @@ test/extractor-tests/generated/Meta/Meta.ql 16f163f00ba2bbaa0a8c6f3f6710c860a8f6
|
||||
test/extractor-tests/generated/Meta/Meta_getExpr.ql ec9ec61f5be7d65c32775fb5c068daea04f9db7d875293ed99cc1b2481db041f 77a0c52f1cb6ddc8fdb294d637f9eda1b7301ffa3067f0fca6272d894f57d3ee
|
||||
test/extractor-tests/generated/Meta/Meta_getPath.ql aa9d4145a4e613c51b6e4637d57e3b7d0f66e0bb88f4ce959d598870814c06bb 2087e00686d502c0e2e89c88eae0fb354463576a9ae4101320981d3fd79b9078
|
||||
test/extractor-tests/generated/Meta/Meta_getTokenTree.ql 1051c27ffd0d9a20436d684fde529b9ff55abe30d50e1d575b0318951e75bd34 983975672d928fb907676628384c949731da9807bf0c781bb7ec749d25733d2d
|
||||
test/extractor-tests/generated/MethodCallExpr/MethodCallExpr.ql 0149a2d174c72a530b39a5878e204cb6db7632935a5ceaf20e2b2363b67dfdf6 8284d9133c21136f89a04105c280efe736a782035235c6abc081f3d9a2616447
|
||||
test/extractor-tests/generated/MethodCallExpr/MethodCallExpr.ql b58d51eaecc3013af64a6d7209934e8772c26e6c2a838f1a6ecda58b9cf7b595 f6a61ed3093f18c632d7a0181b1f7610bf2f0ee90204d82d55fd690fcfd65734
|
||||
test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getArgList.ql 180e0b1715f5cd2be0de01bff3d3a45594b495b8250748d40ff7108d6c85923d bdadcdbecca5891287a47b6dd6b2fda62e07457718aef39212503ab63bc17783
|
||||
test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getAttr.ql 2ce876a04a159efce83b863dffc47fbb714b95daea2b91fa6fbb623d28eed9ec 7bca1cd0e8fbceec0e640afb6800e1780eff5b5b402e71b9b169c0ba26966f96
|
||||
test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getGenericArgList.ql 655db9a0501b1ef20d604cc4cd9d708371781291443e8dec97b70ec2914601d2 2fc7df0eca22dcef2f9f5c86d37ee43452d372a4c0f9f4da0194828c82ba93e0
|
||||
test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getNameRef.ql 9a4829a174388e818f0c63ee6b8bdf1b68beaab48f51734ec6cc14635d24001c f57c9cdaf5235aad604f60b53ce92e73946d03a085f95ed051a26683967be4ba
|
||||
test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getReceiver.ql 77407ac956c897ff7234132de1a825f1af5cfd0b6c1fd3a30f64fe08813d56db d80719e02d19c45bd6534c89ec7255652655f5680199854a0a6552b7c7793249
|
||||
test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getResolvedCanonicalPath.ql 7c1692b433e4580a3eadfa75b0881d931bfa398291aebfbf6acbb4fc49b7f1c2 554275f8d13e95c35f5c529f3c43e7d10f7fdeb524c47dba6a42229922736734
|
||||
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 4fded57dcf8d704f571c200e8c8b65f935a838cf1f44152a9fbe3f05afd868ca aa09e9a1948847265c0fec9011986034d0963e97fbcc51abbefa05a4e9a877d9
|
||||
test/extractor-tests/generated/Module/Module_getAttr.ql b97ae3f5175a358bf02c47ec154f7c2a0bd7ca54d0561517008d59344736d5cd f199116633c183826afa9ab8e409c3bf118d8e626647dbc617ae0d40d42e5d25
|
||||
test/extractor-tests/generated/Module/Module_getCanonicalPath.ql d700ee897697745c08fcf6cfbaf979b621f51bf2e221a4a99b59518f9bf6105f 947338c5590db48733a331e870e58a9eb78e0dca75e463dccff162a437483e78
|
||||
test/extractor-tests/generated/Module/Module_getCrateOrigin.ql ff479546bf8fe8ef3da60c9c95b7e8e523c415be61839b2fff5f44c146c4e7df b14d3c0577bd6d6e3b6e5f4b93448cdccde424e21327a2e0213715b16c064a52
|
||||
test/extractor-tests/generated/Module/Module_getExtendedCanonicalPath.ql 55c5b633d05ddbe47d324535a337d5dfed5913ab23cdb826424ddd22009a2a53 ab9e11e334e99be0d4c8d2bd0580657211d05feeeb322fbb5400f07264219497
|
||||
test/extractor-tests/generated/Module/Module_getItemList.ql 59b49af9788e9d8b5bceaeffe3c3d203038abd987880a720669117ac3db35388 9550939a0e07b11892b38ca03a0ce305d0e924c28d27f25c9acc47a819088969
|
||||
@@ -911,13 +975,15 @@ test/extractor-tests/generated/ParenPat/ParenPat_getPat.ql 96f3db0ec4e71fd870619
|
||||
test/extractor-tests/generated/ParenTypeRepr/ParenTypeRepr.ql a96bb8b51d8c0c466afc1c076834fa16edf7e67fffe2f641799850dee43099a2 0e6c375e621b7a7756d39e8edd78b671e53d1aac757ac54a26747fe5259c5394
|
||||
test/extractor-tests/generated/ParenTypeRepr/ParenTypeRepr_getTypeRepr.ql 64fe4ea708bc489ba64ed845f63cfbcd57c1179c57d95be309db37eac2f5eb71 0f4cbbfdf39d89830b5249cabf26d834fc2310b8a9579c19383c90cb4333afb7
|
||||
test/extractor-tests/generated/Path/Path.ql 2bdcd99b3b5ffc83ac47d8cc27a4561d616bcf06844f0c452c699cd10ee640ca 5a7d7ffb8b0c04d6a8cbb2a953761df8561b796c4372bef1bd55c359b2f19911
|
||||
test/extractor-tests/generated/Path/PathExpr.ql 5039fe730998a561f51813a0716e18c7c1d36b6da89936e4cfbdb4ef0e895560 cd3ddf8ab93cd573381807f59cded7fb3206f1dbdff582490be6f23bed2d6f29
|
||||
test/extractor-tests/generated/Path/PathExpr.ql 3697b6d8d332325fb980bf86706d58aa1805074bc46104626437e89afdaf3202 b5c5b09493198b66140ffe9c48d0790a40573109e9fe615cded6b6887551fa49
|
||||
test/extractor-tests/generated/Path/PathExpr_getAttr.ql 2ccac48cd91d86670c1d2742de20344135d424e6f0e3dafcc059555046f92d92 9b7b5f5f9e3674fad9b3a5bcd3cabc0dff32a95640da0fce6f4d0eb931f1757d
|
||||
test/extractor-tests/generated/Path/PathExpr_getPath.ql e7894071313a74166bdd31d7cd974037fcd5a7f0e92d5eec42833266196eb858 46a06e8a1207e7a0fa175cd4b61068e5fd6c43b5575b88986409f0ac2be64c51
|
||||
test/extractor-tests/generated/Path/PathExpr_getResolvedCanonicalPath.ql c6ba7bea708fbd8137767b813c8008fbb367eda1a9a9ab2b35f6cd4ff9915522 029bcde2f10d3e17d9e092dd49be9d6956e51dbfaed78911c70a65dea0b78300
|
||||
test/extractor-tests/generated/Path/PathExpr_getResolvedCrateOrigin.ql a68a1f0d865d10c955f7ab1fd7614b517e660553b65fabb9daa8f302adbc2602 c47480d6440ae63be27d8158a35536a8d9051817dec1521cdcab297ddb52e1ae
|
||||
test/extractor-tests/generated/Path/PathExpr_getResolvedPath.ql dfa55fe480da0df37670660fc1c54b6c38d47365353bc9d4f662183b33d4e80f 1b18329a7b60805fc073df3149c48f39aa66924d7eefedecbca36a2b170a7fbe
|
||||
test/extractor-tests/generated/Path/PathPat.ql 6b9d973009f1b4963c7c83b0f5051eda7a76c8fb4a789217b4a25cbab0cdb274 57f0621dd3657b6f4630d5406816effcc6bc1b03361aa12e118e807e28e9e71b
|
||||
test/extractor-tests/generated/Path/PathPat.ql 37a5644f9e62162d1401caee64f919be0f649ecef6ab5124efe24a63d83c16d7 3753481030deb70da69aaef721693a4b08fd9d9e7bfa08bfe476e5656a2e836a
|
||||
test/extractor-tests/generated/Path/PathPat_getPath.ql 6c0c71c80a6e631ea7775ec8660b470ff6b264bab14a399606cf113b1fb190fc 8e34cbb4d064db929e94652e1901ec4f26affa71e30e556b7acdff71dd622cbb
|
||||
test/extractor-tests/generated/Path/PathPat_getResolvedCanonicalPath.ql 5fb21b11e054054947f1c7b52b985e90a5ddb0e93915b48af68ae15888960b36 e3cb25aab7053cc2b9fe2966cfa6c43677cdf177f1515efb0634228be8fc076b
|
||||
test/extractor-tests/generated/Path/PathPat_getResolvedCrateOrigin.ql f690fd9a8773e7c73b70f2d64ee919fef8eee243c5a315c4a6d2713d43ea0e43 f37817427c36cec14a2e07f99d3a32f37f3f27a8eafdf170749ec2780054729b
|
||||
test/extractor-tests/generated/Path/PathPat_getResolvedPath.ql 55df4541a7b0e82198acfcedd7dc99eb564908270e4fb2b032bf05e40fba6fef a5932d884903da901263f88644c8585a45045190d7204f630506c5aece798288
|
||||
test/extractor-tests/generated/Path/PathSegment.ql be9d62d38b0c7f8b5a8ea86dcb18c62f24930f5931f52e6073414f291d8c0451 31288b7728d45715acf6ab751b833b29473a74d54d9b26f83a73d8c91e3c82da
|
||||
@@ -947,9 +1013,10 @@ test/extractor-tests/generated/RangePat/RangePat.ql 97314b9a5543a7471d722ae188a6
|
||||
test/extractor-tests/generated/RangePat/RangePat_getEnd.ql 723eb5030ec52d3aa3650a3e2de6cc0195a0030630239b972235963320e0d808 2df3b1a6197c3abd43dc743fd09cbf55165e3191f2b49336777594541e5da96a
|
||||
test/extractor-tests/generated/RangePat/RangePat_getOperatorName.ql 564216b2342f56dc8c1aed6306f57b6dafb33de9e3ba337a840a8c077ce95933 2a76ec7a59bada29733a1515bc1ea8bedd37429d1694ca63c7a8fbf94098a4c7
|
||||
test/extractor-tests/generated/RangePat/RangePat_getStart.ql ad2066efa32fced2dd107031f2a9b9635c3c892e874870a4320522bae9309aa4 b4a8c57a838074e186b823938d1a9372153c193da6c839b5f242ca25c679e83f
|
||||
test/extractor-tests/generated/RecordExpr/RecordExpr.ql 220f7f766587dc9df1c6f81a1cda3d19d7d5e92a31c63752061297e1adf96bf0 792bbe4503adcb63f7ac0f11259bb60a8ce05538ba1676f141989a73ff4eb5c0
|
||||
test/extractor-tests/generated/RecordExpr/RecordExpr.ql f86fb45c56cce41e868e86bfedcba8899b4de31094b59e9e7a8ba6598cb40051 340bc619c7b81427fe7f66118d51727331a1b4c63e41ba5b101489999945d561
|
||||
test/extractor-tests/generated/RecordExpr/RecordExpr_getPath.ql 2eb8f7591f08199d124732d7f2d7dd3e81792a52f8e6c90003aa0609923f8cb0 27e245224d6c9aa20023b418ce8dffff1293b50a0e10938932631fca7c559e78
|
||||
test/extractor-tests/generated/RecordExpr/RecordExpr_getRecordExprFieldList.ql 6d3d872eb64ff8cd7317190f9b2627d3fa6a74976e362cfb49e21c6623d63f82 d98b07f932ecb25a427e655017de47f951d3eabc4eedbc6f873571ce8921e9ff
|
||||
test/extractor-tests/generated/RecordExpr/RecordExpr_getResolvedCanonicalPath.ql 0df6c5d228c02ad9d676829d3a86e7c099a4a1e506e1bf016bf6d4da40dc408b 50fea626f0969ea9107c59a38339926a92b5d3170e46293d1f737a4eaeb01d68
|
||||
test/extractor-tests/generated/RecordExpr/RecordExpr_getResolvedCrateOrigin.ql 87d463c7950407c86783b9ccbcf6daa4f62f5fcb75bc20f1879bde9240281d4d 5659b4fb8b25cd998211aa3edb11188b3c487cabaf7a09989ce6fe0e4f67ba25
|
||||
test/extractor-tests/generated/RecordExpr/RecordExpr_getResolvedPath.ql 0de885c7efdd257ee44d2c8a2ad91e419d604517471966059ddae321e80597b6 7977fb7a8c954733dbb5cf8378d6103688d16bc4c9b891c68098d0ec224429b4
|
||||
test/extractor-tests/generated/RecordExprField/RecordExprField.ql 62ee00e478fcf07421b5989943a487ecc0c99cf50ec87f05aabe89dfb03f2a32 ad7c6ce362032e18fc9950b885c4b7b5c907e6abd2af2d13ecef84eb980027fb
|
||||
@@ -967,9 +1034,10 @@ test/extractor-tests/generated/RecordField/RecordField_getTypeRepr.ql f61cfcd0c6
|
||||
test/extractor-tests/generated/RecordField/RecordField_getVisibility.ql cc45e9bb9418d15cef07a1827358c3f18a8737324c8e6852591a2da70df89360 45557497fc165a212fffda71dedabc8159a4f72323430df732698a18922b366c
|
||||
test/extractor-tests/generated/RecordFieldList/RecordFieldList.ql 586bccfa550243177d9fdfd6900a473f51a76ed360b537f19cb300330d5dad5b a063373dfdbf06b68c69694ea4ae72a26b906c910f9095894c09e72f8fb52819
|
||||
test/extractor-tests/generated/RecordFieldList/RecordFieldList_getField.ql 2eb92ef8528204f3f105c19a36cdc06b3b6d20242463ff2ed1fb81c544812a71 d69091899e7157099f117e14fe60cd3705cfda45f28f6a6a2b7234a4a9c1e664
|
||||
test/extractor-tests/generated/RecordPat/RecordPat.ql 24469c2a0902196d49249a37a0b56bf9fe62d1e7af3150813200b25ccb46dfaa 479e58d4fe6db7048e0649fd5a9c1b8ca1ceb8aa52a80dd07a999a07e32b0a3f
|
||||
test/extractor-tests/generated/RecordPat/RecordPat.ql 1f7a129a923663cbc23cca2361cce4680af9463b5cf3f3b172b4fd3fc52e3cf1 39ae84851ecd512cd2777b6ed6cf12429ab5a5ba6becf25b70c9e9073c43b344
|
||||
test/extractor-tests/generated/RecordPat/RecordPat_getPath.ql 187b8d44de158fc809257e28b2e8fdd246c8eb3c60115d54cd53396a320e372d 74813fd13c6f34927420ed44620743f7c80c537984e0db72c1c5f4b754b40b83
|
||||
test/extractor-tests/generated/RecordPat/RecordPat_getRecordPatFieldList.ql 32e45a6f59cdb8edbf7f9326164e225a7f545fabd2dd168b660699954a999fdf 325c9121dc130459426b473691876a0698b51d5cdf4530698a398510ce8e3051
|
||||
test/extractor-tests/generated/RecordPat/RecordPat_getResolvedCanonicalPath.ql c323c91c14aee44659492db28711c238c2e4b2bf5b8b6ab327fff63a5fa935dd 246b72cfa03cdf24b0189b476af748116254160f73b8511416f373826cebabaf
|
||||
test/extractor-tests/generated/RecordPat/RecordPat_getResolvedCrateOrigin.ql 61a47db765e0c45797d3f92318fb6dbf07dfe1a2e63704294c58d49cb0894676 86a636746458053278a8ba0be062a9b1cfcad4866e065a8317fa8f033518ecae
|
||||
test/extractor-tests/generated/RecordPat/RecordPat_getResolvedPath.ql 0221208e93c4a26e555dd848238b4f5bcabf2ccf3fc38ceb2eef45c39d67b21a 37d80014a21a19e9132ad645a17234e33bb20f2352b450277b8fa919a54b95e9
|
||||
test/extractor-tests/generated/RecordPatField/RecordPatField.ql 6c51343258e56673d21b7ae73e7de011319ffa2eb65390e697f875bb428d25d1 82c3232db0cb353140618749b1cba5549b0ff43cbbaafb203077e18dbedb2c10
|
||||
@@ -1009,9 +1077,10 @@ 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 b633f189040bc9d0592b77440b5b161b5c69cab97c4f47ef2c3754671fab0fc2 8dba58a18a217b741a7c474bffe0b3ab524cba8e1e4d6ddb22181170d2971fca
|
||||
test/extractor-tests/generated/Static/Static.ql dc4b6a3a1abd5577564bf4bfe8d2bc71f7e8cfc1d98f99cd192dde66b4e60e53 ef55486d1a47d51ca2d86972ad6f0a6db8954e3073946723e4dff76c6035440e
|
||||
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_getCanonicalPath.ql b259ce842d2286f6c36b0a942dd724ef447c886cc2e1aeb51359a933800b959c 2a5a035ca6c6dc2411c929652739630a23042600d32fe7e0f22135a1227f75b4
|
||||
test/extractor-tests/generated/Static/Static_getCrateOrigin.ql f24ac3dac6a6e04d3cc58ae11b09749114a89816c28b96bf6be0e96b2e20d37f e4051426c5daa7e73c1a5a9023d6e50a2b46ebf194f45befbe3dd45e64831a55
|
||||
test/extractor-tests/generated/Static/Static_getExtendedCanonicalPath.ql 6ec02f7ec9cf4cb174a7cdf87921758a3e798c76171be85939614305d773b6a0 c51567dac069fc67ece0aa018ae6332187aa1145f33489093e4aee049d7cea52
|
||||
test/extractor-tests/generated/Static/Static_getName.ql c7537e166d994b6f961547e8b97ab4328b78cbd038a0eb9afaae42e35f6d9cb4 bb5ae24b85cd7a8340a4ce9e9d56ec3be31558051c82257ccb84289291f38a42
|
||||
@@ -1021,8 +1090,9 @@ 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 a844cf71f1fc524d790f21640893aad3e39b750cd9942744272a517a428ad370 a1df901751d1930737d59c272d8d0c11dc956f506a38982d179bee9008819ca5
|
||||
test/extractor-tests/generated/Struct/Struct_getAttr.ql 028d90ddc5189b82cfc8de20f9e05d98e8a12cc185705481f91dd209f2cb1f87 760780a48c12be4581c1675c46aae054a6198196a55b6b989402cc29b7caf245
|
||||
test/extractor-tests/generated/Struct/Struct_getCanonicalPath.ql c3c09ee605cade0f250818db21abce9311c8b0ada4687dc8b0de0275ae3bc3ad 4e64a3fbe2e95ebd50d4f66ad0c2b6ab1ec89795faef9a1efb06995786fd2b7a
|
||||
test/extractor-tests/generated/Struct/Struct_getCrateOrigin.ql 289622244a1333277d3b1507c5cea7c7dd29a7905774f974d8c2100cea50b35f d32941a2d08d7830b42c263ee336bf54de5240bfc22082341b4420a20a1886c7
|
||||
test/extractor-tests/generated/Struct/Struct_getExtendedCanonicalPath.ql 866a5893bd0869224fb8aadd071fba35b5386183bb476f5de45c9de7ab88c583 267aedc228d69e31ca8e95dcab6bcb1aa30f9ebaea43896a55016b7d68e3c441
|
||||
test/extractor-tests/generated/Struct/Struct_getFieldList.ql f45d6d5d953741e52aca67129994b80f6904b2e6b43c519d6d42c29c7b663c42 77a7d07e8462fa608efc58af97ce8f17c5369f9573f9d200191136607cb0e600
|
||||
@@ -1034,9 +1104,10 @@ 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 3572861043991a88a9b7b04aba44823e3854bd06ffddca2b335e9f4e62c39848 a2ed34bd1ff46216289dd0bbdfcd431ef414d8a3e9113a016dabd6fbc260aa12
|
||||
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_getCanonicalPath.ql 2ff57c8006af1e2d2746d83f8500f5fec109548443677dbb2627ff9b9cbcaf82 2f48643287bfe8081930521cc0282b2a27e62bd9c332971ca8dd6b2c007fe05f
|
||||
test/extractor-tests/generated/Trait/Trait_getCrateOrigin.ql d8433d63bb2c4b3befaaedc9ce862d1d7edcdf8b83b3fb5529262fab93880d20 3779f2678b3e00aac87259ecfe60903bb564aa5dbbc39adc6c98ad70117d8510
|
||||
test/extractor-tests/generated/Trait/Trait_getExtendedCanonicalPath.ql a2bd16e84f057ed8cb6aae3e2a117453a6e312705302f544a1496dbdd6fcb3e6 b4d419045430aa7acbc45f8043acf6bdacd8aff7fdda8a96c70ae6c364c9f4d1
|
||||
test/extractor-tests/generated/Trait/Trait_getGenericParamList.ql b27ff28e3aff9ec3369bbbcbee40a07a4bd8af40928c8c1cb7dd1e407a88ffee 2b48e2049df18de61ae3026f8ab4c3e9e517f411605328b37a0b71b288826925
|
||||
@@ -1044,8 +1115,9 @@ test/extractor-tests/generated/Trait/Trait_getName.ql d4ff3374f9d6068633bd125ede
|
||||
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 2276b69235768d5e7454694efd3394f7b00103380597264db92bf0ee06a7433f 41d8a95224cbb359838cabbb0b4dd0f77809024e44c252b5c22505df9648ead3
|
||||
test/extractor-tests/generated/TraitAlias/TraitAlias_getAttr.ql 128c24196bfa6204fffd4154ff6acebd2d1924bb366809cdb227f33d89e185c8 56e8329e652567f19ef7d4c4933ee670a27c0afb877a0fab060a0a2031d8133e
|
||||
test/extractor-tests/generated/TraitAlias/TraitAlias_getCanonicalPath.ql f8491de4aa92f5d5f0ad4b91625f60a8d53eb3a02893b7f468dcf1e9065492a2 d2fad385018764ad9f962e1ec8e98b20286d4c2188ba975e5ec96b24cf747a6e
|
||||
test/extractor-tests/generated/TraitAlias/TraitAlias_getCrateOrigin.ql 303212122021da7f745050c5de76c756461e5c6e8f4b20e26c43aa63d821c2b6 fdbd024cbe13e34265505147c6faffd997e5c222386c3d9e719cd2a385bde51c
|
||||
test/extractor-tests/generated/TraitAlias/TraitAlias_getExtendedCanonicalPath.ql 601b6b0e5e7e7f2926626866085d9a4a9e31dc575791e9bd0019befc0e397193 9bd325414edc35364dba570f6eecc48a8e18c4cbff37d32e920859773c586319
|
||||
test/extractor-tests/generated/TraitAlias/TraitAlias_getGenericParamList.ql 5a40c1760fcf5074dc9e9efa1a543fc6223f4e5d2984923355802f91edb307e4 9fd7ab65c1d6affe19f96b1037ec3fb9381e90f602dd4611bb958048710601fa
|
||||
@@ -1067,15 +1139,17 @@ test/extractor-tests/generated/TupleFieldList/TupleFieldList.ql 7dc88440222ff036
|
||||
test/extractor-tests/generated/TupleFieldList/TupleFieldList_getField.ql ad552a9c0b9964d1770f14cabbb436db60ebedc3c569006542a8eae9ddb30f6d 3a8c49d629376a9b8326138836b05ee2366b1021ffd19f5be74ab023e70aa50d
|
||||
test/extractor-tests/generated/TuplePat/TuplePat.ql 24ee56bc848537da65eb8ecef71e84cc351a2aedcc31d6fb53a5b7865f15f7c2 81db1076e2e4921ceb50933b96cd7b574caab1818de257c1e9038f3f97447d59
|
||||
test/extractor-tests/generated/TuplePat/TuplePat_getField.ql f000bed41af031bc56d0705ce312abe7ab3dc6745b2936798c9938781e51475e f464a84dbc36aa371d60d6db68d6251f6b275dc4ecebdc56f195637be390b067
|
||||
test/extractor-tests/generated/TupleStructPat/TupleStructPat.ql 967409c7bddd7fc8d0b9fdfab2f5e6c82e8b4ff57020822aa0cda177244dfbc5 eaf0b7e56c38db60fafb39f8de75b67ee1099ac540fa92b5dfe84b601d31781a
|
||||
test/extractor-tests/generated/TupleStructPat/TupleStructPat.ql 4b3eebdef05fd2ccb3c4be56eee1e89a07775f45dbc82f69dc4096682674a187 84a6994f0c0dd313acf2b4c4c7066ee94af2db8d066c68d15b9c3955c98a2db4
|
||||
test/extractor-tests/generated/TupleStructPat/TupleStructPat_getField.ql f3f2e23cc2a32aa5abc1e0fda1300dab1693230632b9eaa75bb3b1e82ee9ea1a 24b87a39ec639a26ff8c1d04dc3429b72266b2a3b1650a06a7cd4387b6f0e615
|
||||
test/extractor-tests/generated/TupleStructPat/TupleStructPat_getPath.ql 13a06696bbf1fa8d5b73107e28cdba40e93da04b27f9c54381b78a52368d2ad1 5558c35ea9bb371ad90a5b374d7530dd1936f83e6ba656ebfbfd5bd63598e088
|
||||
test/extractor-tests/generated/TupleStructPat/TupleStructPat_getResolvedCanonicalPath.ql 91b4b1b562c33a07ff3007346c4cb9833149263dd196995b3b0e00894abb87f7 fa8c8d6b34277d53bf5ff211c54e1a634d0c215288185802fc3fbdd19c945f22
|
||||
test/extractor-tests/generated/TupleStructPat/TupleStructPat_getResolvedCrateOrigin.ql e409667233331a038e482de4b2669d9fac9d7eb0e3bd5580ea19828f0c4ed7ad 588e4628471f1004575900d7365490efcf9168b555ff26becfc3f27b9e657de3
|
||||
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 ae1e918dca09e31f64cd7c764b51fc61e3849d728cc8b63f15ad55c5c97fe755 c3b4fc5973b436b3c87d303cdaf93cfd7f91675d0e08ce405c51713b4bbd7607
|
||||
test/extractor-tests/generated/TypeAlias/TypeAlias_getAttr.ql ecf4b45ef4876e46252785d2e42b11207e65757cdb26e60decafd765e7b03b49 21bb4d635d3d38abd731b9ad1a2b871f8e0788f48a03e9572823abeea0ea9382
|
||||
test/extractor-tests/generated/TypeAlias/TypeAlias_getCanonicalPath.ql b0872bf645d780a2d3fa048b0e9958acab8453e177f571512e1f7963c466f5e0 c60a61b71f691132ffcc88d67038d7cdb0df5dee9940321f6e084845dd82e91d
|
||||
test/extractor-tests/generated/TypeAlias/TypeAlias_getCrateOrigin.ql cd66db5b43bcb46a6cf6db8c262fd524017ef67cdb67c010af61fab303e3bc65 2aebae618448530ec537709c5381359ea98399db83eeae3be88825ebefa1829d
|
||||
test/extractor-tests/generated/TypeAlias/TypeAlias_getExtendedCanonicalPath.ql fe9c4132e65b54eb071b779e508e9ed0081d860df20f8d4748332b45b7215fd5 448c10c3f8f785c380ce430996af4040419d8dccfa86f75253b6af83d2c8f1c9
|
||||
test/extractor-tests/generated/TypeAlias/TypeAlias_getGenericParamList.ql e7e936458dce5a8c6675485a49e2769b6dbff29c112ed744c880e0fc7ae740ef e5fcf3a33d2416db6b0a73401a3cbc0cece22d0e06794e01a1645f2b3bca9306
|
||||
@@ -1099,8 +1173,9 @@ 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 1049e542ca7723490d05e20b5a7a5867f74a5126395f333eae512aeb05efefd6 1f1cd82337e7ade9d02d16123201bbff62983c537672b5c1babfe6b65d300e82
|
||||
test/extractor-tests/generated/Union/Union.ql 3b1e67ab43881389cabcde0e8db4153c4b21b405130d0c21e6c753f0bcc5f5a5 3c049d0935668539b23c54a90f2c8f874cb8a070018b2c63208f979c5f41dd9c
|
||||
test/extractor-tests/generated/Union/Union_getAttr.ql 42fa0878a6566208863b1d884baf7b68b46089827fdb1dbbfacbfccf5966a9a2 54aa94f0281ca80d1a4bdb0e2240f4384af2ab8d50f251875d1877d0964579fc
|
||||
test/extractor-tests/generated/Union/Union_getCanonicalPath.ql a08fb3f3305be82ffca880bd66b6b938783b23d5d4ef5f404f79df27c306fa8f c435480ae375a559b02c1a459c04a95e7aaab617cf5168c14f634946bccdb1dc
|
||||
test/extractor-tests/generated/Union/Union_getCrateOrigin.ql c218308cf17b1490550229a725542d248617661b1a5fa14e9b0e18d29c5ecc00 e0489242c8ff7aa4dbfdebcd46a5e0d9bea0aa618eb0617e76b9b6f863a2907a
|
||||
test/extractor-tests/generated/Union/Union_getExtendedCanonicalPath.ql 6268ddb68c3e05906e3fc85e40635925b84e5c7290746ded9c6814d362033068 04473b3b9891012e95733463018db8da0e96659ea0b10458b33dc857c091d278
|
||||
test/extractor-tests/generated/Union/Union_getGenericParamList.ql c55156ae26b766e385be7d21e67f8c3c45c29274201c93d660077fcc47e1ceee 4c4d338e17c32876ef6e51fd19cff67d125dd89c10e939dfaadbac824bef6a68
|
||||
@@ -1108,8 +1183,9 @@ test/extractor-tests/generated/Union/Union_getName.ql 17247183e1a8c8bbb15e67120f
|
||||
test/extractor-tests/generated/Union/Union_getRecordFieldList.ql ded2890094adaa627be35f2a8335abbe5c1d4b5dcf1671f09f504546148cc02e 1f0d94a5c3259b8c39f2a78f1f9250655c6183a5277131a7f3de14126eee6d03
|
||||
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 b83d07a0650e9cd4a0bdf44e3912e80e504ae4d7824d614701e5b7e92b5b1bb9 4522d642a171d1783895a821b1292214e4a68bdc1edb94e61b930646fe0e7133
|
||||
test/extractor-tests/generated/Use/Use_getAttr.ql 6d43c25401398108553508aabb32ca476b3072060bb73eb07b1b60823a01f964 84e6f6953b4aa9a7472082f0a4f2df26ab1d157529ab2c661f0031603c94bb1d
|
||||
test/extractor-tests/generated/Use/Use_getCanonicalPath.ql 091e3cd46980ed847b9b2716ae53da0c62da7f3d5a040c112c77639bbd7f7335 924893d23c76c1c21228d5083a34991c40146f2f67be26e2648b7e33e2e3785d
|
||||
test/extractor-tests/generated/Use/Use_getCrateOrigin.ql 912ebc1089aa3390d4142a39ea73d5490eae525d1fb51654fdd05e9dd48a94b6 c59e36362016ae536421e6d517889cea0b2670818ea1f9e997796f51a9b381e2
|
||||
test/extractor-tests/generated/Use/Use_getExtendedCanonicalPath.ql ccfde95c861cf4199e688b6efeeee9dab58a27cfecd520e39cc20f89143c03c9 6ff93df4134667d7cb74ae7efe102fe2db3ad4c67b4b5a0f8955f21997806f16
|
||||
test/extractor-tests/generated/Use/Use_getUseTree.ql 1dfe6bb40b29fbf823d67fecfc36ba928b43f17c38227b8eedf19fa252edf3af aacdcc4cf418ef1eec267287d2af905fe73f5bcfb080ef5373d08da31c608720
|
||||
@@ -1120,8 +1196,9 @@ test/extractor-tests/generated/UseTree/UseTree_getRename.ql ec3917501f3c89ac4974
|
||||
test/extractor-tests/generated/UseTree/UseTree_getUseTreeList.ql c265a88347e813840969ae934dfd2904bc06f502de77709bc0b1c7255e46382a 52a239c8ea5fd8fbfbd606559d70ecadc769887437a9bcab6fb3e774208ad868
|
||||
test/extractor-tests/generated/UseTreeList/UseTreeList.ql cd943c15c86e66244caafeb95b960a5c3d351d5edbd506258744fb60a61af3b2 cfa584cd9d8aa08267fd1106745a66226b2c99fadd1da65059cc7ecf2f2e68cf
|
||||
test/extractor-tests/generated/UseTreeList/UseTreeList_getUseTree.ql dd72966b1cb7b04f0267503013809063fcfb145e2b2d7d5250d9f24d2e405f9a 75b953aa11c51ca0fe95e67d50d6238962d8df4a4b9054999a2c6338e5a5613d
|
||||
test/extractor-tests/generated/Variant/Variant.ql c60dd31adac91e09f8b1e5523d6b859747e64ef072c077b5a3326763f9f461f7 55d6446a3a831ed1137264678c5df027eb94cb3570a88d364994851fe6236999
|
||||
test/extractor-tests/generated/Variant/Variant.ql 374b0fd9e992acbdf2b58015681dcb9167bed4e2a64e4b22b8088f47ca2f8730 5af7e9b34b0e45bdee91a9cd4724805b2e9051df43c9e66fafc0f6dfc2b86d80
|
||||
test/extractor-tests/generated/Variant/Variant_getAttr.ql dd38e48e1eb05ce280b880652a90010eb63f7de3be7232411ba6265691249420 f8980680104de1e5fd40f264d8d62346aacaf6403a5e051f6fd680e234c82c1f
|
||||
test/extractor-tests/generated/Variant/Variant_getCanonicalPath.ql b8177f13ba56964ff621016395b7095daf3121fd21f6a5db5104f21c8d388774 64aae1b34f459bff5edf483ff4f7407bea218c12df7ed4e6d54974f6fc7a77bb
|
||||
test/extractor-tests/generated/Variant/Variant_getCrateOrigin.ql 99e79930f8ff87a25f256926e5c3ce1ee0847daf6fadc5445fb33c85328b4c61 2dd64a53813790654c83be25b5e175c9c5b388e758723c2138fff095353fdd7b
|
||||
test/extractor-tests/generated/Variant/Variant_getExpr.ql ce00af303d28f60c5fd1dc7df628c7974aced21884e223a2f656cb4f0d1a74d5 9de51a65510cf9a15801d4207b616915bd959c95ec7330fdb502c5dff5b650cc
|
||||
test/extractor-tests/generated/Variant/Variant_getExtendedCanonicalPath.ql fe6a4bfd1440e7629d47283910de84c5e8c2f5645512780e710f53540b5bc886 b1e31b765cb1a5fe063abb8c1b2115e881ae28aa3ccd39e088ff8f2af20d6cf4
|
||||
|
||||
81
rust/ql/.gitattributes
generated
vendored
81
rust/ql/.gitattributes
generated
vendored
@@ -174,6 +174,42 @@
|
||||
/lib/codeql/rust/elements/WildcardPat.qll linguist-generated
|
||||
/lib/codeql/rust/elements/YeetExpr.qll linguist-generated
|
||||
/lib/codeql/rust/elements/YieldExpr.qll linguist-generated
|
||||
/lib/codeql/rust/elements/canonical_paths/BuiltinTypeCanonicalPath.qll linguist-generated
|
||||
/lib/codeql/rust/elements/canonical_paths/CanonicalPath.qll linguist-generated
|
||||
/lib/codeql/rust/elements/canonical_paths/CanonicalPathElement.qll linguist-generated
|
||||
/lib/codeql/rust/elements/canonical_paths/ConcreteTypeCanonicalPath.qll linguist-generated
|
||||
/lib/codeql/rust/elements/canonical_paths/ConstGenericTypeArg.qll linguist-generated
|
||||
/lib/codeql/rust/elements/canonical_paths/CrateRoot.qll linguist-generated
|
||||
/lib/codeql/rust/elements/canonical_paths/DerivedTypeCanonicalPath.qll linguist-generated
|
||||
/lib/codeql/rust/elements/canonical_paths/ImplItemCanonicalPath.qll linguist-generated
|
||||
/lib/codeql/rust/elements/canonical_paths/LangCrateRoot.qll linguist-generated
|
||||
/lib/codeql/rust/elements/canonical_paths/ModuleItemCanonicalPath.qll linguist-generated
|
||||
/lib/codeql/rust/elements/canonical_paths/Namespace.qll linguist-generated
|
||||
/lib/codeql/rust/elements/canonical_paths/ParametrizedCanonicalPath.qll linguist-generated
|
||||
/lib/codeql/rust/elements/canonical_paths/PlaceholderTypeCanonicalPath.qll linguist-generated
|
||||
/lib/codeql/rust/elements/canonical_paths/RepoCrateRoot.qll linguist-generated
|
||||
/lib/codeql/rust/elements/canonical_paths/RustcCrateRoot.qll linguist-generated
|
||||
/lib/codeql/rust/elements/canonical_paths/TypeCanonicalPath.qll linguist-generated
|
||||
/lib/codeql/rust/elements/canonical_paths/TypeGenericArg.qll linguist-generated
|
||||
/lib/codeql/rust/elements/canonical_paths/TypeGenericTypeArg.qll linguist-generated
|
||||
/lib/codeql/rust/elements/canonical_paths/TypeItemCanonicalPath.qll linguist-generated
|
||||
/lib/codeql/rust/elements/canonical_paths/internal/BuiltinTypeCanonicalPathConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/canonical_paths/internal/BuiltinTypeCanonicalPathImpl.qll linguist-generated
|
||||
/lib/codeql/rust/elements/canonical_paths/internal/CanonicalPathImpl.qll linguist-generated
|
||||
/lib/codeql/rust/elements/canonical_paths/internal/ConcreteTypeCanonicalPathConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/canonical_paths/internal/ConstGenericTypeArgConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/canonical_paths/internal/DerivedTypeCanonicalPathConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/canonical_paths/internal/ImplItemCanonicalPathConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/canonical_paths/internal/LangCrateRootConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/canonical_paths/internal/ModuleItemCanonicalPathConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/canonical_paths/internal/NamespaceConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/canonical_paths/internal/ParametrizedCanonicalPathConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/canonical_paths/internal/PlaceholderTypeCanonicalPathConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/canonical_paths/internal/RepoCrateRootConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/canonical_paths/internal/RustcCrateRootConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/canonical_paths/internal/TypeCanonicalPathImpl.qll linguist-generated
|
||||
/lib/codeql/rust/elements/canonical_paths/internal/TypeGenericTypeArgConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/canonical_paths/internal/TypeItemCanonicalPathConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/AbiConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/AbiImpl.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/AddressableImpl.qll linguist-generated
|
||||
@@ -362,7 +398,6 @@
|
||||
/lib/codeql/rust/elements/internal/StmtListConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/StmtListImpl.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/StructConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/StructImpl.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/TokenImpl.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/TokenTreeConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/TokenTreeImpl.qll linguist-generated
|
||||
@@ -405,7 +440,6 @@
|
||||
/lib/codeql/rust/elements/internal/UseTreeListConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/UseTreeListImpl.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/VariantConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/VariantImpl.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/VariantListConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/VariantListImpl.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/VisibilityConstructor.qll linguist-generated
|
||||
@@ -600,6 +634,25 @@
|
||||
/lib/codeql/rust/elements/internal/generated/WildcardPat.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/generated/YeetExpr.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/generated/YieldExpr.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/generated/canonical_paths/BuiltinTypeCanonicalPath.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/generated/canonical_paths/CanonicalPath.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/generated/canonical_paths/CanonicalPathElement.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/generated/canonical_paths/ConcreteTypeCanonicalPath.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/generated/canonical_paths/ConstGenericTypeArg.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/generated/canonical_paths/CrateRoot.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/generated/canonical_paths/DerivedTypeCanonicalPath.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/generated/canonical_paths/ImplItemCanonicalPath.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/generated/canonical_paths/LangCrateRoot.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/generated/canonical_paths/ModuleItemCanonicalPath.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/generated/canonical_paths/Namespace.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/generated/canonical_paths/ParametrizedCanonicalPath.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/generated/canonical_paths/PlaceholderTypeCanonicalPath.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/generated/canonical_paths/RepoCrateRoot.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/generated/canonical_paths/RustcCrateRoot.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/generated/canonical_paths/TypeCanonicalPath.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/generated/canonical_paths/TypeGenericArg.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/generated/canonical_paths/TypeGenericTypeArg.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/generated/canonical_paths/TypeItemCanonicalPath.qll linguist-generated
|
||||
/lib/codeql/rust/elements.qll linguist-generated
|
||||
/test/extractor-tests/generated/Abi/Abi.ql linguist-generated
|
||||
/test/extractor-tests/generated/Abi/Abi_getAbiString.ql linguist-generated
|
||||
@@ -669,6 +722,7 @@
|
||||
/test/extractor-tests/generated/Const/Const.ql linguist-generated
|
||||
/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_getCanonicalPath.ql linguist-generated
|
||||
/test/extractor-tests/generated/Const/Const_getCrateOrigin.ql linguist-generated
|
||||
/test/extractor-tests/generated/Const/Const_getExtendedCanonicalPath.ql linguist-generated
|
||||
/test/extractor-tests/generated/Const/Const_getName.ql linguist-generated
|
||||
@@ -690,6 +744,7 @@
|
||||
/test/extractor-tests/generated/DynTraitTypeRepr/DynTraitTypeRepr_getTypeBoundList.ql linguist-generated
|
||||
/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_getCanonicalPath.ql linguist-generated
|
||||
/test/extractor-tests/generated/Enum/Enum_getCrateOrigin.ql linguist-generated
|
||||
/test/extractor-tests/generated/Enum/Enum_getExtendedCanonicalPath.ql linguist-generated
|
||||
/test/extractor-tests/generated/Enum/Enum_getGenericParamList.ql linguist-generated
|
||||
@@ -702,11 +757,13 @@
|
||||
/test/extractor-tests/generated/ExternBlock/ExternBlock.ql linguist-generated
|
||||
/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_getCanonicalPath.ql linguist-generated
|
||||
/test/extractor-tests/generated/ExternBlock/ExternBlock_getCrateOrigin.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_getCanonicalPath.ql linguist-generated
|
||||
/test/extractor-tests/generated/ExternCrate/ExternCrate_getCrateOrigin.ql linguist-generated
|
||||
/test/extractor-tests/generated/ExternCrate/ExternCrate_getExtendedCanonicalPath.ql linguist-generated
|
||||
/test/extractor-tests/generated/ExternCrate/ExternCrate_getNameRef.ql linguist-generated
|
||||
@@ -749,6 +806,7 @@
|
||||
/test/extractor-tests/generated/Function/Function_getAbi.ql linguist-generated
|
||||
/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_getCanonicalPath.ql linguist-generated
|
||||
/test/extractor-tests/generated/Function/Function_getCrateOrigin.ql linguist-generated
|
||||
/test/extractor-tests/generated/Function/Function_getExtendedCanonicalPath.ql linguist-generated
|
||||
/test/extractor-tests/generated/Function/Function_getGenericParamList.ql linguist-generated
|
||||
@@ -773,6 +831,7 @@
|
||||
/test/extractor-tests/generated/Impl/Impl.ql linguist-generated
|
||||
/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_getCanonicalPath.ql linguist-generated
|
||||
/test/extractor-tests/generated/Impl/Impl_getCrateOrigin.ql linguist-generated
|
||||
/test/extractor-tests/generated/Impl/Impl_getExtendedCanonicalPath.ql linguist-generated
|
||||
/test/extractor-tests/generated/Impl/Impl_getGenericParamList.ql linguist-generated
|
||||
@@ -823,6 +882,7 @@
|
||||
/test/extractor-tests/generated/LoopExpr/LoopExpr_getLoopBody.ql linguist-generated
|
||||
/test/extractor-tests/generated/MacroCall/MacroCall.ql linguist-generated
|
||||
/test/extractor-tests/generated/MacroCall/MacroCall_getAttr.ql linguist-generated
|
||||
/test/extractor-tests/generated/MacroCall/MacroCall_getCanonicalPath.ql linguist-generated
|
||||
/test/extractor-tests/generated/MacroCall/MacroCall_getCrateOrigin.ql linguist-generated
|
||||
/test/extractor-tests/generated/MacroCall/MacroCall_getExpanded.ql linguist-generated
|
||||
/test/extractor-tests/generated/MacroCall/MacroCall_getExtendedCanonicalPath.ql linguist-generated
|
||||
@@ -832,6 +892,7 @@
|
||||
/test/extractor-tests/generated/MacroDef/MacroDef_getArgs.ql linguist-generated
|
||||
/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_getCanonicalPath.ql linguist-generated
|
||||
/test/extractor-tests/generated/MacroDef/MacroDef_getCrateOrigin.ql linguist-generated
|
||||
/test/extractor-tests/generated/MacroDef/MacroDef_getExtendedCanonicalPath.ql linguist-generated
|
||||
/test/extractor-tests/generated/MacroDef/MacroDef_getName.ql linguist-generated
|
||||
@@ -844,6 +905,7 @@
|
||||
/test/extractor-tests/generated/MacroPat/MacroPat_getMacroCall.ql linguist-generated
|
||||
/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_getCanonicalPath.ql linguist-generated
|
||||
/test/extractor-tests/generated/MacroRules/MacroRules_getCrateOrigin.ql linguist-generated
|
||||
/test/extractor-tests/generated/MacroRules/MacroRules_getExtendedCanonicalPath.ql linguist-generated
|
||||
/test/extractor-tests/generated/MacroRules/MacroRules_getName.ql linguist-generated
|
||||
@@ -878,10 +940,12 @@
|
||||
/test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getGenericArgList.ql linguist-generated
|
||||
/test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getNameRef.ql linguist-generated
|
||||
/test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getReceiver.ql linguist-generated
|
||||
/test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getResolvedCanonicalPath.ql linguist-generated
|
||||
/test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getResolvedCrateOrigin.ql linguist-generated
|
||||
/test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getResolvedPath.ql linguist-generated
|
||||
/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_getCanonicalPath.ql linguist-generated
|
||||
/test/extractor-tests/generated/Module/Module_getCrateOrigin.ql linguist-generated
|
||||
/test/extractor-tests/generated/Module/Module_getExtendedCanonicalPath.ql linguist-generated
|
||||
/test/extractor-tests/generated/Module/Module_getItemList.ql linguist-generated
|
||||
@@ -916,10 +980,12 @@
|
||||
/test/extractor-tests/generated/Path/PathExpr.ql linguist-generated
|
||||
/test/extractor-tests/generated/Path/PathExpr_getAttr.ql linguist-generated
|
||||
/test/extractor-tests/generated/Path/PathExpr_getPath.ql linguist-generated
|
||||
/test/extractor-tests/generated/Path/PathExpr_getResolvedCanonicalPath.ql linguist-generated
|
||||
/test/extractor-tests/generated/Path/PathExpr_getResolvedCrateOrigin.ql linguist-generated
|
||||
/test/extractor-tests/generated/Path/PathExpr_getResolvedPath.ql linguist-generated
|
||||
/test/extractor-tests/generated/Path/PathPat.ql linguist-generated
|
||||
/test/extractor-tests/generated/Path/PathPat_getPath.ql linguist-generated
|
||||
/test/extractor-tests/generated/Path/PathPat_getResolvedCanonicalPath.ql linguist-generated
|
||||
/test/extractor-tests/generated/Path/PathPat_getResolvedCrateOrigin.ql linguist-generated
|
||||
/test/extractor-tests/generated/Path/PathPat_getResolvedPath.ql linguist-generated
|
||||
/test/extractor-tests/generated/Path/PathSegment.ql linguist-generated
|
||||
@@ -952,6 +1018,7 @@
|
||||
/test/extractor-tests/generated/RecordExpr/RecordExpr.ql linguist-generated
|
||||
/test/extractor-tests/generated/RecordExpr/RecordExpr_getPath.ql linguist-generated
|
||||
/test/extractor-tests/generated/RecordExpr/RecordExpr_getRecordExprFieldList.ql linguist-generated
|
||||
/test/extractor-tests/generated/RecordExpr/RecordExpr_getResolvedCanonicalPath.ql linguist-generated
|
||||
/test/extractor-tests/generated/RecordExpr/RecordExpr_getResolvedCrateOrigin.ql linguist-generated
|
||||
/test/extractor-tests/generated/RecordExpr/RecordExpr_getResolvedPath.ql linguist-generated
|
||||
/test/extractor-tests/generated/RecordExprField/RecordExprField.ql linguist-generated
|
||||
@@ -972,6 +1039,7 @@
|
||||
/test/extractor-tests/generated/RecordPat/RecordPat.ql linguist-generated
|
||||
/test/extractor-tests/generated/RecordPat/RecordPat_getPath.ql linguist-generated
|
||||
/test/extractor-tests/generated/RecordPat/RecordPat_getRecordPatFieldList.ql linguist-generated
|
||||
/test/extractor-tests/generated/RecordPat/RecordPat_getResolvedCanonicalPath.ql linguist-generated
|
||||
/test/extractor-tests/generated/RecordPat/RecordPat_getResolvedCrateOrigin.ql linguist-generated
|
||||
/test/extractor-tests/generated/RecordPat/RecordPat_getResolvedPath.ql linguist-generated
|
||||
/test/extractor-tests/generated/RecordPatField/RecordPatField.ql linguist-generated
|
||||
@@ -1014,6 +1082,7 @@
|
||||
/test/extractor-tests/generated/Static/Static.ql linguist-generated
|
||||
/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_getCanonicalPath.ql linguist-generated
|
||||
/test/extractor-tests/generated/Static/Static_getCrateOrigin.ql linguist-generated
|
||||
/test/extractor-tests/generated/Static/Static_getExtendedCanonicalPath.ql linguist-generated
|
||||
/test/extractor-tests/generated/Static/Static_getName.ql linguist-generated
|
||||
@@ -1025,6 +1094,7 @@
|
||||
/test/extractor-tests/generated/StmtList/StmtList_getTailExpr.ql linguist-generated
|
||||
/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_getCanonicalPath.ql linguist-generated
|
||||
/test/extractor-tests/generated/Struct/Struct_getCrateOrigin.ql linguist-generated
|
||||
/test/extractor-tests/generated/Struct/Struct_getExtendedCanonicalPath.ql linguist-generated
|
||||
/test/extractor-tests/generated/Struct/Struct_getFieldList.ql linguist-generated
|
||||
@@ -1039,6 +1109,7 @@
|
||||
/test/extractor-tests/generated/Trait/Trait.ql linguist-generated
|
||||
/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_getCanonicalPath.ql linguist-generated
|
||||
/test/extractor-tests/generated/Trait/Trait_getCrateOrigin.ql linguist-generated
|
||||
/test/extractor-tests/generated/Trait/Trait_getExtendedCanonicalPath.ql linguist-generated
|
||||
/test/extractor-tests/generated/Trait/Trait_getGenericParamList.ql linguist-generated
|
||||
@@ -1048,6 +1119,7 @@
|
||||
/test/extractor-tests/generated/Trait/Trait_getWhereClause.ql linguist-generated
|
||||
/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_getCanonicalPath.ql linguist-generated
|
||||
/test/extractor-tests/generated/TraitAlias/TraitAlias_getCrateOrigin.ql linguist-generated
|
||||
/test/extractor-tests/generated/TraitAlias/TraitAlias_getExtendedCanonicalPath.ql linguist-generated
|
||||
/test/extractor-tests/generated/TraitAlias/TraitAlias_getGenericParamList.ql linguist-generated
|
||||
@@ -1072,12 +1144,14 @@
|
||||
/test/extractor-tests/generated/TupleStructPat/TupleStructPat.ql linguist-generated
|
||||
/test/extractor-tests/generated/TupleStructPat/TupleStructPat_getField.ql linguist-generated
|
||||
/test/extractor-tests/generated/TupleStructPat/TupleStructPat_getPath.ql linguist-generated
|
||||
/test/extractor-tests/generated/TupleStructPat/TupleStructPat_getResolvedCanonicalPath.ql linguist-generated
|
||||
/test/extractor-tests/generated/TupleStructPat/TupleStructPat_getResolvedCrateOrigin.ql linguist-generated
|
||||
/test/extractor-tests/generated/TupleStructPat/TupleStructPat_getResolvedPath.ql linguist-generated
|
||||
/test/extractor-tests/generated/TupleTypeRepr/TupleTypeRepr.ql linguist-generated
|
||||
/test/extractor-tests/generated/TupleTypeRepr/TupleTypeRepr_getField.ql linguist-generated
|
||||
/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_getCanonicalPath.ql linguist-generated
|
||||
/test/extractor-tests/generated/TypeAlias/TypeAlias_getCrateOrigin.ql linguist-generated
|
||||
/test/extractor-tests/generated/TypeAlias/TypeAlias_getExtendedCanonicalPath.ql linguist-generated
|
||||
/test/extractor-tests/generated/TypeAlias/TypeAlias_getGenericParamList.ql linguist-generated
|
||||
@@ -1103,6 +1177,7 @@
|
||||
/test/extractor-tests/generated/UnderscoreExpr/UnderscoreExpr_getAttr.ql linguist-generated
|
||||
/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_getCanonicalPath.ql linguist-generated
|
||||
/test/extractor-tests/generated/Union/Union_getCrateOrigin.ql linguist-generated
|
||||
/test/extractor-tests/generated/Union/Union_getExtendedCanonicalPath.ql linguist-generated
|
||||
/test/extractor-tests/generated/Union/Union_getGenericParamList.ql linguist-generated
|
||||
@@ -1112,6 +1187,7 @@
|
||||
/test/extractor-tests/generated/Union/Union_getWhereClause.ql linguist-generated
|
||||
/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_getCanonicalPath.ql linguist-generated
|
||||
/test/extractor-tests/generated/Use/Use_getCrateOrigin.ql linguist-generated
|
||||
/test/extractor-tests/generated/Use/Use_getExtendedCanonicalPath.ql linguist-generated
|
||||
/test/extractor-tests/generated/Use/Use_getUseTree.ql linguist-generated
|
||||
@@ -1124,6 +1200,7 @@
|
||||
/test/extractor-tests/generated/UseTreeList/UseTreeList_getUseTree.ql linguist-generated
|
||||
/test/extractor-tests/generated/Variant/Variant.ql linguist-generated
|
||||
/test/extractor-tests/generated/Variant/Variant_getAttr.ql linguist-generated
|
||||
/test/extractor-tests/generated/Variant/Variant_getCanonicalPath.ql linguist-generated
|
||||
/test/extractor-tests/generated/Variant/Variant_getCrateOrigin.ql linguist-generated
|
||||
/test/extractor-tests/generated/Variant/Variant_getExpr.ql linguist-generated
|
||||
/test/extractor-tests/generated/Variant/Variant_getExtendedCanonicalPath.ql linguist-generated
|
||||
|
||||
19
rust/ql/lib/codeql/rust/elements.qll
generated
19
rust/ql/lib/codeql/rust/elements.qll
generated
@@ -177,3 +177,22 @@ import codeql.rust.elements.WhileExpr
|
||||
import codeql.rust.elements.WildcardPat
|
||||
import codeql.rust.elements.YeetExpr
|
||||
import codeql.rust.elements.YieldExpr
|
||||
import codeql.rust.elements.canonical_paths.BuiltinTypeCanonicalPath
|
||||
import codeql.rust.elements.canonical_paths.CanonicalPath
|
||||
import codeql.rust.elements.canonical_paths.CanonicalPathElement
|
||||
import codeql.rust.elements.canonical_paths.ConcreteTypeCanonicalPath
|
||||
import codeql.rust.elements.canonical_paths.ConstGenericTypeArg
|
||||
import codeql.rust.elements.canonical_paths.CrateRoot
|
||||
import codeql.rust.elements.canonical_paths.DerivedTypeCanonicalPath
|
||||
import codeql.rust.elements.canonical_paths.ImplItemCanonicalPath
|
||||
import codeql.rust.elements.canonical_paths.LangCrateRoot
|
||||
import codeql.rust.elements.canonical_paths.ModuleItemCanonicalPath
|
||||
import codeql.rust.elements.canonical_paths.Namespace
|
||||
import codeql.rust.elements.canonical_paths.ParametrizedCanonicalPath
|
||||
import codeql.rust.elements.canonical_paths.PlaceholderTypeCanonicalPath
|
||||
import codeql.rust.elements.canonical_paths.RepoCrateRoot
|
||||
import codeql.rust.elements.canonical_paths.RustcCrateRoot
|
||||
import codeql.rust.elements.canonical_paths.TypeCanonicalPath
|
||||
import codeql.rust.elements.canonical_paths.TypeGenericArg
|
||||
import codeql.rust.elements.canonical_paths.TypeGenericTypeArg
|
||||
import codeql.rust.elements.canonical_paths.TypeItemCanonicalPath
|
||||
|
||||
1
rust/ql/lib/codeql/rust/elements/Addressable.qll
generated
1
rust/ql/lib/codeql/rust/elements/Addressable.qll
generated
@@ -5,6 +5,7 @@
|
||||
|
||||
private import internal.AddressableImpl
|
||||
import codeql.rust.elements.AstNode
|
||||
import codeql.rust.elements.canonical_paths.CanonicalPath
|
||||
|
||||
/**
|
||||
* Something that can be addressed by a path.
|
||||
|
||||
1
rust/ql/lib/codeql/rust/elements/Resolvable.qll
generated
1
rust/ql/lib/codeql/rust/elements/Resolvable.qll
generated
@@ -5,6 +5,7 @@
|
||||
|
||||
private import internal.ResolvableImpl
|
||||
import codeql.rust.elements.AstNode
|
||||
import codeql.rust.elements.canonical_paths.CanonicalPath
|
||||
|
||||
/**
|
||||
* One of `PathExpr`, `RecordExpr`, `PathPat`, `RecordPat`, `TupleStructPat` or `MethodCallExpr`.
|
||||
|
||||
12
rust/ql/lib/codeql/rust/elements/canonical_paths/BuiltinTypeCanonicalPath.qll
generated
Normal file
12
rust/ql/lib/codeql/rust/elements/canonical_paths/BuiltinTypeCanonicalPath.qll
generated
Normal file
@@ -0,0 +1,12 @@
|
||||
// generated by codegen, do not edit
|
||||
/**
|
||||
* This module provides the public class `BuiltinTypeCanonicalPath`.
|
||||
*/
|
||||
|
||||
private import internal.BuiltinTypeCanonicalPathImpl
|
||||
import codeql.rust.elements.canonical_paths.TypeCanonicalPath
|
||||
|
||||
/**
|
||||
* A canonical path for a builtin type.
|
||||
*/
|
||||
final class BuiltinTypeCanonicalPath = Impl::BuiltinTypeCanonicalPath;
|
||||
12
rust/ql/lib/codeql/rust/elements/canonical_paths/CanonicalPath.qll
generated
Normal file
12
rust/ql/lib/codeql/rust/elements/canonical_paths/CanonicalPath.qll
generated
Normal file
@@ -0,0 +1,12 @@
|
||||
// generated by codegen, do not edit
|
||||
/**
|
||||
* This module provides the public class `CanonicalPath`.
|
||||
*/
|
||||
|
||||
private import internal.CanonicalPathImpl
|
||||
import codeql.rust.elements.canonical_paths.CanonicalPathElement
|
||||
|
||||
/**
|
||||
* The base class for all canonical paths that can be the result of a path resolution.
|
||||
*/
|
||||
final class CanonicalPath = Impl::CanonicalPath;
|
||||
12
rust/ql/lib/codeql/rust/elements/canonical_paths/CanonicalPathElement.qll
generated
Normal file
12
rust/ql/lib/codeql/rust/elements/canonical_paths/CanonicalPathElement.qll
generated
Normal file
@@ -0,0 +1,12 @@
|
||||
// generated by codegen, do not edit
|
||||
/**
|
||||
* This module provides the public class `CanonicalPathElement`.
|
||||
*/
|
||||
|
||||
private import internal.CanonicalPathElementImpl
|
||||
import codeql.rust.elements.Element
|
||||
|
||||
/**
|
||||
* The base class for all elements in a canonical path.
|
||||
*/
|
||||
final class CanonicalPathElement = Impl::CanonicalPathElement;
|
||||
13
rust/ql/lib/codeql/rust/elements/canonical_paths/ConcreteTypeCanonicalPath.qll
generated
Normal file
13
rust/ql/lib/codeql/rust/elements/canonical_paths/ConcreteTypeCanonicalPath.qll
generated
Normal file
@@ -0,0 +1,13 @@
|
||||
// generated by codegen, do not edit
|
||||
/**
|
||||
* This module provides the public class `ConcreteTypeCanonicalPath`.
|
||||
*/
|
||||
|
||||
private import internal.ConcreteTypeCanonicalPathImpl
|
||||
import codeql.rust.elements.canonical_paths.ParametrizedCanonicalPath
|
||||
import codeql.rust.elements.canonical_paths.TypeCanonicalPath
|
||||
|
||||
/**
|
||||
* A canonical path for an actual type.
|
||||
*/
|
||||
final class ConcreteTypeCanonicalPath = Impl::ConcreteTypeCanonicalPath;
|
||||
12
rust/ql/lib/codeql/rust/elements/canonical_paths/ConstGenericTypeArg.qll
generated
Normal file
12
rust/ql/lib/codeql/rust/elements/canonical_paths/ConstGenericTypeArg.qll
generated
Normal file
@@ -0,0 +1,12 @@
|
||||
// generated by codegen, do not edit
|
||||
/**
|
||||
* This module provides the public class `ConstGenericTypeArg`.
|
||||
*/
|
||||
|
||||
private import internal.ConstGenericTypeArgImpl
|
||||
import codeql.rust.elements.canonical_paths.TypeGenericArg
|
||||
|
||||
/**
|
||||
* A generic argument for a type that is a const.
|
||||
*/
|
||||
final class ConstGenericTypeArg = Impl::ConstGenericTypeArg;
|
||||
12
rust/ql/lib/codeql/rust/elements/canonical_paths/CrateRoot.qll
generated
Normal file
12
rust/ql/lib/codeql/rust/elements/canonical_paths/CrateRoot.qll
generated
Normal file
@@ -0,0 +1,12 @@
|
||||
// generated by codegen, do not edit
|
||||
/**
|
||||
* This module provides the public class `CrateRoot`.
|
||||
*/
|
||||
|
||||
private import internal.CrateRootImpl
|
||||
import codeql.rust.elements.canonical_paths.CanonicalPathElement
|
||||
|
||||
/**
|
||||
* The base class for all crate references.
|
||||
*/
|
||||
final class CrateRoot = Impl::CrateRoot;
|
||||
12
rust/ql/lib/codeql/rust/elements/canonical_paths/DerivedTypeCanonicalPath.qll
generated
Normal file
12
rust/ql/lib/codeql/rust/elements/canonical_paths/DerivedTypeCanonicalPath.qll
generated
Normal file
@@ -0,0 +1,12 @@
|
||||
// generated by codegen, do not edit
|
||||
/**
|
||||
* This module provides the public class `DerivedTypeCanonicalPath`.
|
||||
*/
|
||||
|
||||
private import internal.DerivedTypeCanonicalPathImpl
|
||||
import codeql.rust.elements.canonical_paths.TypeCanonicalPath
|
||||
|
||||
/**
|
||||
* A derived canonical type, like `[i32; 4]`, `&mut std::string::String` or `(i32, std::string::String)`.
|
||||
*/
|
||||
final class DerivedTypeCanonicalPath = Impl::DerivedTypeCanonicalPath;
|
||||
14
rust/ql/lib/codeql/rust/elements/canonical_paths/ImplItemCanonicalPath.qll
generated
Normal file
14
rust/ql/lib/codeql/rust/elements/canonical_paths/ImplItemCanonicalPath.qll
generated
Normal file
@@ -0,0 +1,14 @@
|
||||
// generated by codegen, do not edit
|
||||
/**
|
||||
* This module provides the public class `ImplItemCanonicalPath`.
|
||||
*/
|
||||
|
||||
private import internal.ImplItemCanonicalPathImpl
|
||||
import codeql.rust.elements.canonical_paths.CanonicalPath
|
||||
import codeql.rust.elements.canonical_paths.ParametrizedCanonicalPath
|
||||
import codeql.rust.elements.canonical_paths.TypeCanonicalPath
|
||||
|
||||
/**
|
||||
* A canonical path for an item defined in an impl (a method or associated type).
|
||||
*/
|
||||
final class ImplItemCanonicalPath = Impl::ImplItemCanonicalPath;
|
||||
12
rust/ql/lib/codeql/rust/elements/canonical_paths/LangCrateRoot.qll
generated
Normal file
12
rust/ql/lib/codeql/rust/elements/canonical_paths/LangCrateRoot.qll
generated
Normal file
@@ -0,0 +1,12 @@
|
||||
// generated by codegen, do not edit
|
||||
/**
|
||||
* This module provides the public class `LangCrateRoot`.
|
||||
*/
|
||||
|
||||
private import internal.LangCrateRootImpl
|
||||
import codeql.rust.elements.canonical_paths.CrateRoot
|
||||
|
||||
/**
|
||||
* A reference to a crate in the Rust standard libraries.
|
||||
*/
|
||||
final class LangCrateRoot = Impl::LangCrateRoot;
|
||||
13
rust/ql/lib/codeql/rust/elements/canonical_paths/ModuleItemCanonicalPath.qll
generated
Normal file
13
rust/ql/lib/codeql/rust/elements/canonical_paths/ModuleItemCanonicalPath.qll
generated
Normal file
@@ -0,0 +1,13 @@
|
||||
// generated by codegen, do not edit
|
||||
/**
|
||||
* This module provides the public class `ModuleItemCanonicalPath`.
|
||||
*/
|
||||
|
||||
private import internal.ModuleItemCanonicalPathImpl
|
||||
import codeql.rust.elements.canonical_paths.CanonicalPath
|
||||
import codeql.rust.elements.canonical_paths.Namespace
|
||||
|
||||
/**
|
||||
* A canonical path for an item defined in a module.
|
||||
*/
|
||||
final class ModuleItemCanonicalPath = Impl::ModuleItemCanonicalPath;
|
||||
13
rust/ql/lib/codeql/rust/elements/canonical_paths/Namespace.qll
generated
Normal file
13
rust/ql/lib/codeql/rust/elements/canonical_paths/Namespace.qll
generated
Normal file
@@ -0,0 +1,13 @@
|
||||
// generated by codegen, do not edit
|
||||
/**
|
||||
* This module provides the public class `Namespace`.
|
||||
*/
|
||||
|
||||
private import internal.NamespaceImpl
|
||||
import codeql.rust.elements.canonical_paths.CanonicalPath
|
||||
import codeql.rust.elements.canonical_paths.CrateRoot
|
||||
|
||||
/**
|
||||
* A namespace, comprised of a crate root and a possibly empty `::` separated module path.
|
||||
*/
|
||||
final class Namespace = Impl::Namespace;
|
||||
11
rust/ql/lib/codeql/rust/elements/canonical_paths/ParametrizedCanonicalPath.qll
generated
Normal file
11
rust/ql/lib/codeql/rust/elements/canonical_paths/ParametrizedCanonicalPath.qll
generated
Normal file
@@ -0,0 +1,11 @@
|
||||
// generated by codegen, do not edit
|
||||
/**
|
||||
* This module provides the public class `ParametrizedCanonicalPath`.
|
||||
*/
|
||||
|
||||
private import internal.ParametrizedCanonicalPathImpl
|
||||
import codeql.rust.elements.canonical_paths.CanonicalPath
|
||||
import codeql.rust.elements.canonical_paths.ModuleItemCanonicalPath
|
||||
import codeql.rust.elements.canonical_paths.TypeGenericArg
|
||||
|
||||
final class ParametrizedCanonicalPath = Impl::ParametrizedCanonicalPath;
|
||||
12
rust/ql/lib/codeql/rust/elements/canonical_paths/PlaceholderTypeCanonicalPath.qll
generated
Normal file
12
rust/ql/lib/codeql/rust/elements/canonical_paths/PlaceholderTypeCanonicalPath.qll
generated
Normal file
@@ -0,0 +1,12 @@
|
||||
// generated by codegen, do not edit
|
||||
/**
|
||||
* This module provides the public class `PlaceholderTypeCanonicalPath`.
|
||||
*/
|
||||
|
||||
private import internal.PlaceholderTypeCanonicalPathImpl
|
||||
import codeql.rust.elements.canonical_paths.TypeCanonicalPath
|
||||
|
||||
/**
|
||||
* A placeholder for a type parameter bound in an impl.
|
||||
*/
|
||||
final class PlaceholderTypeCanonicalPath = Impl::PlaceholderTypeCanonicalPath;
|
||||
13
rust/ql/lib/codeql/rust/elements/canonical_paths/RepoCrateRoot.qll
generated
Normal file
13
rust/ql/lib/codeql/rust/elements/canonical_paths/RepoCrateRoot.qll
generated
Normal file
@@ -0,0 +1,13 @@
|
||||
// generated by codegen, do not edit
|
||||
/**
|
||||
* This module provides the public class `RepoCrateRoot`.
|
||||
*/
|
||||
|
||||
private import internal.RepoCrateRootImpl
|
||||
import codeql.rust.elements.canonical_paths.CrateRoot
|
||||
import codeql.files.FileSystem
|
||||
|
||||
/**
|
||||
* A reference to a crate in the repository.
|
||||
*/
|
||||
final class RepoCrateRoot = Impl::RepoCrateRoot;
|
||||
12
rust/ql/lib/codeql/rust/elements/canonical_paths/RustcCrateRoot.qll
generated
Normal file
12
rust/ql/lib/codeql/rust/elements/canonical_paths/RustcCrateRoot.qll
generated
Normal file
@@ -0,0 +1,12 @@
|
||||
// generated by codegen, do not edit
|
||||
/**
|
||||
* This module provides the public class `RustcCrateRoot`.
|
||||
*/
|
||||
|
||||
private import internal.RustcCrateRootImpl
|
||||
import codeql.rust.elements.canonical_paths.CrateRoot
|
||||
|
||||
/**
|
||||
* A reference to a crate provided by rustc. TODO: understand where these come from.
|
||||
*/
|
||||
final class RustcCrateRoot = Impl::RustcCrateRoot;
|
||||
12
rust/ql/lib/codeql/rust/elements/canonical_paths/TypeCanonicalPath.qll
generated
Normal file
12
rust/ql/lib/codeql/rust/elements/canonical_paths/TypeCanonicalPath.qll
generated
Normal file
@@ -0,0 +1,12 @@
|
||||
// generated by codegen, do not edit
|
||||
/**
|
||||
* This module provides the public class `TypeCanonicalPath`.
|
||||
*/
|
||||
|
||||
private import internal.TypeCanonicalPathImpl
|
||||
import codeql.rust.elements.canonical_paths.CanonicalPath
|
||||
|
||||
/**
|
||||
* The base for canonical paths for types.
|
||||
*/
|
||||
final class TypeCanonicalPath = Impl::TypeCanonicalPath;
|
||||
12
rust/ql/lib/codeql/rust/elements/canonical_paths/TypeGenericArg.qll
generated
Normal file
12
rust/ql/lib/codeql/rust/elements/canonical_paths/TypeGenericArg.qll
generated
Normal file
@@ -0,0 +1,12 @@
|
||||
// generated by codegen, do not edit
|
||||
/**
|
||||
* This module provides the public class `TypeGenericArg`.
|
||||
*/
|
||||
|
||||
private import internal.TypeGenericArgImpl
|
||||
import codeql.rust.elements.canonical_paths.CanonicalPathElement
|
||||
|
||||
/**
|
||||
* A generic argument for a type.
|
||||
*/
|
||||
final class TypeGenericArg = Impl::TypeGenericArg;
|
||||
13
rust/ql/lib/codeql/rust/elements/canonical_paths/TypeGenericTypeArg.qll
generated
Normal file
13
rust/ql/lib/codeql/rust/elements/canonical_paths/TypeGenericTypeArg.qll
generated
Normal file
@@ -0,0 +1,13 @@
|
||||
// generated by codegen, do not edit
|
||||
/**
|
||||
* This module provides the public class `TypeGenericTypeArg`.
|
||||
*/
|
||||
|
||||
private import internal.TypeGenericTypeArgImpl
|
||||
import codeql.rust.elements.canonical_paths.TypeCanonicalPath
|
||||
import codeql.rust.elements.canonical_paths.TypeGenericArg
|
||||
|
||||
/**
|
||||
* A generic argument for a type that is a type.
|
||||
*/
|
||||
final class TypeGenericTypeArg = Impl::TypeGenericTypeArg;
|
||||
13
rust/ql/lib/codeql/rust/elements/canonical_paths/TypeItemCanonicalPath.qll
generated
Normal file
13
rust/ql/lib/codeql/rust/elements/canonical_paths/TypeItemCanonicalPath.qll
generated
Normal file
@@ -0,0 +1,13 @@
|
||||
// generated by codegen, do not edit
|
||||
/**
|
||||
* This module provides the public class `TypeItemCanonicalPath`.
|
||||
*/
|
||||
|
||||
private import internal.TypeItemCanonicalPathImpl
|
||||
import codeql.rust.elements.canonical_paths.CanonicalPath
|
||||
import codeql.rust.elements.canonical_paths.ModuleItemCanonicalPath
|
||||
|
||||
/**
|
||||
* A canonical path for an item defined in a type or trait.
|
||||
*/
|
||||
final class TypeItemCanonicalPath = Impl::TypeItemCanonicalPath;
|
||||
14
rust/ql/lib/codeql/rust/elements/canonical_paths/internal/BuiltinTypeCanonicalPathConstructor.qll
generated
Normal file
14
rust/ql/lib/codeql/rust/elements/canonical_paths/internal/BuiltinTypeCanonicalPathConstructor.qll
generated
Normal file
@@ -0,0 +1,14 @@
|
||||
// generated by codegen, remove this comment if you wish to edit this file
|
||||
/**
|
||||
* This module defines the hook used internally to tweak the characteristic predicate of
|
||||
* `BuiltinTypeCanonicalPath` synthesized instances.
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
|
||||
private import codeql.rust.elements.internal.generated.Raw
|
||||
|
||||
/**
|
||||
* The characteristic predicate of `BuiltinTypeCanonicalPath` synthesized instances.
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
predicate constructBuiltinTypeCanonicalPath(Raw::BuiltinTypeCanonicalPath id) { any() }
|
||||
19
rust/ql/lib/codeql/rust/elements/canonical_paths/internal/BuiltinTypeCanonicalPathImpl.qll
generated
Normal file
19
rust/ql/lib/codeql/rust/elements/canonical_paths/internal/BuiltinTypeCanonicalPathImpl.qll
generated
Normal file
@@ -0,0 +1,19 @@
|
||||
// generated by codegen, remove this comment if you wish to edit this file
|
||||
/**
|
||||
* This module provides a hand-modifiable wrapper around the generated class `BuiltinTypeCanonicalPath`.
|
||||
*
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
|
||||
private import codeql.rust.elements.internal.generated.canonical_paths.BuiltinTypeCanonicalPath
|
||||
|
||||
/**
|
||||
* INTERNAL: This module contains the customizable definition of `BuiltinTypeCanonicalPath` and should not
|
||||
* be referenced directly.
|
||||
*/
|
||||
module Impl {
|
||||
/**
|
||||
* A canonical path for a builtin type.
|
||||
*/
|
||||
class BuiltinTypeCanonicalPath extends Generated::BuiltinTypeCanonicalPath { }
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
/**
|
||||
* This module provides a hand-modifiable wrapper around the generated class `CanonicalPathElement`.
|
||||
*
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
|
||||
private import codeql.rust.elements.internal.generated.canonical_paths.CanonicalPathElement
|
||||
|
||||
/**
|
||||
* INTERNAL: This module contains the customizable definition of `CanonicalPathElement` and should not
|
||||
* be referenced directly.
|
||||
*/
|
||||
module Impl {
|
||||
// the following QLdoc is generated: if you need to edit it, do it in the schema file
|
||||
/**
|
||||
* The base class for all elements in a canonical path.
|
||||
*/
|
||||
class CanonicalPathElement extends Generated::CanonicalPathElement {
|
||||
override string toString() { result = "?" }
|
||||
}
|
||||
}
|
||||
19
rust/ql/lib/codeql/rust/elements/canonical_paths/internal/CanonicalPathImpl.qll
generated
Normal file
19
rust/ql/lib/codeql/rust/elements/canonical_paths/internal/CanonicalPathImpl.qll
generated
Normal file
@@ -0,0 +1,19 @@
|
||||
// generated by codegen, remove this comment if you wish to edit this file
|
||||
/**
|
||||
* This module provides a hand-modifiable wrapper around the generated class `CanonicalPath`.
|
||||
*
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
|
||||
private import codeql.rust.elements.internal.generated.canonical_paths.CanonicalPath
|
||||
|
||||
/**
|
||||
* INTERNAL: This module contains the customizable definition of `CanonicalPath` and should not
|
||||
* be referenced directly.
|
||||
*/
|
||||
module Impl {
|
||||
/**
|
||||
* The base class for all canonical paths that can be the result of a path resolution.
|
||||
*/
|
||||
class CanonicalPath extends Generated::CanonicalPath { }
|
||||
}
|
||||
14
rust/ql/lib/codeql/rust/elements/canonical_paths/internal/ConcreteTypeCanonicalPathConstructor.qll
generated
Normal file
14
rust/ql/lib/codeql/rust/elements/canonical_paths/internal/ConcreteTypeCanonicalPathConstructor.qll
generated
Normal file
@@ -0,0 +1,14 @@
|
||||
// generated by codegen, remove this comment if you wish to edit this file
|
||||
/**
|
||||
* This module defines the hook used internally to tweak the characteristic predicate of
|
||||
* `ConcreteTypeCanonicalPath` synthesized instances.
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
|
||||
private import codeql.rust.elements.internal.generated.Raw
|
||||
|
||||
/**
|
||||
* The characteristic predicate of `ConcreteTypeCanonicalPath` synthesized instances.
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
predicate constructConcreteTypeCanonicalPath(Raw::ConcreteTypeCanonicalPath id) { any() }
|
||||
@@ -0,0 +1,21 @@
|
||||
/**
|
||||
* This module provides a hand-modifiable wrapper around the generated class `ConcreteTypeCanonicalPath`.
|
||||
*
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
|
||||
private import codeql.rust.elements.internal.generated.canonical_paths.ConcreteTypeCanonicalPath
|
||||
|
||||
/**
|
||||
* INTERNAL: This module contains the customizable definition of `ConcreteTypeCanonicalPath` and should not
|
||||
* be referenced directly.
|
||||
*/
|
||||
module Impl {
|
||||
// the following QLdoc is generated: if you need to edit it, do it in the schema file
|
||||
/**
|
||||
* A canonical path for an actual type.
|
||||
*/
|
||||
class ConcreteTypeCanonicalPath extends Generated::ConcreteTypeCanonicalPath {
|
||||
override string toString() { result = this.getPath().toAbbreviatedString() }
|
||||
}
|
||||
}
|
||||
14
rust/ql/lib/codeql/rust/elements/canonical_paths/internal/ConstGenericTypeArgConstructor.qll
generated
Normal file
14
rust/ql/lib/codeql/rust/elements/canonical_paths/internal/ConstGenericTypeArgConstructor.qll
generated
Normal file
@@ -0,0 +1,14 @@
|
||||
// generated by codegen, remove this comment if you wish to edit this file
|
||||
/**
|
||||
* This module defines the hook used internally to tweak the characteristic predicate of
|
||||
* `ConstGenericTypeArg` synthesized instances.
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
|
||||
private import codeql.rust.elements.internal.generated.Raw
|
||||
|
||||
/**
|
||||
* The characteristic predicate of `ConstGenericTypeArg` synthesized instances.
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
predicate constructConstGenericTypeArg(Raw::ConstGenericTypeArg id) { any() }
|
||||
@@ -0,0 +1,23 @@
|
||||
/**
|
||||
* This module provides a hand-modifiable wrapper around the generated class `ConstGenericTypeArg`.
|
||||
*
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
|
||||
private import codeql.rust.elements.internal.generated.canonical_paths.ConstGenericTypeArg
|
||||
|
||||
/**
|
||||
* INTERNAL: This module contains the customizable definition of `ConstGenericTypeArg` and should not
|
||||
* be referenced directly.
|
||||
*/
|
||||
module Impl {
|
||||
// the following QLdoc is generated: if you need to edit it, do it in the schema file
|
||||
/**
|
||||
* A generic argument for a type that is a const.
|
||||
*/
|
||||
class ConstGenericTypeArg extends Generated::ConstGenericTypeArg {
|
||||
override string toString() { result = "const ?" }
|
||||
|
||||
override string toAbbreviatedString() { result = "?" }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
/**
|
||||
* This module provides a hand-modifiable wrapper around the generated class `CrateRoot`.
|
||||
*
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
|
||||
private import codeql.rust.elements.internal.generated.canonical_paths.CrateRoot
|
||||
|
||||
/**
|
||||
* INTERNAL: This module contains the customizable definition of `CrateRoot` and should not
|
||||
* be referenced directly.
|
||||
*/
|
||||
module Impl {
|
||||
// the following QLdoc is generated: if you need to edit it, do it in the schema file
|
||||
/**
|
||||
* The base class for all crate references.
|
||||
*/
|
||||
class CrateRoot extends Generated::CrateRoot {
|
||||
override string toString() { result = this.toAbbreviatedString() }
|
||||
}
|
||||
}
|
||||
14
rust/ql/lib/codeql/rust/elements/canonical_paths/internal/DerivedTypeCanonicalPathConstructor.qll
generated
Normal file
14
rust/ql/lib/codeql/rust/elements/canonical_paths/internal/DerivedTypeCanonicalPathConstructor.qll
generated
Normal file
@@ -0,0 +1,14 @@
|
||||
// generated by codegen, remove this comment if you wish to edit this file
|
||||
/**
|
||||
* This module defines the hook used internally to tweak the characteristic predicate of
|
||||
* `DerivedTypeCanonicalPath` synthesized instances.
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
|
||||
private import codeql.rust.elements.internal.generated.Raw
|
||||
|
||||
/**
|
||||
* The characteristic predicate of `DerivedTypeCanonicalPath` synthesized instances.
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
predicate constructDerivedTypeCanonicalPath(Raw::DerivedTypeCanonicalPath id) { any() }
|
||||
@@ -0,0 +1,25 @@
|
||||
/**
|
||||
* This module provides a hand-modifiable wrapper around the generated class `DerivedTypeCanonicalPath`.
|
||||
*
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
|
||||
private import codeql.rust.elements.internal.generated.canonical_paths.DerivedTypeCanonicalPath
|
||||
|
||||
/**
|
||||
* INTERNAL: This module contains the customizable definition of `DerivedTypeCanonicalPath` and should not
|
||||
* be referenced directly.
|
||||
*/
|
||||
module Impl {
|
||||
// the following QLdoc is generated: if you need to edit it, do it in the schema file
|
||||
/**
|
||||
* A derived canonical type, like `[i32; 4]`, `&mut std::string::String` or `(i32, std::string::String)`.
|
||||
*/
|
||||
class DerivedTypeCanonicalPath extends Generated::DerivedTypeCanonicalPath {
|
||||
override string toString() {
|
||||
result =
|
||||
this.getModifier() + "(" +
|
||||
strictconcat(int i | | this.getBase(i).toAbbreviatedString(), ", " order by i) + ")"
|
||||
}
|
||||
}
|
||||
}
|
||||
14
rust/ql/lib/codeql/rust/elements/canonical_paths/internal/ImplItemCanonicalPathConstructor.qll
generated
Normal file
14
rust/ql/lib/codeql/rust/elements/canonical_paths/internal/ImplItemCanonicalPathConstructor.qll
generated
Normal file
@@ -0,0 +1,14 @@
|
||||
// generated by codegen, remove this comment if you wish to edit this file
|
||||
/**
|
||||
* This module defines the hook used internally to tweak the characteristic predicate of
|
||||
* `ImplItemCanonicalPath` synthesized instances.
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
|
||||
private import codeql.rust.elements.internal.generated.Raw
|
||||
|
||||
/**
|
||||
* The characteristic predicate of `ImplItemCanonicalPath` synthesized instances.
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
predicate constructImplItemCanonicalPath(Raw::ImplItemCanonicalPath id) { any() }
|
||||
@@ -0,0 +1,30 @@
|
||||
/**
|
||||
* This module provides a hand-modifiable wrapper around the generated class `ImplItemCanonicalPath`.
|
||||
*
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
|
||||
private import codeql.rust.elements.internal.generated.canonical_paths.ImplItemCanonicalPath
|
||||
|
||||
/**
|
||||
* INTERNAL: This module contains the customizable definition of `ImplItemCanonicalPath` and should not
|
||||
* be referenced directly.
|
||||
*/
|
||||
module Impl {
|
||||
// the following QLdoc is generated: if you need to edit it, do it in the schema file
|
||||
/**
|
||||
* A canonical path for an item defined in an impl (a method or associated type).
|
||||
*/
|
||||
class ImplItemCanonicalPath extends Generated::ImplItemCanonicalPath {
|
||||
override string toString() {
|
||||
exists(string trait |
|
||||
(
|
||||
if this.hasTraitPath()
|
||||
then trait = " as " + this.getTraitPath().toAbbreviatedString()
|
||||
else trait = ""
|
||||
) and
|
||||
result = "<" + this.getTypePath().toAbbreviatedString() + trait + ">::" + this.getName()
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
14
rust/ql/lib/codeql/rust/elements/canonical_paths/internal/LangCrateRootConstructor.qll
generated
Normal file
14
rust/ql/lib/codeql/rust/elements/canonical_paths/internal/LangCrateRootConstructor.qll
generated
Normal file
@@ -0,0 +1,14 @@
|
||||
// generated by codegen, remove this comment if you wish to edit this file
|
||||
/**
|
||||
* This module defines the hook used internally to tweak the characteristic predicate of
|
||||
* `LangCrateRoot` synthesized instances.
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
|
||||
private import codeql.rust.elements.internal.generated.Raw
|
||||
|
||||
/**
|
||||
* The characteristic predicate of `LangCrateRoot` synthesized instances.
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
predicate constructLangCrateRoot(Raw::LangCrateRoot id) { any() }
|
||||
@@ -0,0 +1,21 @@
|
||||
/**
|
||||
* This module provides a hand-modifiable wrapper around the generated class `LangCrateRoot`.
|
||||
*
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
|
||||
private import codeql.rust.elements.internal.generated.canonical_paths.LangCrateRoot
|
||||
|
||||
/**
|
||||
* INTERNAL: This module contains the customizable definition of `LangCrateRoot` and should not
|
||||
* be referenced directly.
|
||||
*/
|
||||
module Impl {
|
||||
// the following QLdoc is generated: if you need to edit it, do it in the schema file
|
||||
/**
|
||||
* A reference to a crate in the Rust standard libraries.
|
||||
*/
|
||||
class LangCrateRoot extends Generated::LangCrateRoot {
|
||||
override string toAbbreviatedString() { result = this.getName() }
|
||||
}
|
||||
}
|
||||
14
rust/ql/lib/codeql/rust/elements/canonical_paths/internal/ModuleItemCanonicalPathConstructor.qll
generated
Normal file
14
rust/ql/lib/codeql/rust/elements/canonical_paths/internal/ModuleItemCanonicalPathConstructor.qll
generated
Normal file
@@ -0,0 +1,14 @@
|
||||
// generated by codegen, remove this comment if you wish to edit this file
|
||||
/**
|
||||
* This module defines the hook used internally to tweak the characteristic predicate of
|
||||
* `ModuleItemCanonicalPath` synthesized instances.
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
|
||||
private import codeql.rust.elements.internal.generated.Raw
|
||||
|
||||
/**
|
||||
* The characteristic predicate of `ModuleItemCanonicalPath` synthesized instances.
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
predicate constructModuleItemCanonicalPath(Raw::ModuleItemCanonicalPath id) { any() }
|
||||
@@ -0,0 +1,23 @@
|
||||
/**
|
||||
* This module provides a hand-modifiable wrapper around the generated class `ModuleItemCanonicalPath`.
|
||||
*
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
|
||||
private import codeql.rust.elements.internal.generated.canonical_paths.ModuleItemCanonicalPath
|
||||
|
||||
/**
|
||||
* INTERNAL: This module contains the customizable definition of `ModuleItemCanonicalPath` and should not
|
||||
* be referenced directly.
|
||||
*/
|
||||
module Impl {
|
||||
// the following QLdoc is generated: if you need to edit it, do it in the schema file
|
||||
/**
|
||||
* A canonical path for an item defined in a module.
|
||||
*/
|
||||
class ModuleItemCanonicalPath extends Generated::ModuleItemCanonicalPath {
|
||||
override string toString() {
|
||||
result = this.getNamespace().toAbbreviatedString() + "::" + this.getName()
|
||||
}
|
||||
}
|
||||
}
|
||||
14
rust/ql/lib/codeql/rust/elements/canonical_paths/internal/NamespaceConstructor.qll
generated
Normal file
14
rust/ql/lib/codeql/rust/elements/canonical_paths/internal/NamespaceConstructor.qll
generated
Normal file
@@ -0,0 +1,14 @@
|
||||
// generated by codegen, remove this comment if you wish to edit this file
|
||||
/**
|
||||
* This module defines the hook used internally to tweak the characteristic predicate of
|
||||
* `Namespace` synthesized instances.
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
|
||||
private import codeql.rust.elements.internal.generated.Raw
|
||||
|
||||
/**
|
||||
* The characteristic predicate of `Namespace` synthesized instances.
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
predicate constructNamespace(Raw::Namespace id) { any() }
|
||||
@@ -0,0 +1,26 @@
|
||||
/**
|
||||
* This module provides a hand-modifiable wrapper around the generated class `Namespace`.
|
||||
*
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
|
||||
private import codeql.rust.elements.internal.generated.canonical_paths.Namespace
|
||||
|
||||
/**
|
||||
* INTERNAL: This module contains the customizable definition of `Namespace` and should not
|
||||
* be referenced directly.
|
||||
*/
|
||||
module Impl {
|
||||
// the following QLdoc is generated: if you need to edit it, do it in the schema file
|
||||
/**
|
||||
* A namespace, comprised of a crate root and a possibly empty `::` separated module path.
|
||||
*/
|
||||
class Namespace extends Generated::Namespace {
|
||||
override string toString() {
|
||||
exists(string root |
|
||||
root = this.getRoot().toString() and
|
||||
if this.getPath() = "" then result = root else result = root + "::" + this.getPath()
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
14
rust/ql/lib/codeql/rust/elements/canonical_paths/internal/ParametrizedCanonicalPathConstructor.qll
generated
Normal file
14
rust/ql/lib/codeql/rust/elements/canonical_paths/internal/ParametrizedCanonicalPathConstructor.qll
generated
Normal file
@@ -0,0 +1,14 @@
|
||||
// generated by codegen, remove this comment if you wish to edit this file
|
||||
/**
|
||||
* This module defines the hook used internally to tweak the characteristic predicate of
|
||||
* `ParametrizedCanonicalPath` synthesized instances.
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
|
||||
private import codeql.rust.elements.internal.generated.Raw
|
||||
|
||||
/**
|
||||
* The characteristic predicate of `ParametrizedCanonicalPath` synthesized instances.
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
predicate constructParametrizedCanonicalPath(Raw::ParametrizedCanonicalPath id) { any() }
|
||||
@@ -0,0 +1,30 @@
|
||||
/**
|
||||
* This module provides a hand-modifiable wrapper around the generated class `ParametrizedCanonicalPath`.
|
||||
*
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
|
||||
private import codeql.rust.elements.internal.generated.canonical_paths.ParametrizedCanonicalPath
|
||||
|
||||
/**
|
||||
* INTERNAL: This module contains the customizable definition of `ParametrizedCanonicalPath` and should not
|
||||
* be referenced directly.
|
||||
*/
|
||||
module Impl {
|
||||
class ParametrizedCanonicalPath extends Generated::ParametrizedCanonicalPath {
|
||||
override string toString() {
|
||||
exists(string args |
|
||||
(
|
||||
if this.getNumberOfGenericArgs() > 0
|
||||
then
|
||||
args =
|
||||
"<" +
|
||||
strictconcat(int i | | this.getGenericArg(i).toAbbreviatedString(), ", " order by i)
|
||||
+ ">"
|
||||
else args = ""
|
||||
) and
|
||||
result = this.getBase().toAbbreviatedString() + args
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
// generated by codegen, remove this comment if you wish to edit this file
|
||||
/**
|
||||
* This module defines the hook used internally to tweak the characteristic predicate of
|
||||
* `PlaceholderTypeCanonicalPath` synthesized instances.
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
|
||||
private import codeql.rust.elements.internal.generated.Raw
|
||||
|
||||
/**
|
||||
* The characteristic predicate of `PlaceholderTypeCanonicalPath` synthesized instances.
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
predicate constructPlaceholderTypeCanonicalPath(Raw::PlaceholderTypeCanonicalPath id) { any() }
|
||||
@@ -0,0 +1,23 @@
|
||||
/**
|
||||
* This module provides a hand-modifiable wrapper around the generated class `PlaceholderTypeCanonicalPath`.
|
||||
*
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
|
||||
private import codeql.rust.elements.internal.generated.canonical_paths.PlaceholderTypeCanonicalPath
|
||||
|
||||
/**
|
||||
* INTERNAL: This module contains the customizable definition of `PlaceholderTypeCanonicalPath` and should not
|
||||
* be referenced directly.
|
||||
*/
|
||||
module Impl {
|
||||
// the following QLdoc is generated: if you need to edit it, do it in the schema file
|
||||
/**
|
||||
* A placeholder for a type parameter bound in an impl.
|
||||
*/
|
||||
class PlaceholderTypeCanonicalPath extends Generated::PlaceholderTypeCanonicalPath {
|
||||
override string toAbbreviatedString() { result = "_" }
|
||||
|
||||
override string toString() { result = "_" }
|
||||
}
|
||||
}
|
||||
14
rust/ql/lib/codeql/rust/elements/canonical_paths/internal/RepoCrateRootConstructor.qll
generated
Normal file
14
rust/ql/lib/codeql/rust/elements/canonical_paths/internal/RepoCrateRootConstructor.qll
generated
Normal file
@@ -0,0 +1,14 @@
|
||||
// generated by codegen, remove this comment if you wish to edit this file
|
||||
/**
|
||||
* This module defines the hook used internally to tweak the characteristic predicate of
|
||||
* `RepoCrateRoot` synthesized instances.
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
|
||||
private import codeql.rust.elements.internal.generated.Raw
|
||||
|
||||
/**
|
||||
* The characteristic predicate of `RepoCrateRoot` synthesized instances.
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
predicate constructRepoCrateRoot(Raw::RepoCrateRoot id) { any() }
|
||||
@@ -0,0 +1,25 @@
|
||||
/**
|
||||
* This module provides a hand-modifiable wrapper around the generated class `RepoCrateRoot`.
|
||||
*
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
|
||||
private import codeql.rust.elements.internal.generated.canonical_paths.RepoCrateRoot
|
||||
|
||||
/**
|
||||
* INTERNAL: This module contains the customizable definition of `RepoCrateRoot` and should not
|
||||
* be referenced directly.
|
||||
*/
|
||||
module Impl {
|
||||
// the following QLdoc is generated: if you need to edit it, do it in the schema file
|
||||
/**
|
||||
* A reference to a crate in the repository.
|
||||
*/
|
||||
class RepoCrateRoot extends Generated::RepoCrateRoot {
|
||||
override string toAbbreviatedString() {
|
||||
result = this.getName()
|
||||
or
|
||||
not this.hasName() and result = "<unnamed>"
|
||||
}
|
||||
}
|
||||
}
|
||||
14
rust/ql/lib/codeql/rust/elements/canonical_paths/internal/RustcCrateRootConstructor.qll
generated
Normal file
14
rust/ql/lib/codeql/rust/elements/canonical_paths/internal/RustcCrateRootConstructor.qll
generated
Normal file
@@ -0,0 +1,14 @@
|
||||
// generated by codegen, remove this comment if you wish to edit this file
|
||||
/**
|
||||
* This module defines the hook used internally to tweak the characteristic predicate of
|
||||
* `RustcCrateRoot` synthesized instances.
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
|
||||
private import codeql.rust.elements.internal.generated.Raw
|
||||
|
||||
/**
|
||||
* The characteristic predicate of `RustcCrateRoot` synthesized instances.
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
predicate constructRustcCrateRoot(Raw::RustcCrateRoot id) { any() }
|
||||
@@ -0,0 +1,21 @@
|
||||
/**
|
||||
* This module provides a hand-modifiable wrapper around the generated class `RustcCrateRoot`.
|
||||
*
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
|
||||
private import codeql.rust.elements.internal.generated.canonical_paths.RustcCrateRoot
|
||||
|
||||
/**
|
||||
* INTERNAL: This module contains the customizable definition of `RustcCrateRoot` and should not
|
||||
* be referenced directly.
|
||||
*/
|
||||
module Impl {
|
||||
// the following QLdoc is generated: if you need to edit it, do it in the schema file
|
||||
/**
|
||||
* A reference to a crate provided by rustc. TODO: understand where these come from.
|
||||
*/
|
||||
class RustcCrateRoot extends Generated::RustcCrateRoot {
|
||||
override string toAbbreviatedString() { result = this.getName() }
|
||||
}
|
||||
}
|
||||
19
rust/ql/lib/codeql/rust/elements/canonical_paths/internal/TypeCanonicalPathImpl.qll
generated
Normal file
19
rust/ql/lib/codeql/rust/elements/canonical_paths/internal/TypeCanonicalPathImpl.qll
generated
Normal file
@@ -0,0 +1,19 @@
|
||||
// generated by codegen, remove this comment if you wish to edit this file
|
||||
/**
|
||||
* This module provides a hand-modifiable wrapper around the generated class `TypeCanonicalPath`.
|
||||
*
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
|
||||
private import codeql.rust.elements.internal.generated.canonical_paths.TypeCanonicalPath
|
||||
|
||||
/**
|
||||
* INTERNAL: This module contains the customizable definition of `TypeCanonicalPath` and should not
|
||||
* be referenced directly.
|
||||
*/
|
||||
module Impl {
|
||||
/**
|
||||
* The base for canonical paths for types.
|
||||
*/
|
||||
class TypeCanonicalPath extends Generated::TypeCanonicalPath { }
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
/**
|
||||
* This module provides a hand-modifiable wrapper around the generated class `TypeGenericArg`.
|
||||
*
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
|
||||
private import codeql.rust.elements.internal.generated.canonical_paths.TypeGenericArg
|
||||
|
||||
/**
|
||||
* INTERNAL: This module contains the customizable definition of `TypeGenericArg` and should not
|
||||
* be referenced directly.
|
||||
*/
|
||||
module Impl {
|
||||
// the following QLdoc is generated: if you need to edit it, do it in the schema file
|
||||
/**
|
||||
* A generic argument for a type.
|
||||
*/
|
||||
class TypeGenericArg extends Generated::TypeGenericArg { }
|
||||
}
|
||||
14
rust/ql/lib/codeql/rust/elements/canonical_paths/internal/TypeGenericTypeArgConstructor.qll
generated
Normal file
14
rust/ql/lib/codeql/rust/elements/canonical_paths/internal/TypeGenericTypeArgConstructor.qll
generated
Normal file
@@ -0,0 +1,14 @@
|
||||
// generated by codegen, remove this comment if you wish to edit this file
|
||||
/**
|
||||
* This module defines the hook used internally to tweak the characteristic predicate of
|
||||
* `TypeGenericTypeArg` synthesized instances.
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
|
||||
private import codeql.rust.elements.internal.generated.Raw
|
||||
|
||||
/**
|
||||
* The characteristic predicate of `TypeGenericTypeArg` synthesized instances.
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
predicate constructTypeGenericTypeArg(Raw::TypeGenericTypeArg id) { any() }
|
||||
@@ -0,0 +1,21 @@
|
||||
/**
|
||||
* This module provides a hand-modifiable wrapper around the generated class `TypeGenericTypeArg`.
|
||||
*
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
|
||||
private import codeql.rust.elements.internal.generated.canonical_paths.TypeGenericTypeArg
|
||||
|
||||
/**
|
||||
* INTERNAL: This module contains the customizable definition of `TypeGenericTypeArg` and should not
|
||||
* be referenced directly.
|
||||
*/
|
||||
module Impl {
|
||||
// the following QLdoc is generated: if you need to edit it, do it in the schema file
|
||||
/**
|
||||
* A generic argument for a type that is a type.
|
||||
*/
|
||||
class TypeGenericTypeArg extends Generated::TypeGenericTypeArg {
|
||||
override string toString() { result = this.getPath().toAbbreviatedString() }
|
||||
}
|
||||
}
|
||||
14
rust/ql/lib/codeql/rust/elements/canonical_paths/internal/TypeItemCanonicalPathConstructor.qll
generated
Normal file
14
rust/ql/lib/codeql/rust/elements/canonical_paths/internal/TypeItemCanonicalPathConstructor.qll
generated
Normal file
@@ -0,0 +1,14 @@
|
||||
// generated by codegen, remove this comment if you wish to edit this file
|
||||
/**
|
||||
* This module defines the hook used internally to tweak the characteristic predicate of
|
||||
* `TypeItemCanonicalPath` synthesized instances.
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
|
||||
private import codeql.rust.elements.internal.generated.Raw
|
||||
|
||||
/**
|
||||
* The characteristic predicate of `TypeItemCanonicalPath` synthesized instances.
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
predicate constructTypeItemCanonicalPath(Raw::TypeItemCanonicalPath id) { any() }
|
||||
@@ -0,0 +1,23 @@
|
||||
/**
|
||||
* This module provides a hand-modifiable wrapper around the generated class `TypeItemCanonicalPath`.
|
||||
*
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
|
||||
private import codeql.rust.elements.internal.generated.canonical_paths.TypeItemCanonicalPath
|
||||
|
||||
/**
|
||||
* INTERNAL: This module contains the customizable definition of `TypeItemCanonicalPath` and should not
|
||||
* be referenced directly.
|
||||
*/
|
||||
module Impl {
|
||||
// the following QLdoc is generated: if you need to edit it, do it in the schema file
|
||||
/**
|
||||
* A canonical path for an item defined in a type or trait.
|
||||
*/
|
||||
class TypeItemCanonicalPath extends Generated::TypeItemCanonicalPath {
|
||||
override string toString() {
|
||||
result = this.getParent().toAbbreviatedString() + "::" + this.getName()
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,3 @@
|
||||
// generated by codegen, remove this comment if you wish to edit this file
|
||||
/**
|
||||
* This module provides a hand-modifiable wrapper around the generated class `Struct`.
|
||||
*
|
||||
@@ -12,11 +11,14 @@ private import codeql.rust.elements.internal.generated.Struct
|
||||
* be referenced directly.
|
||||
*/
|
||||
module Impl {
|
||||
// the following QLdoc is generated: if you need to edit it, do it in the schema file
|
||||
/**
|
||||
* A Struct. For example:
|
||||
* ```rust
|
||||
* todo!()
|
||||
* ```
|
||||
*/
|
||||
class Struct extends Generated::Struct { }
|
||||
class Struct extends Generated::Struct {
|
||||
override string toString() { result = "struct " + this.getName() }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
// generated by codegen, remove this comment if you wish to edit this file
|
||||
/**
|
||||
* This module provides a hand-modifiable wrapper around the generated class `Variant`.
|
||||
*
|
||||
@@ -6,17 +5,21 @@
|
||||
*/
|
||||
|
||||
private import codeql.rust.elements.internal.generated.Variant
|
||||
private import codeql.rust.elements.Enum
|
||||
|
||||
/**
|
||||
* INTERNAL: This module contains the customizable definition of `Variant` and should not
|
||||
* be referenced directly.
|
||||
*/
|
||||
module Impl {
|
||||
// the following QLdoc is generated: if you need to edit it, do it in the schema file
|
||||
/**
|
||||
* A Variant. For example:
|
||||
* ```rust
|
||||
* todo!()
|
||||
* ```
|
||||
*/
|
||||
class Variant extends Generated::Variant { }
|
||||
class Variant extends Generated::Variant {
|
||||
override string toString() { result = this.getName().getText() }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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.AstNodeImpl::Impl as AstNodeImpl
|
||||
import codeql.rust.elements.canonical_paths.CanonicalPath
|
||||
|
||||
/**
|
||||
* INTERNAL: This module contains the fully generated definition of `Addressable` and should not
|
||||
@@ -54,5 +55,23 @@ module Generated {
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
final predicate hasCrateOrigin() { exists(this.getCrateOrigin()) }
|
||||
|
||||
/**
|
||||
* Gets the canonical path of this addressable, if it exists.
|
||||
*
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
CanonicalPath getCanonicalPath() {
|
||||
result =
|
||||
Synth::convertCanonicalPathFromRaw(Synth::convertAddressableToRaw(this)
|
||||
.(Raw::Addressable)
|
||||
.getCanonicalPath())
|
||||
}
|
||||
|
||||
/**
|
||||
* Holds if `getCanonicalPath()` exists.
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
final predicate hasCanonicalPath() { exists(this.getCanonicalPath()) }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3739,6 +3739,302 @@ private module Impl {
|
||||
)
|
||||
}
|
||||
|
||||
private Element getImmediateChildOfCanonicalPathElement(
|
||||
CanonicalPathElement e, int index, string partialPredicateCall
|
||||
) {
|
||||
exists(int b, int bElement, int n |
|
||||
b = 0 and
|
||||
bElement = b + 1 + max(int i | i = -1 or exists(getImmediateChildOfElement(e, i, _)) | i) and
|
||||
n = bElement and
|
||||
(
|
||||
none()
|
||||
or
|
||||
result = getImmediateChildOfElement(e, index - b, partialPredicateCall)
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
private Element getImmediateChildOfCanonicalPath(
|
||||
CanonicalPath e, int index, string partialPredicateCall
|
||||
) {
|
||||
exists(int b, int bCanonicalPathElement, int n |
|
||||
b = 0 and
|
||||
bCanonicalPathElement =
|
||||
b + 1 + max(int i | i = -1 or exists(getImmediateChildOfCanonicalPathElement(e, i, _)) | i) and
|
||||
n = bCanonicalPathElement and
|
||||
(
|
||||
none()
|
||||
or
|
||||
result = getImmediateChildOfCanonicalPathElement(e, index - b, partialPredicateCall)
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
private Element getImmediateChildOfCrateRoot(CrateRoot e, int index, string partialPredicateCall) {
|
||||
exists(int b, int bCanonicalPathElement, int n |
|
||||
b = 0 and
|
||||
bCanonicalPathElement =
|
||||
b + 1 + max(int i | i = -1 or exists(getImmediateChildOfCanonicalPathElement(e, i, _)) | i) and
|
||||
n = bCanonicalPathElement and
|
||||
(
|
||||
none()
|
||||
or
|
||||
result = getImmediateChildOfCanonicalPathElement(e, index - b, partialPredicateCall)
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
private Element getImmediateChildOfTypeGenericArg(
|
||||
TypeGenericArg e, int index, string partialPredicateCall
|
||||
) {
|
||||
exists(int b, int bCanonicalPathElement, int n |
|
||||
b = 0 and
|
||||
bCanonicalPathElement =
|
||||
b + 1 + max(int i | i = -1 or exists(getImmediateChildOfCanonicalPathElement(e, i, _)) | i) and
|
||||
n = bCanonicalPathElement and
|
||||
(
|
||||
none()
|
||||
or
|
||||
result = getImmediateChildOfCanonicalPathElement(e, index - b, partialPredicateCall)
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
private Element getImmediateChildOfConstGenericTypeArg(
|
||||
ConstGenericTypeArg e, int index, string partialPredicateCall
|
||||
) {
|
||||
exists(int b, int bTypeGenericArg, int n |
|
||||
b = 0 and
|
||||
bTypeGenericArg =
|
||||
b + 1 + max(int i | i = -1 or exists(getImmediateChildOfTypeGenericArg(e, i, _)) | i) and
|
||||
n = bTypeGenericArg and
|
||||
(
|
||||
none()
|
||||
or
|
||||
result = getImmediateChildOfTypeGenericArg(e, index - b, partialPredicateCall)
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
private Element getImmediateChildOfImplItemCanonicalPath(
|
||||
ImplItemCanonicalPath e, int index, string partialPredicateCall
|
||||
) {
|
||||
exists(int b, int bCanonicalPath, int n |
|
||||
b = 0 and
|
||||
bCanonicalPath =
|
||||
b + 1 + max(int i | i = -1 or exists(getImmediateChildOfCanonicalPath(e, i, _)) | i) and
|
||||
n = bCanonicalPath and
|
||||
(
|
||||
none()
|
||||
or
|
||||
result = getImmediateChildOfCanonicalPath(e, index - b, partialPredicateCall)
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
private Element getImmediateChildOfLangCrateRoot(
|
||||
LangCrateRoot e, int index, string partialPredicateCall
|
||||
) {
|
||||
exists(int b, int bCrateRoot, int n |
|
||||
b = 0 and
|
||||
bCrateRoot = b + 1 + max(int i | i = -1 or exists(getImmediateChildOfCrateRoot(e, i, _)) | i) and
|
||||
n = bCrateRoot and
|
||||
(
|
||||
none()
|
||||
or
|
||||
result = getImmediateChildOfCrateRoot(e, index - b, partialPredicateCall)
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
private Element getImmediateChildOfModuleItemCanonicalPath(
|
||||
ModuleItemCanonicalPath e, int index, string partialPredicateCall
|
||||
) {
|
||||
exists(int b, int bCanonicalPath, int n |
|
||||
b = 0 and
|
||||
bCanonicalPath =
|
||||
b + 1 + max(int i | i = -1 or exists(getImmediateChildOfCanonicalPath(e, i, _)) | i) and
|
||||
n = bCanonicalPath and
|
||||
(
|
||||
none()
|
||||
or
|
||||
result = getImmediateChildOfCanonicalPath(e, index - b, partialPredicateCall)
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
private Element getImmediateChildOfNamespace(Namespace e, int index, string partialPredicateCall) {
|
||||
exists(int b, int bCanonicalPath, int n |
|
||||
b = 0 and
|
||||
bCanonicalPath =
|
||||
b + 1 + max(int i | i = -1 or exists(getImmediateChildOfCanonicalPath(e, i, _)) | i) and
|
||||
n = bCanonicalPath and
|
||||
(
|
||||
none()
|
||||
or
|
||||
result = getImmediateChildOfCanonicalPath(e, index - b, partialPredicateCall)
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
private Element getImmediateChildOfParametrizedCanonicalPath(
|
||||
ParametrizedCanonicalPath e, int index, string partialPredicateCall
|
||||
) {
|
||||
exists(int b, int bCanonicalPath, int n |
|
||||
b = 0 and
|
||||
bCanonicalPath =
|
||||
b + 1 + max(int i | i = -1 or exists(getImmediateChildOfCanonicalPath(e, i, _)) | i) and
|
||||
n = bCanonicalPath and
|
||||
(
|
||||
none()
|
||||
or
|
||||
result = getImmediateChildOfCanonicalPath(e, index - b, partialPredicateCall)
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
private Element getImmediateChildOfRepoCrateRoot(
|
||||
RepoCrateRoot e, int index, string partialPredicateCall
|
||||
) {
|
||||
exists(int b, int bCrateRoot, int n |
|
||||
b = 0 and
|
||||
bCrateRoot = b + 1 + max(int i | i = -1 or exists(getImmediateChildOfCrateRoot(e, i, _)) | i) and
|
||||
n = bCrateRoot and
|
||||
(
|
||||
none()
|
||||
or
|
||||
result = getImmediateChildOfCrateRoot(e, index - b, partialPredicateCall)
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
private Element getImmediateChildOfRustcCrateRoot(
|
||||
RustcCrateRoot e, int index, string partialPredicateCall
|
||||
) {
|
||||
exists(int b, int bCrateRoot, int n |
|
||||
b = 0 and
|
||||
bCrateRoot = b + 1 + max(int i | i = -1 or exists(getImmediateChildOfCrateRoot(e, i, _)) | i) and
|
||||
n = bCrateRoot and
|
||||
(
|
||||
none()
|
||||
or
|
||||
result = getImmediateChildOfCrateRoot(e, index - b, partialPredicateCall)
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
private Element getImmediateChildOfTypeCanonicalPath(
|
||||
TypeCanonicalPath e, int index, string partialPredicateCall
|
||||
) {
|
||||
exists(int b, int bCanonicalPath, int n |
|
||||
b = 0 and
|
||||
bCanonicalPath =
|
||||
b + 1 + max(int i | i = -1 or exists(getImmediateChildOfCanonicalPath(e, i, _)) | i) and
|
||||
n = bCanonicalPath and
|
||||
(
|
||||
none()
|
||||
or
|
||||
result = getImmediateChildOfCanonicalPath(e, index - b, partialPredicateCall)
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
private Element getImmediateChildOfTypeGenericTypeArg(
|
||||
TypeGenericTypeArg e, int index, string partialPredicateCall
|
||||
) {
|
||||
exists(int b, int bTypeGenericArg, int n |
|
||||
b = 0 and
|
||||
bTypeGenericArg =
|
||||
b + 1 + max(int i | i = -1 or exists(getImmediateChildOfTypeGenericArg(e, i, _)) | i) and
|
||||
n = bTypeGenericArg and
|
||||
(
|
||||
none()
|
||||
or
|
||||
result = getImmediateChildOfTypeGenericArg(e, index - b, partialPredicateCall)
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
private Element getImmediateChildOfTypeItemCanonicalPath(
|
||||
TypeItemCanonicalPath e, int index, string partialPredicateCall
|
||||
) {
|
||||
exists(int b, int bCanonicalPath, int n |
|
||||
b = 0 and
|
||||
bCanonicalPath =
|
||||
b + 1 + max(int i | i = -1 or exists(getImmediateChildOfCanonicalPath(e, i, _)) | i) and
|
||||
n = bCanonicalPath and
|
||||
(
|
||||
none()
|
||||
or
|
||||
result = getImmediateChildOfCanonicalPath(e, index - b, partialPredicateCall)
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
private Element getImmediateChildOfBuiltinTypeCanonicalPath(
|
||||
BuiltinTypeCanonicalPath e, int index, string partialPredicateCall
|
||||
) {
|
||||
exists(int b, int bTypeCanonicalPath, int n |
|
||||
b = 0 and
|
||||
bTypeCanonicalPath =
|
||||
b + 1 + max(int i | i = -1 or exists(getImmediateChildOfTypeCanonicalPath(e, i, _)) | i) and
|
||||
n = bTypeCanonicalPath and
|
||||
(
|
||||
none()
|
||||
or
|
||||
result = getImmediateChildOfTypeCanonicalPath(e, index - b, partialPredicateCall)
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
private Element getImmediateChildOfConcreteTypeCanonicalPath(
|
||||
ConcreteTypeCanonicalPath e, int index, string partialPredicateCall
|
||||
) {
|
||||
exists(int b, int bTypeCanonicalPath, int n |
|
||||
b = 0 and
|
||||
bTypeCanonicalPath =
|
||||
b + 1 + max(int i | i = -1 or exists(getImmediateChildOfTypeCanonicalPath(e, i, _)) | i) and
|
||||
n = bTypeCanonicalPath and
|
||||
(
|
||||
none()
|
||||
or
|
||||
result = getImmediateChildOfTypeCanonicalPath(e, index - b, partialPredicateCall)
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
private Element getImmediateChildOfDerivedTypeCanonicalPath(
|
||||
DerivedTypeCanonicalPath e, int index, string partialPredicateCall
|
||||
) {
|
||||
exists(int b, int bTypeCanonicalPath, int n |
|
||||
b = 0 and
|
||||
bTypeCanonicalPath =
|
||||
b + 1 + max(int i | i = -1 or exists(getImmediateChildOfTypeCanonicalPath(e, i, _)) | i) and
|
||||
n = bTypeCanonicalPath and
|
||||
(
|
||||
none()
|
||||
or
|
||||
result = getImmediateChildOfTypeCanonicalPath(e, index - b, partialPredicateCall)
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
private Element getImmediateChildOfPlaceholderTypeCanonicalPath(
|
||||
PlaceholderTypeCanonicalPath e, int index, string partialPredicateCall
|
||||
) {
|
||||
exists(int b, int bTypeCanonicalPath, int n |
|
||||
b = 0 and
|
||||
bTypeCanonicalPath =
|
||||
b + 1 + max(int i | i = -1 or exists(getImmediateChildOfTypeCanonicalPath(e, i, _)) | i) and
|
||||
n = bTypeCanonicalPath and
|
||||
(
|
||||
none()
|
||||
or
|
||||
result = getImmediateChildOfTypeCanonicalPath(e, index - b, partialPredicateCall)
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
cached
|
||||
Element getImmediateChild(Element e, int index, string partialAccessor) {
|
||||
// why does this look more complicated than it should?
|
||||
@@ -4044,6 +4340,34 @@ private module Impl {
|
||||
result = getImmediateChildOfLoopExpr(e, index, partialAccessor)
|
||||
or
|
||||
result = getImmediateChildOfWhileExpr(e, index, partialAccessor)
|
||||
or
|
||||
result = getImmediateChildOfConstGenericTypeArg(e, index, partialAccessor)
|
||||
or
|
||||
result = getImmediateChildOfImplItemCanonicalPath(e, index, partialAccessor)
|
||||
or
|
||||
result = getImmediateChildOfLangCrateRoot(e, index, partialAccessor)
|
||||
or
|
||||
result = getImmediateChildOfModuleItemCanonicalPath(e, index, partialAccessor)
|
||||
or
|
||||
result = getImmediateChildOfNamespace(e, index, partialAccessor)
|
||||
or
|
||||
result = getImmediateChildOfParametrizedCanonicalPath(e, index, partialAccessor)
|
||||
or
|
||||
result = getImmediateChildOfRepoCrateRoot(e, index, partialAccessor)
|
||||
or
|
||||
result = getImmediateChildOfRustcCrateRoot(e, index, partialAccessor)
|
||||
or
|
||||
result = getImmediateChildOfTypeGenericTypeArg(e, index, partialAccessor)
|
||||
or
|
||||
result = getImmediateChildOfTypeItemCanonicalPath(e, index, partialAccessor)
|
||||
or
|
||||
result = getImmediateChildOfBuiltinTypeCanonicalPath(e, index, partialAccessor)
|
||||
or
|
||||
result = getImmediateChildOfConcreteTypeCanonicalPath(e, index, partialAccessor)
|
||||
or
|
||||
result = getImmediateChildOfDerivedTypeCanonicalPath(e, index, partialAccessor)
|
||||
or
|
||||
result = getImmediateChildOfPlaceholderTypeCanonicalPath(e, index, partialAccessor)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -107,6 +107,11 @@ module Raw {
|
||||
* One of `rustc:<name>`, `repo:<repository>:<name>` or `lang:<name>`.
|
||||
*/
|
||||
string getCrateOrigin() { addressable_crate_origins(this, result) }
|
||||
|
||||
/**
|
||||
* Gets the canonical path of this addressable, if it exists.
|
||||
*/
|
||||
CanonicalPath getCanonicalPath() { addressable_canonical_paths(this, result) }
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -839,6 +844,11 @@ module Raw {
|
||||
* Gets the resolved crate origin of this resolvable, if it exists.
|
||||
*/
|
||||
string getResolvedCrateOrigin() { resolvable_resolved_crate_origins(this, result) }
|
||||
|
||||
/**
|
||||
* Gets the resolved canonical path of this resolvable, if it exists.
|
||||
*/
|
||||
CanonicalPath getResolvedCanonicalPath() { resolvable_resolved_canonical_paths(this, result) }
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -3958,4 +3968,257 @@ module Raw {
|
||||
*/
|
||||
Expr getCondition() { while_expr_conditions(this, result) }
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* The base class for all elements in a canonical path.
|
||||
*/
|
||||
class CanonicalPathElement extends @canonical_path_element, Element { }
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* The base class for all canonical paths that can be the result of a path resolution.
|
||||
*/
|
||||
class CanonicalPath extends @canonical_path, CanonicalPathElement { }
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* The base class for all crate references.
|
||||
*/
|
||||
class CrateRoot extends @crate_root, CanonicalPathElement { }
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* A generic argument for a type.
|
||||
*/
|
||||
class TypeGenericArg extends @type_generic_arg, CanonicalPathElement { }
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* A generic argument for a type that is a const.
|
||||
*/
|
||||
class ConstGenericTypeArg extends @const_generic_type_arg, TypeGenericArg {
|
||||
override string toString() { result = "ConstGenericTypeArg" }
|
||||
|
||||
/**
|
||||
* Gets the value of this const generic type argument.
|
||||
*/
|
||||
string getValue() { const_generic_type_args(this, result) }
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* A canonical path for an item defined in an impl (a method or associated type).
|
||||
*/
|
||||
class ImplItemCanonicalPath extends @impl_item_canonical_path, CanonicalPath {
|
||||
override string toString() { result = "ImplItemCanonicalPath" }
|
||||
|
||||
/**
|
||||
* Gets the type path of this impl item canonical path.
|
||||
*/
|
||||
TypeCanonicalPath getTypePath() { impl_item_canonical_paths(this, result, _) }
|
||||
|
||||
/**
|
||||
* Gets the trait path of this impl item canonical path, if it exists.
|
||||
*/
|
||||
ParametrizedCanonicalPath getTraitPath() { impl_item_canonical_path_trait_paths(this, result) }
|
||||
|
||||
/**
|
||||
* Gets the name of this impl item canonical path.
|
||||
*/
|
||||
string getName() { impl_item_canonical_paths(this, _, result) }
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* A reference to a crate in the Rust standard libraries.
|
||||
*/
|
||||
class LangCrateRoot extends @lang_crate_root, CrateRoot {
|
||||
override string toString() { result = "LangCrateRoot" }
|
||||
|
||||
/**
|
||||
* Gets the name of this lang crate root.
|
||||
*/
|
||||
string getName() { lang_crate_roots(this, result) }
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* A canonical path for an item defined in a module.
|
||||
*/
|
||||
class ModuleItemCanonicalPath extends @module_item_canonical_path, CanonicalPath {
|
||||
override string toString() { result = "ModuleItemCanonicalPath" }
|
||||
|
||||
/**
|
||||
* Gets the namespace of this module item canonical path.
|
||||
*/
|
||||
Namespace getNamespace() { module_item_canonical_paths(this, result, _) }
|
||||
|
||||
/**
|
||||
* Gets the name of this module item canonical path.
|
||||
*/
|
||||
string getName() { module_item_canonical_paths(this, _, result) }
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* A namespace, comprised of a crate root and a possibly empty `::` separated module path.
|
||||
*/
|
||||
class Namespace extends @namespace, CanonicalPath {
|
||||
override string toString() { result = "Namespace" }
|
||||
|
||||
/**
|
||||
* Gets the root of this namespace.
|
||||
*/
|
||||
CrateRoot getRoot() { namespaces(this, result, _) }
|
||||
|
||||
/**
|
||||
* Gets the path of this namespace.
|
||||
*/
|
||||
string getPath() { namespaces(this, _, result) }
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
class ParametrizedCanonicalPath extends @parametrized_canonical_path, CanonicalPath {
|
||||
override string toString() { result = "ParametrizedCanonicalPath" }
|
||||
|
||||
/**
|
||||
* Gets the base of this parametrized canonical path.
|
||||
*/
|
||||
ModuleItemCanonicalPath getBase() { parametrized_canonical_paths(this, result) }
|
||||
|
||||
/**
|
||||
* Gets the `index`th generic argument of this parametrized canonical path (0-based).
|
||||
*/
|
||||
TypeGenericArg getGenericArg(int index) {
|
||||
parametrized_canonical_path_generic_args(this, index, result)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* A reference to a crate in the repository.
|
||||
*/
|
||||
class RepoCrateRoot extends @repo_crate_root, CrateRoot {
|
||||
override string toString() { result = "RepoCrateRoot" }
|
||||
|
||||
/**
|
||||
* Gets the name of this repo crate root, if it exists.
|
||||
*/
|
||||
string getName() { repo_crate_root_names(this, result) }
|
||||
|
||||
/**
|
||||
* Gets the repo of this repo crate root, if it exists.
|
||||
*/
|
||||
string getRepo() { repo_crate_root_repos(this, result) }
|
||||
|
||||
/**
|
||||
* Gets the source of this repo crate root.
|
||||
*/
|
||||
File getSource() { repo_crate_roots(this, result) }
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* A reference to a crate provided by rustc. TODO: understand where these come from.
|
||||
*/
|
||||
class RustcCrateRoot extends @rustc_crate_root, CrateRoot {
|
||||
override string toString() { result = "RustcCrateRoot" }
|
||||
|
||||
/**
|
||||
* Gets the name of this rustc crate root.
|
||||
*/
|
||||
string getName() { rustc_crate_roots(this, result) }
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* The base for canonical paths for types.
|
||||
*/
|
||||
class TypeCanonicalPath extends @type_canonical_path, CanonicalPath { }
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* A generic argument for a type that is a type.
|
||||
*/
|
||||
class TypeGenericTypeArg extends @type_generic_type_arg, TypeGenericArg {
|
||||
override string toString() { result = "TypeGenericTypeArg" }
|
||||
|
||||
/**
|
||||
* Gets the path of this type generic type argument.
|
||||
*/
|
||||
TypeCanonicalPath getPath() { type_generic_type_args(this, result) }
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* A canonical path for an item defined in a type or trait.
|
||||
*/
|
||||
class TypeItemCanonicalPath extends @type_item_canonical_path, CanonicalPath {
|
||||
override string toString() { result = "TypeItemCanonicalPath" }
|
||||
|
||||
/**
|
||||
* Gets the parent of this type item canonical path.
|
||||
*/
|
||||
ModuleItemCanonicalPath getParent() { type_item_canonical_paths(this, result, _) }
|
||||
|
||||
/**
|
||||
* Gets the name of this type item canonical path.
|
||||
*/
|
||||
string getName() { type_item_canonical_paths(this, _, result) }
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* A canonical path for a builtin type.
|
||||
*/
|
||||
class BuiltinTypeCanonicalPath extends @builtin_type_canonical_path, TypeCanonicalPath {
|
||||
override string toString() { result = "BuiltinTypeCanonicalPath" }
|
||||
|
||||
/**
|
||||
* Gets the name of this builtin type canonical path.
|
||||
*/
|
||||
string getName() { builtin_type_canonical_paths(this, result) }
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* A canonical path for an actual type.
|
||||
*/
|
||||
class ConcreteTypeCanonicalPath extends @concrete_type_canonical_path, TypeCanonicalPath {
|
||||
override string toString() { result = "ConcreteTypeCanonicalPath" }
|
||||
|
||||
/**
|
||||
* Gets the path of this concrete type canonical path.
|
||||
*/
|
||||
ParametrizedCanonicalPath getPath() { concrete_type_canonical_paths(this, result) }
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* A derived canonical type, like `[i32; 4]`, `&mut std::string::String` or `(i32, std::string::String)`.
|
||||
*/
|
||||
class DerivedTypeCanonicalPath extends @derived_type_canonical_path, TypeCanonicalPath {
|
||||
override string toString() { result = "DerivedTypeCanonicalPath" }
|
||||
|
||||
/**
|
||||
* Gets the modifier of this derived type canonical path.
|
||||
*/
|
||||
string getModifier() { derived_type_canonical_paths(this, result) }
|
||||
|
||||
/**
|
||||
* Gets the `index`th base of this derived type canonical path (0-based).
|
||||
*/
|
||||
TypeCanonicalPath getBase(int index) { derived_type_canonical_path_bases(this, index, result) }
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* A placeholder for a type parameter bound in an impl.
|
||||
*/
|
||||
class PlaceholderTypeCanonicalPath extends @placeholder_type_canonical_path, TypeCanonicalPath {
|
||||
override string toString() { result = "PlaceholderTypeCanonicalPath" }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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.AstNodeImpl::Impl as AstNodeImpl
|
||||
import codeql.rust.elements.canonical_paths.CanonicalPath
|
||||
|
||||
/**
|
||||
* INTERNAL: This module contains the fully generated definition of `Resolvable` and should not
|
||||
@@ -48,5 +49,23 @@ module Generated {
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
final predicate hasResolvedCrateOrigin() { exists(this.getResolvedCrateOrigin()) }
|
||||
|
||||
/**
|
||||
* Gets the resolved canonical path of this resolvable, if it exists.
|
||||
*
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
CanonicalPath getResolvedCanonicalPath() {
|
||||
result =
|
||||
Synth::convertCanonicalPathFromRaw(Synth::convertResolvableToRaw(this)
|
||||
.(Raw::Resolvable)
|
||||
.getResolvedCanonicalPath())
|
||||
}
|
||||
|
||||
/**
|
||||
* Holds if `getResolvedCanonicalPath()` exists.
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
final predicate hasResolvedCanonicalPath() { exists(this.getResolvedCanonicalPath()) }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -621,7 +621,75 @@ module Synth {
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
TYieldExpr(Raw::YieldExpr id) { constructYieldExpr(id) }
|
||||
TYieldExpr(Raw::YieldExpr id) { constructYieldExpr(id) } or
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
TBuiltinTypeCanonicalPath(Raw::BuiltinTypeCanonicalPath id) {
|
||||
constructBuiltinTypeCanonicalPath(id)
|
||||
} or
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
TConcreteTypeCanonicalPath(Raw::ConcreteTypeCanonicalPath id) {
|
||||
constructConcreteTypeCanonicalPath(id)
|
||||
} or
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
TConstGenericTypeArg(Raw::ConstGenericTypeArg id) { constructConstGenericTypeArg(id) } or
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
TDerivedTypeCanonicalPath(Raw::DerivedTypeCanonicalPath id) {
|
||||
constructDerivedTypeCanonicalPath(id)
|
||||
} or
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
TImplItemCanonicalPath(Raw::ImplItemCanonicalPath id) { constructImplItemCanonicalPath(id) } or
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
TLangCrateRoot(Raw::LangCrateRoot id) { constructLangCrateRoot(id) } or
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
TModuleItemCanonicalPath(Raw::ModuleItemCanonicalPath id) {
|
||||
constructModuleItemCanonicalPath(id)
|
||||
} or
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
TNamespace(Raw::Namespace id) { constructNamespace(id) } or
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
TParametrizedCanonicalPath(Raw::ParametrizedCanonicalPath id) {
|
||||
constructParametrizedCanonicalPath(id)
|
||||
} or
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
TPlaceholderTypeCanonicalPath(Raw::PlaceholderTypeCanonicalPath id) {
|
||||
constructPlaceholderTypeCanonicalPath(id)
|
||||
} or
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
TRepoCrateRoot(Raw::RepoCrateRoot id) { constructRepoCrateRoot(id) } or
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
TRustcCrateRoot(Raw::RustcCrateRoot id) { constructRustcCrateRoot(id) } or
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
TTypeGenericTypeArg(Raw::TypeGenericTypeArg id) { constructTypeGenericTypeArg(id) } or
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
TTypeItemCanonicalPath(Raw::TypeItemCanonicalPath id) { constructTypeItemCanonicalPath(id) }
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
@@ -768,6 +836,35 @@ module Synth {
|
||||
*/
|
||||
class TUnextracted = TMissing or TUnimplemented;
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
class TCanonicalPath =
|
||||
TImplItemCanonicalPath or TModuleItemCanonicalPath or TNamespace or
|
||||
TParametrizedCanonicalPath or TTypeCanonicalPath or TTypeItemCanonicalPath;
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
class TCanonicalPathElement = TCanonicalPath or TCrateRoot or TTypeGenericArg;
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
class TCrateRoot = TLangCrateRoot or TRepoCrateRoot or TRustcCrateRoot;
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
class TTypeCanonicalPath =
|
||||
TBuiltinTypeCanonicalPath or TConcreteTypeCanonicalPath or TDerivedTypeCanonicalPath or
|
||||
TPlaceholderTypeCanonicalPath;
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
class TTypeGenericArg = TConstGenericTypeArg or TTypeGenericTypeArg;
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a raw element to a synthesized `TAbi`, if possible.
|
||||
@@ -1678,6 +1775,110 @@ module Synth {
|
||||
*/
|
||||
TYieldExpr convertYieldExprFromRaw(Raw::Element e) { result = TYieldExpr(e) }
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a raw element to a synthesized `TBuiltinTypeCanonicalPath`, if possible.
|
||||
*/
|
||||
TBuiltinTypeCanonicalPath convertBuiltinTypeCanonicalPathFromRaw(Raw::Element e) {
|
||||
result = TBuiltinTypeCanonicalPath(e)
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a raw element to a synthesized `TConcreteTypeCanonicalPath`, if possible.
|
||||
*/
|
||||
TConcreteTypeCanonicalPath convertConcreteTypeCanonicalPathFromRaw(Raw::Element e) {
|
||||
result = TConcreteTypeCanonicalPath(e)
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a raw element to a synthesized `TConstGenericTypeArg`, if possible.
|
||||
*/
|
||||
TConstGenericTypeArg convertConstGenericTypeArgFromRaw(Raw::Element e) {
|
||||
result = TConstGenericTypeArg(e)
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a raw element to a synthesized `TDerivedTypeCanonicalPath`, if possible.
|
||||
*/
|
||||
TDerivedTypeCanonicalPath convertDerivedTypeCanonicalPathFromRaw(Raw::Element e) {
|
||||
result = TDerivedTypeCanonicalPath(e)
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a raw element to a synthesized `TImplItemCanonicalPath`, if possible.
|
||||
*/
|
||||
TImplItemCanonicalPath convertImplItemCanonicalPathFromRaw(Raw::Element e) {
|
||||
result = TImplItemCanonicalPath(e)
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a raw element to a synthesized `TLangCrateRoot`, if possible.
|
||||
*/
|
||||
TLangCrateRoot convertLangCrateRootFromRaw(Raw::Element e) { result = TLangCrateRoot(e) }
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a raw element to a synthesized `TModuleItemCanonicalPath`, if possible.
|
||||
*/
|
||||
TModuleItemCanonicalPath convertModuleItemCanonicalPathFromRaw(Raw::Element e) {
|
||||
result = TModuleItemCanonicalPath(e)
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a raw element to a synthesized `TNamespace`, if possible.
|
||||
*/
|
||||
TNamespace convertNamespaceFromRaw(Raw::Element e) { result = TNamespace(e) }
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a raw element to a synthesized `TParametrizedCanonicalPath`, if possible.
|
||||
*/
|
||||
TParametrizedCanonicalPath convertParametrizedCanonicalPathFromRaw(Raw::Element e) {
|
||||
result = TParametrizedCanonicalPath(e)
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a raw element to a synthesized `TPlaceholderTypeCanonicalPath`, if possible.
|
||||
*/
|
||||
TPlaceholderTypeCanonicalPath convertPlaceholderTypeCanonicalPathFromRaw(Raw::Element e) {
|
||||
result = TPlaceholderTypeCanonicalPath(e)
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a raw element to a synthesized `TRepoCrateRoot`, if possible.
|
||||
*/
|
||||
TRepoCrateRoot convertRepoCrateRootFromRaw(Raw::Element e) { result = TRepoCrateRoot(e) }
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a raw element to a synthesized `TRustcCrateRoot`, if possible.
|
||||
*/
|
||||
TRustcCrateRoot convertRustcCrateRootFromRaw(Raw::Element e) { result = TRustcCrateRoot(e) }
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a raw element to a synthesized `TTypeGenericTypeArg`, if possible.
|
||||
*/
|
||||
TTypeGenericTypeArg convertTypeGenericTypeArgFromRaw(Raw::Element e) {
|
||||
result = TTypeGenericTypeArg(e)
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a raw element to a synthesized `TTypeItemCanonicalPath`, if possible.
|
||||
*/
|
||||
TTypeItemCanonicalPath convertTypeItemCanonicalPathFromRaw(Raw::Element e) {
|
||||
result = TTypeItemCanonicalPath(e)
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a raw DB element to a synthesized `TAddressable`, if possible.
|
||||
@@ -1859,6 +2060,8 @@ module Synth {
|
||||
* Converts a raw DB element to a synthesized `TElement`, if possible.
|
||||
*/
|
||||
TElement convertElementFromRaw(Raw::Element e) {
|
||||
result = convertCanonicalPathElementFromRaw(e)
|
||||
or
|
||||
result = convertExtractorStepFromRaw(e)
|
||||
or
|
||||
result = convertLocatableFromRaw(e)
|
||||
@@ -2208,6 +2411,72 @@ module Synth {
|
||||
result = convertUnimplementedFromRaw(e)
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a raw DB element to a synthesized `TCanonicalPath`, if possible.
|
||||
*/
|
||||
TCanonicalPath convertCanonicalPathFromRaw(Raw::Element e) {
|
||||
result = convertImplItemCanonicalPathFromRaw(e)
|
||||
or
|
||||
result = convertModuleItemCanonicalPathFromRaw(e)
|
||||
or
|
||||
result = convertNamespaceFromRaw(e)
|
||||
or
|
||||
result = convertParametrizedCanonicalPathFromRaw(e)
|
||||
or
|
||||
result = convertTypeCanonicalPathFromRaw(e)
|
||||
or
|
||||
result = convertTypeItemCanonicalPathFromRaw(e)
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a raw DB element to a synthesized `TCanonicalPathElement`, if possible.
|
||||
*/
|
||||
TCanonicalPathElement convertCanonicalPathElementFromRaw(Raw::Element e) {
|
||||
result = convertCanonicalPathFromRaw(e)
|
||||
or
|
||||
result = convertCrateRootFromRaw(e)
|
||||
or
|
||||
result = convertTypeGenericArgFromRaw(e)
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a raw DB element to a synthesized `TCrateRoot`, if possible.
|
||||
*/
|
||||
TCrateRoot convertCrateRootFromRaw(Raw::Element e) {
|
||||
result = convertLangCrateRootFromRaw(e)
|
||||
or
|
||||
result = convertRepoCrateRootFromRaw(e)
|
||||
or
|
||||
result = convertRustcCrateRootFromRaw(e)
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a raw DB element to a synthesized `TTypeCanonicalPath`, if possible.
|
||||
*/
|
||||
TTypeCanonicalPath convertTypeCanonicalPathFromRaw(Raw::Element e) {
|
||||
result = convertBuiltinTypeCanonicalPathFromRaw(e)
|
||||
or
|
||||
result = convertConcreteTypeCanonicalPathFromRaw(e)
|
||||
or
|
||||
result = convertDerivedTypeCanonicalPathFromRaw(e)
|
||||
or
|
||||
result = convertPlaceholderTypeCanonicalPathFromRaw(e)
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a raw DB element to a synthesized `TTypeGenericArg`, if possible.
|
||||
*/
|
||||
TTypeGenericArg convertTypeGenericArgFromRaw(Raw::Element e) {
|
||||
result = convertConstGenericTypeArgFromRaw(e)
|
||||
or
|
||||
result = convertTypeGenericTypeArgFromRaw(e)
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a synthesized `TAbi` to a raw DB element, if possible.
|
||||
@@ -3116,6 +3385,110 @@ module Synth {
|
||||
*/
|
||||
Raw::Element convertYieldExprToRaw(TYieldExpr e) { e = TYieldExpr(result) }
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a synthesized `TBuiltinTypeCanonicalPath` to a raw DB element, if possible.
|
||||
*/
|
||||
Raw::Element convertBuiltinTypeCanonicalPathToRaw(TBuiltinTypeCanonicalPath e) {
|
||||
e = TBuiltinTypeCanonicalPath(result)
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a synthesized `TConcreteTypeCanonicalPath` to a raw DB element, if possible.
|
||||
*/
|
||||
Raw::Element convertConcreteTypeCanonicalPathToRaw(TConcreteTypeCanonicalPath e) {
|
||||
e = TConcreteTypeCanonicalPath(result)
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a synthesized `TConstGenericTypeArg` to a raw DB element, if possible.
|
||||
*/
|
||||
Raw::Element convertConstGenericTypeArgToRaw(TConstGenericTypeArg e) {
|
||||
e = TConstGenericTypeArg(result)
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a synthesized `TDerivedTypeCanonicalPath` to a raw DB element, if possible.
|
||||
*/
|
||||
Raw::Element convertDerivedTypeCanonicalPathToRaw(TDerivedTypeCanonicalPath e) {
|
||||
e = TDerivedTypeCanonicalPath(result)
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a synthesized `TImplItemCanonicalPath` to a raw DB element, if possible.
|
||||
*/
|
||||
Raw::Element convertImplItemCanonicalPathToRaw(TImplItemCanonicalPath e) {
|
||||
e = TImplItemCanonicalPath(result)
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a synthesized `TLangCrateRoot` to a raw DB element, if possible.
|
||||
*/
|
||||
Raw::Element convertLangCrateRootToRaw(TLangCrateRoot e) { e = TLangCrateRoot(result) }
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a synthesized `TModuleItemCanonicalPath` to a raw DB element, if possible.
|
||||
*/
|
||||
Raw::Element convertModuleItemCanonicalPathToRaw(TModuleItemCanonicalPath e) {
|
||||
e = TModuleItemCanonicalPath(result)
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a synthesized `TNamespace` to a raw DB element, if possible.
|
||||
*/
|
||||
Raw::Element convertNamespaceToRaw(TNamespace e) { e = TNamespace(result) }
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a synthesized `TParametrizedCanonicalPath` to a raw DB element, if possible.
|
||||
*/
|
||||
Raw::Element convertParametrizedCanonicalPathToRaw(TParametrizedCanonicalPath e) {
|
||||
e = TParametrizedCanonicalPath(result)
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a synthesized `TPlaceholderTypeCanonicalPath` to a raw DB element, if possible.
|
||||
*/
|
||||
Raw::Element convertPlaceholderTypeCanonicalPathToRaw(TPlaceholderTypeCanonicalPath e) {
|
||||
e = TPlaceholderTypeCanonicalPath(result)
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a synthesized `TRepoCrateRoot` to a raw DB element, if possible.
|
||||
*/
|
||||
Raw::Element convertRepoCrateRootToRaw(TRepoCrateRoot e) { e = TRepoCrateRoot(result) }
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a synthesized `TRustcCrateRoot` to a raw DB element, if possible.
|
||||
*/
|
||||
Raw::Element convertRustcCrateRootToRaw(TRustcCrateRoot e) { e = TRustcCrateRoot(result) }
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a synthesized `TTypeGenericTypeArg` to a raw DB element, if possible.
|
||||
*/
|
||||
Raw::Element convertTypeGenericTypeArgToRaw(TTypeGenericTypeArg e) {
|
||||
e = TTypeGenericTypeArg(result)
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a synthesized `TTypeItemCanonicalPath` to a raw DB element, if possible.
|
||||
*/
|
||||
Raw::Element convertTypeItemCanonicalPathToRaw(TTypeItemCanonicalPath e) {
|
||||
e = TTypeItemCanonicalPath(result)
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a synthesized `TAddressable` to a raw DB element, if possible.
|
||||
@@ -3297,6 +3670,8 @@ module Synth {
|
||||
* Converts a synthesized `TElement` to a raw DB element, if possible.
|
||||
*/
|
||||
Raw::Element convertElementToRaw(TElement e) {
|
||||
result = convertCanonicalPathElementToRaw(e)
|
||||
or
|
||||
result = convertExtractorStepToRaw(e)
|
||||
or
|
||||
result = convertLocatableToRaw(e)
|
||||
@@ -3645,4 +4020,70 @@ module Synth {
|
||||
or
|
||||
result = convertUnimplementedToRaw(e)
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a synthesized `TCanonicalPath` to a raw DB element, if possible.
|
||||
*/
|
||||
Raw::Element convertCanonicalPathToRaw(TCanonicalPath e) {
|
||||
result = convertImplItemCanonicalPathToRaw(e)
|
||||
or
|
||||
result = convertModuleItemCanonicalPathToRaw(e)
|
||||
or
|
||||
result = convertNamespaceToRaw(e)
|
||||
or
|
||||
result = convertParametrizedCanonicalPathToRaw(e)
|
||||
or
|
||||
result = convertTypeCanonicalPathToRaw(e)
|
||||
or
|
||||
result = convertTypeItemCanonicalPathToRaw(e)
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a synthesized `TCanonicalPathElement` to a raw DB element, if possible.
|
||||
*/
|
||||
Raw::Element convertCanonicalPathElementToRaw(TCanonicalPathElement e) {
|
||||
result = convertCanonicalPathToRaw(e)
|
||||
or
|
||||
result = convertCrateRootToRaw(e)
|
||||
or
|
||||
result = convertTypeGenericArgToRaw(e)
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a synthesized `TCrateRoot` to a raw DB element, if possible.
|
||||
*/
|
||||
Raw::Element convertCrateRootToRaw(TCrateRoot e) {
|
||||
result = convertLangCrateRootToRaw(e)
|
||||
or
|
||||
result = convertRepoCrateRootToRaw(e)
|
||||
or
|
||||
result = convertRustcCrateRootToRaw(e)
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a synthesized `TTypeCanonicalPath` to a raw DB element, if possible.
|
||||
*/
|
||||
Raw::Element convertTypeCanonicalPathToRaw(TTypeCanonicalPath e) {
|
||||
result = convertBuiltinTypeCanonicalPathToRaw(e)
|
||||
or
|
||||
result = convertConcreteTypeCanonicalPathToRaw(e)
|
||||
or
|
||||
result = convertDerivedTypeCanonicalPathToRaw(e)
|
||||
or
|
||||
result = convertPlaceholderTypeCanonicalPathToRaw(e)
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a synthesized `TTypeGenericArg` to a raw DB element, if possible.
|
||||
*/
|
||||
Raw::Element convertTypeGenericArgToRaw(TTypeGenericArg e) {
|
||||
result = convertConstGenericTypeArgToRaw(e)
|
||||
or
|
||||
result = convertTypeGenericTypeArgToRaw(e)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -153,3 +153,17 @@ import codeql.rust.elements.internal.WhileExprConstructor
|
||||
import codeql.rust.elements.internal.WildcardPatConstructor
|
||||
import codeql.rust.elements.internal.YeetExprConstructor
|
||||
import codeql.rust.elements.internal.YieldExprConstructor
|
||||
import codeql.rust.elements.canonical_paths.internal.BuiltinTypeCanonicalPathConstructor
|
||||
import codeql.rust.elements.canonical_paths.internal.ConcreteTypeCanonicalPathConstructor
|
||||
import codeql.rust.elements.canonical_paths.internal.ConstGenericTypeArgConstructor
|
||||
import codeql.rust.elements.canonical_paths.internal.DerivedTypeCanonicalPathConstructor
|
||||
import codeql.rust.elements.canonical_paths.internal.ImplItemCanonicalPathConstructor
|
||||
import codeql.rust.elements.canonical_paths.internal.LangCrateRootConstructor
|
||||
import codeql.rust.elements.canonical_paths.internal.ModuleItemCanonicalPathConstructor
|
||||
import codeql.rust.elements.canonical_paths.internal.NamespaceConstructor
|
||||
import codeql.rust.elements.canonical_paths.internal.ParametrizedCanonicalPathConstructor
|
||||
import codeql.rust.elements.canonical_paths.internal.PlaceholderTypeCanonicalPathConstructor
|
||||
import codeql.rust.elements.canonical_paths.internal.RepoCrateRootConstructor
|
||||
import codeql.rust.elements.canonical_paths.internal.RustcCrateRootConstructor
|
||||
import codeql.rust.elements.canonical_paths.internal.TypeGenericTypeArgConstructor
|
||||
import codeql.rust.elements.canonical_paths.internal.TypeItemCanonicalPathConstructor
|
||||
|
||||
34
rust/ql/lib/codeql/rust/elements/internal/generated/canonical_paths/BuiltinTypeCanonicalPath.qll
generated
Normal file
34
rust/ql/lib/codeql/rust/elements/internal/generated/canonical_paths/BuiltinTypeCanonicalPath.qll
generated
Normal file
@@ -0,0 +1,34 @@
|
||||
// generated by codegen, do not edit
|
||||
/**
|
||||
* This module provides the generated definition of `BuiltinTypeCanonicalPath`.
|
||||
* INTERNAL: Do not import directly.
|
||||
*/
|
||||
|
||||
private import codeql.rust.elements.internal.generated.Synth
|
||||
private import codeql.rust.elements.internal.generated.Raw
|
||||
import codeql.rust.elements.canonical_paths.internal.TypeCanonicalPathImpl::Impl as TypeCanonicalPathImpl
|
||||
|
||||
/**
|
||||
* INTERNAL: This module contains the fully generated definition of `BuiltinTypeCanonicalPath` and should not
|
||||
* be referenced directly.
|
||||
*/
|
||||
module Generated {
|
||||
/**
|
||||
* A canonical path for a builtin type.
|
||||
* INTERNAL: Do not reference the `Generated::BuiltinTypeCanonicalPath` class directly.
|
||||
* Use the subclass `BuiltinTypeCanonicalPath`, where the following predicates are available.
|
||||
*/
|
||||
class BuiltinTypeCanonicalPath extends Synth::TBuiltinTypeCanonicalPath,
|
||||
TypeCanonicalPathImpl::TypeCanonicalPath
|
||||
{
|
||||
override string getAPrimaryQlClass() { result = "BuiltinTypeCanonicalPath" }
|
||||
|
||||
/**
|
||||
* Gets the name of this builtin type canonical path.
|
||||
*/
|
||||
string getName() {
|
||||
result =
|
||||
Synth::convertBuiltinTypeCanonicalPathToRaw(this).(Raw::BuiltinTypeCanonicalPath).getName()
|
||||
}
|
||||
}
|
||||
}
|
||||
23
rust/ql/lib/codeql/rust/elements/internal/generated/canonical_paths/CanonicalPath.qll
generated
Normal file
23
rust/ql/lib/codeql/rust/elements/internal/generated/canonical_paths/CanonicalPath.qll
generated
Normal file
@@ -0,0 +1,23 @@
|
||||
// generated by codegen, do not edit
|
||||
/**
|
||||
* This module provides the generated definition of `CanonicalPath`.
|
||||
* INTERNAL: Do not import directly.
|
||||
*/
|
||||
|
||||
private import codeql.rust.elements.internal.generated.Synth
|
||||
private import codeql.rust.elements.internal.generated.Raw
|
||||
import codeql.rust.elements.canonical_paths.internal.CanonicalPathElementImpl::Impl as CanonicalPathElementImpl
|
||||
|
||||
/**
|
||||
* INTERNAL: This module contains the fully generated definition of `CanonicalPath` and should not
|
||||
* be referenced directly.
|
||||
*/
|
||||
module Generated {
|
||||
/**
|
||||
* The base class for all canonical paths that can be the result of a path resolution.
|
||||
* INTERNAL: Do not reference the `Generated::CanonicalPath` class directly.
|
||||
* Use the subclass `CanonicalPath`, where the following predicates are available.
|
||||
*/
|
||||
class CanonicalPath extends Synth::TCanonicalPath, CanonicalPathElementImpl::CanonicalPathElement {
|
||||
}
|
||||
}
|
||||
22
rust/ql/lib/codeql/rust/elements/internal/generated/canonical_paths/CanonicalPathElement.qll
generated
Normal file
22
rust/ql/lib/codeql/rust/elements/internal/generated/canonical_paths/CanonicalPathElement.qll
generated
Normal file
@@ -0,0 +1,22 @@
|
||||
// generated by codegen, do not edit
|
||||
/**
|
||||
* This module provides the generated definition of `CanonicalPathElement`.
|
||||
* INTERNAL: Do not import directly.
|
||||
*/
|
||||
|
||||
private import codeql.rust.elements.internal.generated.Synth
|
||||
private import codeql.rust.elements.internal.generated.Raw
|
||||
import codeql.rust.elements.internal.ElementImpl::Impl as ElementImpl
|
||||
|
||||
/**
|
||||
* INTERNAL: This module contains the fully generated definition of `CanonicalPathElement` and should not
|
||||
* be referenced directly.
|
||||
*/
|
||||
module Generated {
|
||||
/**
|
||||
* The base class for all elements in a canonical path.
|
||||
* INTERNAL: Do not reference the `Generated::CanonicalPathElement` class directly.
|
||||
* Use the subclass `CanonicalPathElement`, where the following predicates are available.
|
||||
*/
|
||||
class CanonicalPathElement extends Synth::TCanonicalPathElement, ElementImpl::Element { }
|
||||
}
|
||||
37
rust/ql/lib/codeql/rust/elements/internal/generated/canonical_paths/ConcreteTypeCanonicalPath.qll
generated
Normal file
37
rust/ql/lib/codeql/rust/elements/internal/generated/canonical_paths/ConcreteTypeCanonicalPath.qll
generated
Normal file
@@ -0,0 +1,37 @@
|
||||
// generated by codegen, do not edit
|
||||
/**
|
||||
* This module provides the generated definition of `ConcreteTypeCanonicalPath`.
|
||||
* INTERNAL: Do not import directly.
|
||||
*/
|
||||
|
||||
private import codeql.rust.elements.internal.generated.Synth
|
||||
private import codeql.rust.elements.internal.generated.Raw
|
||||
import codeql.rust.elements.canonical_paths.ParametrizedCanonicalPath
|
||||
import codeql.rust.elements.canonical_paths.internal.TypeCanonicalPathImpl::Impl as TypeCanonicalPathImpl
|
||||
|
||||
/**
|
||||
* INTERNAL: This module contains the fully generated definition of `ConcreteTypeCanonicalPath` and should not
|
||||
* be referenced directly.
|
||||
*/
|
||||
module Generated {
|
||||
/**
|
||||
* A canonical path for an actual type.
|
||||
* INTERNAL: Do not reference the `Generated::ConcreteTypeCanonicalPath` class directly.
|
||||
* Use the subclass `ConcreteTypeCanonicalPath`, where the following predicates are available.
|
||||
*/
|
||||
class ConcreteTypeCanonicalPath extends Synth::TConcreteTypeCanonicalPath,
|
||||
TypeCanonicalPathImpl::TypeCanonicalPath
|
||||
{
|
||||
override string getAPrimaryQlClass() { result = "ConcreteTypeCanonicalPath" }
|
||||
|
||||
/**
|
||||
* Gets the path of this concrete type canonical path.
|
||||
*/
|
||||
ParametrizedCanonicalPath getPath() {
|
||||
result =
|
||||
Synth::convertParametrizedCanonicalPathFromRaw(Synth::convertConcreteTypeCanonicalPathToRaw(this)
|
||||
.(Raw::ConcreteTypeCanonicalPath)
|
||||
.getPath())
|
||||
}
|
||||
}
|
||||
}
|
||||
31
rust/ql/lib/codeql/rust/elements/internal/generated/canonical_paths/ConstGenericTypeArg.qll
generated
Normal file
31
rust/ql/lib/codeql/rust/elements/internal/generated/canonical_paths/ConstGenericTypeArg.qll
generated
Normal file
@@ -0,0 +1,31 @@
|
||||
// generated by codegen, do not edit
|
||||
/**
|
||||
* This module provides the generated definition of `ConstGenericTypeArg`.
|
||||
* INTERNAL: Do not import directly.
|
||||
*/
|
||||
|
||||
private import codeql.rust.elements.internal.generated.Synth
|
||||
private import codeql.rust.elements.internal.generated.Raw
|
||||
import codeql.rust.elements.canonical_paths.internal.TypeGenericArgImpl::Impl as TypeGenericArgImpl
|
||||
|
||||
/**
|
||||
* INTERNAL: This module contains the fully generated definition of `ConstGenericTypeArg` and should not
|
||||
* be referenced directly.
|
||||
*/
|
||||
module Generated {
|
||||
/**
|
||||
* A generic argument for a type that is a const.
|
||||
* INTERNAL: Do not reference the `Generated::ConstGenericTypeArg` class directly.
|
||||
* Use the subclass `ConstGenericTypeArg`, where the following predicates are available.
|
||||
*/
|
||||
class ConstGenericTypeArg extends Synth::TConstGenericTypeArg, TypeGenericArgImpl::TypeGenericArg {
|
||||
override string getAPrimaryQlClass() { result = "ConstGenericTypeArg" }
|
||||
|
||||
/**
|
||||
* Gets the value of this const generic type argument.
|
||||
*/
|
||||
string getValue() {
|
||||
result = Synth::convertConstGenericTypeArgToRaw(this).(Raw::ConstGenericTypeArg).getValue()
|
||||
}
|
||||
}
|
||||
}
|
||||
22
rust/ql/lib/codeql/rust/elements/internal/generated/canonical_paths/CrateRoot.qll
generated
Normal file
22
rust/ql/lib/codeql/rust/elements/internal/generated/canonical_paths/CrateRoot.qll
generated
Normal file
@@ -0,0 +1,22 @@
|
||||
// generated by codegen, do not edit
|
||||
/**
|
||||
* This module provides the generated definition of `CrateRoot`.
|
||||
* INTERNAL: Do not import directly.
|
||||
*/
|
||||
|
||||
private import codeql.rust.elements.internal.generated.Synth
|
||||
private import codeql.rust.elements.internal.generated.Raw
|
||||
import codeql.rust.elements.canonical_paths.internal.CanonicalPathElementImpl::Impl as CanonicalPathElementImpl
|
||||
|
||||
/**
|
||||
* INTERNAL: This module contains the fully generated definition of `CrateRoot` and should not
|
||||
* be referenced directly.
|
||||
*/
|
||||
module Generated {
|
||||
/**
|
||||
* The base class for all crate references.
|
||||
* INTERNAL: Do not reference the `Generated::CrateRoot` class directly.
|
||||
* Use the subclass `CrateRoot`, where the following predicates are available.
|
||||
*/
|
||||
class CrateRoot extends Synth::TCrateRoot, CanonicalPathElementImpl::CanonicalPathElement { }
|
||||
}
|
||||
57
rust/ql/lib/codeql/rust/elements/internal/generated/canonical_paths/DerivedTypeCanonicalPath.qll
generated
Normal file
57
rust/ql/lib/codeql/rust/elements/internal/generated/canonical_paths/DerivedTypeCanonicalPath.qll
generated
Normal file
@@ -0,0 +1,57 @@
|
||||
// generated by codegen, do not edit
|
||||
/**
|
||||
* This module provides the generated definition of `DerivedTypeCanonicalPath`.
|
||||
* INTERNAL: Do not import directly.
|
||||
*/
|
||||
|
||||
private import codeql.rust.elements.internal.generated.Synth
|
||||
private import codeql.rust.elements.internal.generated.Raw
|
||||
import codeql.rust.elements.canonical_paths.TypeCanonicalPath
|
||||
import codeql.rust.elements.canonical_paths.internal.TypeCanonicalPathImpl::Impl as TypeCanonicalPathImpl
|
||||
|
||||
/**
|
||||
* INTERNAL: This module contains the fully generated definition of `DerivedTypeCanonicalPath` and should not
|
||||
* be referenced directly.
|
||||
*/
|
||||
module Generated {
|
||||
/**
|
||||
* A derived canonical type, like `[i32; 4]`, `&mut std::string::String` or `(i32, std::string::String)`.
|
||||
* INTERNAL: Do not reference the `Generated::DerivedTypeCanonicalPath` class directly.
|
||||
* Use the subclass `DerivedTypeCanonicalPath`, where the following predicates are available.
|
||||
*/
|
||||
class DerivedTypeCanonicalPath extends Synth::TDerivedTypeCanonicalPath,
|
||||
TypeCanonicalPathImpl::TypeCanonicalPath
|
||||
{
|
||||
override string getAPrimaryQlClass() { result = "DerivedTypeCanonicalPath" }
|
||||
|
||||
/**
|
||||
* Gets the modifier of this derived type canonical path.
|
||||
*/
|
||||
string getModifier() {
|
||||
result =
|
||||
Synth::convertDerivedTypeCanonicalPathToRaw(this)
|
||||
.(Raw::DerivedTypeCanonicalPath)
|
||||
.getModifier()
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the `index`th base of this derived type canonical path (0-based).
|
||||
*/
|
||||
TypeCanonicalPath getBase(int index) {
|
||||
result =
|
||||
Synth::convertTypeCanonicalPathFromRaw(Synth::convertDerivedTypeCanonicalPathToRaw(this)
|
||||
.(Raw::DerivedTypeCanonicalPath)
|
||||
.getBase(index))
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets any of the bases of this derived type canonical path.
|
||||
*/
|
||||
final TypeCanonicalPath getABase() { result = this.getBase(_) }
|
||||
|
||||
/**
|
||||
* Gets the number of bases of this derived type canonical path.
|
||||
*/
|
||||
final int getNumberOfBases() { result = count(int i | exists(this.getBase(i))) }
|
||||
}
|
||||
}
|
||||
60
rust/ql/lib/codeql/rust/elements/internal/generated/canonical_paths/ImplItemCanonicalPath.qll
generated
Normal file
60
rust/ql/lib/codeql/rust/elements/internal/generated/canonical_paths/ImplItemCanonicalPath.qll
generated
Normal file
@@ -0,0 +1,60 @@
|
||||
// generated by codegen, do not edit
|
||||
/**
|
||||
* This module provides the generated definition of `ImplItemCanonicalPath`.
|
||||
* INTERNAL: Do not import directly.
|
||||
*/
|
||||
|
||||
private import codeql.rust.elements.internal.generated.Synth
|
||||
private import codeql.rust.elements.internal.generated.Raw
|
||||
import codeql.rust.elements.canonical_paths.internal.CanonicalPathImpl::Impl as CanonicalPathImpl
|
||||
import codeql.rust.elements.canonical_paths.ParametrizedCanonicalPath
|
||||
import codeql.rust.elements.canonical_paths.TypeCanonicalPath
|
||||
|
||||
/**
|
||||
* INTERNAL: This module contains the fully generated definition of `ImplItemCanonicalPath` and should not
|
||||
* be referenced directly.
|
||||
*/
|
||||
module Generated {
|
||||
/**
|
||||
* A canonical path for an item defined in an impl (a method or associated type).
|
||||
* INTERNAL: Do not reference the `Generated::ImplItemCanonicalPath` class directly.
|
||||
* Use the subclass `ImplItemCanonicalPath`, where the following predicates are available.
|
||||
*/
|
||||
class ImplItemCanonicalPath extends Synth::TImplItemCanonicalPath,
|
||||
CanonicalPathImpl::CanonicalPath
|
||||
{
|
||||
override string getAPrimaryQlClass() { result = "ImplItemCanonicalPath" }
|
||||
|
||||
/**
|
||||
* Gets the type path of this impl item canonical path.
|
||||
*/
|
||||
TypeCanonicalPath getTypePath() {
|
||||
result =
|
||||
Synth::convertTypeCanonicalPathFromRaw(Synth::convertImplItemCanonicalPathToRaw(this)
|
||||
.(Raw::ImplItemCanonicalPath)
|
||||
.getTypePath())
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the trait path of this impl item canonical path, if it exists.
|
||||
*/
|
||||
ParametrizedCanonicalPath getTraitPath() {
|
||||
result =
|
||||
Synth::convertParametrizedCanonicalPathFromRaw(Synth::convertImplItemCanonicalPathToRaw(this)
|
||||
.(Raw::ImplItemCanonicalPath)
|
||||
.getTraitPath())
|
||||
}
|
||||
|
||||
/**
|
||||
* Holds if `getTraitPath()` exists.
|
||||
*/
|
||||
final predicate hasTraitPath() { exists(this.getTraitPath()) }
|
||||
|
||||
/**
|
||||
* Gets the name of this impl item canonical path.
|
||||
*/
|
||||
string getName() {
|
||||
result = Synth::convertImplItemCanonicalPathToRaw(this).(Raw::ImplItemCanonicalPath).getName()
|
||||
}
|
||||
}
|
||||
}
|
||||
31
rust/ql/lib/codeql/rust/elements/internal/generated/canonical_paths/LangCrateRoot.qll
generated
Normal file
31
rust/ql/lib/codeql/rust/elements/internal/generated/canonical_paths/LangCrateRoot.qll
generated
Normal file
@@ -0,0 +1,31 @@
|
||||
// generated by codegen, do not edit
|
||||
/**
|
||||
* This module provides the generated definition of `LangCrateRoot`.
|
||||
* INTERNAL: Do not import directly.
|
||||
*/
|
||||
|
||||
private import codeql.rust.elements.internal.generated.Synth
|
||||
private import codeql.rust.elements.internal.generated.Raw
|
||||
import codeql.rust.elements.canonical_paths.internal.CrateRootImpl::Impl as CrateRootImpl
|
||||
|
||||
/**
|
||||
* INTERNAL: This module contains the fully generated definition of `LangCrateRoot` and should not
|
||||
* be referenced directly.
|
||||
*/
|
||||
module Generated {
|
||||
/**
|
||||
* A reference to a crate in the Rust standard libraries.
|
||||
* INTERNAL: Do not reference the `Generated::LangCrateRoot` class directly.
|
||||
* Use the subclass `LangCrateRoot`, where the following predicates are available.
|
||||
*/
|
||||
class LangCrateRoot extends Synth::TLangCrateRoot, CrateRootImpl::CrateRoot {
|
||||
override string getAPrimaryQlClass() { result = "LangCrateRoot" }
|
||||
|
||||
/**
|
||||
* Gets the name of this lang crate root.
|
||||
*/
|
||||
string getName() {
|
||||
result = Synth::convertLangCrateRootToRaw(this).(Raw::LangCrateRoot).getName()
|
||||
}
|
||||
}
|
||||
}
|
||||
45
rust/ql/lib/codeql/rust/elements/internal/generated/canonical_paths/ModuleItemCanonicalPath.qll
generated
Normal file
45
rust/ql/lib/codeql/rust/elements/internal/generated/canonical_paths/ModuleItemCanonicalPath.qll
generated
Normal file
@@ -0,0 +1,45 @@
|
||||
// generated by codegen, do not edit
|
||||
/**
|
||||
* This module provides the generated definition of `ModuleItemCanonicalPath`.
|
||||
* INTERNAL: Do not import directly.
|
||||
*/
|
||||
|
||||
private import codeql.rust.elements.internal.generated.Synth
|
||||
private import codeql.rust.elements.internal.generated.Raw
|
||||
import codeql.rust.elements.canonical_paths.internal.CanonicalPathImpl::Impl as CanonicalPathImpl
|
||||
import codeql.rust.elements.canonical_paths.Namespace
|
||||
|
||||
/**
|
||||
* INTERNAL: This module contains the fully generated definition of `ModuleItemCanonicalPath` and should not
|
||||
* be referenced directly.
|
||||
*/
|
||||
module Generated {
|
||||
/**
|
||||
* A canonical path for an item defined in a module.
|
||||
* INTERNAL: Do not reference the `Generated::ModuleItemCanonicalPath` class directly.
|
||||
* Use the subclass `ModuleItemCanonicalPath`, where the following predicates are available.
|
||||
*/
|
||||
class ModuleItemCanonicalPath extends Synth::TModuleItemCanonicalPath,
|
||||
CanonicalPathImpl::CanonicalPath
|
||||
{
|
||||
override string getAPrimaryQlClass() { result = "ModuleItemCanonicalPath" }
|
||||
|
||||
/**
|
||||
* Gets the namespace of this module item canonical path.
|
||||
*/
|
||||
Namespace getNamespace() {
|
||||
result =
|
||||
Synth::convertNamespaceFromRaw(Synth::convertModuleItemCanonicalPathToRaw(this)
|
||||
.(Raw::ModuleItemCanonicalPath)
|
||||
.getNamespace())
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the name of this module item canonical path.
|
||||
*/
|
||||
string getName() {
|
||||
result =
|
||||
Synth::convertModuleItemCanonicalPathToRaw(this).(Raw::ModuleItemCanonicalPath).getName()
|
||||
}
|
||||
}
|
||||
}
|
||||
38
rust/ql/lib/codeql/rust/elements/internal/generated/canonical_paths/Namespace.qll
generated
Normal file
38
rust/ql/lib/codeql/rust/elements/internal/generated/canonical_paths/Namespace.qll
generated
Normal file
@@ -0,0 +1,38 @@
|
||||
// generated by codegen, do not edit
|
||||
/**
|
||||
* This module provides the generated definition of `Namespace`.
|
||||
* INTERNAL: Do not import directly.
|
||||
*/
|
||||
|
||||
private import codeql.rust.elements.internal.generated.Synth
|
||||
private import codeql.rust.elements.internal.generated.Raw
|
||||
import codeql.rust.elements.canonical_paths.internal.CanonicalPathImpl::Impl as CanonicalPathImpl
|
||||
import codeql.rust.elements.canonical_paths.CrateRoot
|
||||
|
||||
/**
|
||||
* INTERNAL: This module contains the fully generated definition of `Namespace` and should not
|
||||
* be referenced directly.
|
||||
*/
|
||||
module Generated {
|
||||
/**
|
||||
* A namespace, comprised of a crate root and a possibly empty `::` separated module path.
|
||||
* INTERNAL: Do not reference the `Generated::Namespace` class directly.
|
||||
* Use the subclass `Namespace`, where the following predicates are available.
|
||||
*/
|
||||
class Namespace extends Synth::TNamespace, CanonicalPathImpl::CanonicalPath {
|
||||
override string getAPrimaryQlClass() { result = "Namespace" }
|
||||
|
||||
/**
|
||||
* Gets the root of this namespace.
|
||||
*/
|
||||
CrateRoot getRoot() {
|
||||
result =
|
||||
Synth::convertCrateRootFromRaw(Synth::convertNamespaceToRaw(this).(Raw::Namespace).getRoot())
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the path of this namespace.
|
||||
*/
|
||||
string getPath() { result = Synth::convertNamespaceToRaw(this).(Raw::Namespace).getPath() }
|
||||
}
|
||||
}
|
||||
57
rust/ql/lib/codeql/rust/elements/internal/generated/canonical_paths/ParametrizedCanonicalPath.qll
generated
Normal file
57
rust/ql/lib/codeql/rust/elements/internal/generated/canonical_paths/ParametrizedCanonicalPath.qll
generated
Normal file
@@ -0,0 +1,57 @@
|
||||
// generated by codegen, do not edit
|
||||
/**
|
||||
* This module provides the generated definition of `ParametrizedCanonicalPath`.
|
||||
* INTERNAL: Do not import directly.
|
||||
*/
|
||||
|
||||
private import codeql.rust.elements.internal.generated.Synth
|
||||
private import codeql.rust.elements.internal.generated.Raw
|
||||
import codeql.rust.elements.canonical_paths.internal.CanonicalPathImpl::Impl as CanonicalPathImpl
|
||||
import codeql.rust.elements.canonical_paths.ModuleItemCanonicalPath
|
||||
import codeql.rust.elements.canonical_paths.TypeGenericArg
|
||||
|
||||
/**
|
||||
* INTERNAL: This module contains the fully generated definition of `ParametrizedCanonicalPath` and should not
|
||||
* be referenced directly.
|
||||
*/
|
||||
module Generated {
|
||||
/**
|
||||
* INTERNAL: Do not reference the `Generated::ParametrizedCanonicalPath` class directly.
|
||||
* Use the subclass `ParametrizedCanonicalPath`, where the following predicates are available.
|
||||
*/
|
||||
class ParametrizedCanonicalPath extends Synth::TParametrizedCanonicalPath,
|
||||
CanonicalPathImpl::CanonicalPath
|
||||
{
|
||||
override string getAPrimaryQlClass() { result = "ParametrizedCanonicalPath" }
|
||||
|
||||
/**
|
||||
* Gets the base of this parametrized canonical path.
|
||||
*/
|
||||
ModuleItemCanonicalPath getBase() {
|
||||
result =
|
||||
Synth::convertModuleItemCanonicalPathFromRaw(Synth::convertParametrizedCanonicalPathToRaw(this)
|
||||
.(Raw::ParametrizedCanonicalPath)
|
||||
.getBase())
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the `index`th generic argument of this parametrized canonical path (0-based).
|
||||
*/
|
||||
TypeGenericArg getGenericArg(int index) {
|
||||
result =
|
||||
Synth::convertTypeGenericArgFromRaw(Synth::convertParametrizedCanonicalPathToRaw(this)
|
||||
.(Raw::ParametrizedCanonicalPath)
|
||||
.getGenericArg(index))
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets any of the generic arguments of this parametrized canonical path.
|
||||
*/
|
||||
final TypeGenericArg getAGenericArg() { result = this.getGenericArg(_) }
|
||||
|
||||
/**
|
||||
* Gets the number of generic arguments of this parametrized canonical path.
|
||||
*/
|
||||
final int getNumberOfGenericArgs() { result = count(int i | exists(this.getGenericArg(i))) }
|
||||
}
|
||||
}
|
||||
26
rust/ql/lib/codeql/rust/elements/internal/generated/canonical_paths/PlaceholderTypeCanonicalPath.qll
generated
Normal file
26
rust/ql/lib/codeql/rust/elements/internal/generated/canonical_paths/PlaceholderTypeCanonicalPath.qll
generated
Normal file
@@ -0,0 +1,26 @@
|
||||
// generated by codegen, do not edit
|
||||
/**
|
||||
* This module provides the generated definition of `PlaceholderTypeCanonicalPath`.
|
||||
* INTERNAL: Do not import directly.
|
||||
*/
|
||||
|
||||
private import codeql.rust.elements.internal.generated.Synth
|
||||
private import codeql.rust.elements.internal.generated.Raw
|
||||
import codeql.rust.elements.canonical_paths.internal.TypeCanonicalPathImpl::Impl as TypeCanonicalPathImpl
|
||||
|
||||
/**
|
||||
* INTERNAL: This module contains the fully generated definition of `PlaceholderTypeCanonicalPath` and should not
|
||||
* be referenced directly.
|
||||
*/
|
||||
module Generated {
|
||||
/**
|
||||
* A placeholder for a type parameter bound in an impl.
|
||||
* INTERNAL: Do not reference the `Generated::PlaceholderTypeCanonicalPath` class directly.
|
||||
* Use the subclass `PlaceholderTypeCanonicalPath`, where the following predicates are available.
|
||||
*/
|
||||
class PlaceholderTypeCanonicalPath extends Synth::TPlaceholderTypeCanonicalPath,
|
||||
TypeCanonicalPathImpl::TypeCanonicalPath
|
||||
{
|
||||
override string getAPrimaryQlClass() { result = "PlaceholderTypeCanonicalPath" }
|
||||
}
|
||||
}
|
||||
56
rust/ql/lib/codeql/rust/elements/internal/generated/canonical_paths/RepoCrateRoot.qll
generated
Normal file
56
rust/ql/lib/codeql/rust/elements/internal/generated/canonical_paths/RepoCrateRoot.qll
generated
Normal file
@@ -0,0 +1,56 @@
|
||||
// generated by codegen, do not edit
|
||||
/**
|
||||
* This module provides the generated definition of `RepoCrateRoot`.
|
||||
* INTERNAL: Do not import directly.
|
||||
*/
|
||||
|
||||
private import codeql.rust.elements.internal.generated.Synth
|
||||
private import codeql.rust.elements.internal.generated.Raw
|
||||
import codeql.rust.elements.canonical_paths.internal.CrateRootImpl::Impl as CrateRootImpl
|
||||
import codeql.files.FileSystem
|
||||
|
||||
/**
|
||||
* INTERNAL: This module contains the fully generated definition of `RepoCrateRoot` and should not
|
||||
* be referenced directly.
|
||||
*/
|
||||
module Generated {
|
||||
/**
|
||||
* A reference to a crate in the repository.
|
||||
* INTERNAL: Do not reference the `Generated::RepoCrateRoot` class directly.
|
||||
* Use the subclass `RepoCrateRoot`, where the following predicates are available.
|
||||
*/
|
||||
class RepoCrateRoot extends Synth::TRepoCrateRoot, CrateRootImpl::CrateRoot {
|
||||
override string getAPrimaryQlClass() { result = "RepoCrateRoot" }
|
||||
|
||||
/**
|
||||
* Gets the name of this repo crate root, if it exists.
|
||||
*/
|
||||
string getName() {
|
||||
result = Synth::convertRepoCrateRootToRaw(this).(Raw::RepoCrateRoot).getName()
|
||||
}
|
||||
|
||||
/**
|
||||
* Holds if `getName()` exists.
|
||||
*/
|
||||
final predicate hasName() { exists(this.getName()) }
|
||||
|
||||
/**
|
||||
* Gets the repo of this repo crate root, if it exists.
|
||||
*/
|
||||
string getRepo() {
|
||||
result = Synth::convertRepoCrateRootToRaw(this).(Raw::RepoCrateRoot).getRepo()
|
||||
}
|
||||
|
||||
/**
|
||||
* Holds if `getRepo()` exists.
|
||||
*/
|
||||
final predicate hasRepo() { exists(this.getRepo()) }
|
||||
|
||||
/**
|
||||
* Gets the source of this repo crate root.
|
||||
*/
|
||||
File getSource() {
|
||||
result = Synth::convertRepoCrateRootToRaw(this).(Raw::RepoCrateRoot).getSource()
|
||||
}
|
||||
}
|
||||
}
|
||||
31
rust/ql/lib/codeql/rust/elements/internal/generated/canonical_paths/RustcCrateRoot.qll
generated
Normal file
31
rust/ql/lib/codeql/rust/elements/internal/generated/canonical_paths/RustcCrateRoot.qll
generated
Normal file
@@ -0,0 +1,31 @@
|
||||
// generated by codegen, do not edit
|
||||
/**
|
||||
* This module provides the generated definition of `RustcCrateRoot`.
|
||||
* INTERNAL: Do not import directly.
|
||||
*/
|
||||
|
||||
private import codeql.rust.elements.internal.generated.Synth
|
||||
private import codeql.rust.elements.internal.generated.Raw
|
||||
import codeql.rust.elements.canonical_paths.internal.CrateRootImpl::Impl as CrateRootImpl
|
||||
|
||||
/**
|
||||
* INTERNAL: This module contains the fully generated definition of `RustcCrateRoot` and should not
|
||||
* be referenced directly.
|
||||
*/
|
||||
module Generated {
|
||||
/**
|
||||
* A reference to a crate provided by rustc. TODO: understand where these come from.
|
||||
* INTERNAL: Do not reference the `Generated::RustcCrateRoot` class directly.
|
||||
* Use the subclass `RustcCrateRoot`, where the following predicates are available.
|
||||
*/
|
||||
class RustcCrateRoot extends Synth::TRustcCrateRoot, CrateRootImpl::CrateRoot {
|
||||
override string getAPrimaryQlClass() { result = "RustcCrateRoot" }
|
||||
|
||||
/**
|
||||
* Gets the name of this rustc crate root.
|
||||
*/
|
||||
string getName() {
|
||||
result = Synth::convertRustcCrateRootToRaw(this).(Raw::RustcCrateRoot).getName()
|
||||
}
|
||||
}
|
||||
}
|
||||
22
rust/ql/lib/codeql/rust/elements/internal/generated/canonical_paths/TypeCanonicalPath.qll
generated
Normal file
22
rust/ql/lib/codeql/rust/elements/internal/generated/canonical_paths/TypeCanonicalPath.qll
generated
Normal file
@@ -0,0 +1,22 @@
|
||||
// generated by codegen, do not edit
|
||||
/**
|
||||
* This module provides the generated definition of `TypeCanonicalPath`.
|
||||
* INTERNAL: Do not import directly.
|
||||
*/
|
||||
|
||||
private import codeql.rust.elements.internal.generated.Synth
|
||||
private import codeql.rust.elements.internal.generated.Raw
|
||||
import codeql.rust.elements.canonical_paths.internal.CanonicalPathImpl::Impl as CanonicalPathImpl
|
||||
|
||||
/**
|
||||
* INTERNAL: This module contains the fully generated definition of `TypeCanonicalPath` and should not
|
||||
* be referenced directly.
|
||||
*/
|
||||
module Generated {
|
||||
/**
|
||||
* The base for canonical paths for types.
|
||||
* INTERNAL: Do not reference the `Generated::TypeCanonicalPath` class directly.
|
||||
* Use the subclass `TypeCanonicalPath`, where the following predicates are available.
|
||||
*/
|
||||
class TypeCanonicalPath extends Synth::TTypeCanonicalPath, CanonicalPathImpl::CanonicalPath { }
|
||||
}
|
||||
24
rust/ql/lib/codeql/rust/elements/internal/generated/canonical_paths/TypeGenericArg.qll
generated
Normal file
24
rust/ql/lib/codeql/rust/elements/internal/generated/canonical_paths/TypeGenericArg.qll
generated
Normal file
@@ -0,0 +1,24 @@
|
||||
// generated by codegen, do not edit
|
||||
/**
|
||||
* This module provides the generated definition of `TypeGenericArg`.
|
||||
* INTERNAL: Do not import directly.
|
||||
*/
|
||||
|
||||
private import codeql.rust.elements.internal.generated.Synth
|
||||
private import codeql.rust.elements.internal.generated.Raw
|
||||
import codeql.rust.elements.canonical_paths.internal.CanonicalPathElementImpl::Impl as CanonicalPathElementImpl
|
||||
|
||||
/**
|
||||
* INTERNAL: This module contains the fully generated definition of `TypeGenericArg` and should not
|
||||
* be referenced directly.
|
||||
*/
|
||||
module Generated {
|
||||
/**
|
||||
* A generic argument for a type.
|
||||
* INTERNAL: Do not reference the `Generated::TypeGenericArg` class directly.
|
||||
* Use the subclass `TypeGenericArg`, where the following predicates are available.
|
||||
*/
|
||||
class TypeGenericArg extends Synth::TTypeGenericArg,
|
||||
CanonicalPathElementImpl::CanonicalPathElement
|
||||
{ }
|
||||
}
|
||||
35
rust/ql/lib/codeql/rust/elements/internal/generated/canonical_paths/TypeGenericTypeArg.qll
generated
Normal file
35
rust/ql/lib/codeql/rust/elements/internal/generated/canonical_paths/TypeGenericTypeArg.qll
generated
Normal file
@@ -0,0 +1,35 @@
|
||||
// generated by codegen, do not edit
|
||||
/**
|
||||
* This module provides the generated definition of `TypeGenericTypeArg`.
|
||||
* INTERNAL: Do not import directly.
|
||||
*/
|
||||
|
||||
private import codeql.rust.elements.internal.generated.Synth
|
||||
private import codeql.rust.elements.internal.generated.Raw
|
||||
import codeql.rust.elements.canonical_paths.TypeCanonicalPath
|
||||
import codeql.rust.elements.canonical_paths.internal.TypeGenericArgImpl::Impl as TypeGenericArgImpl
|
||||
|
||||
/**
|
||||
* INTERNAL: This module contains the fully generated definition of `TypeGenericTypeArg` and should not
|
||||
* be referenced directly.
|
||||
*/
|
||||
module Generated {
|
||||
/**
|
||||
* A generic argument for a type that is a type.
|
||||
* INTERNAL: Do not reference the `Generated::TypeGenericTypeArg` class directly.
|
||||
* Use the subclass `TypeGenericTypeArg`, where the following predicates are available.
|
||||
*/
|
||||
class TypeGenericTypeArg extends Synth::TTypeGenericTypeArg, TypeGenericArgImpl::TypeGenericArg {
|
||||
override string getAPrimaryQlClass() { result = "TypeGenericTypeArg" }
|
||||
|
||||
/**
|
||||
* Gets the path of this type generic type argument.
|
||||
*/
|
||||
TypeCanonicalPath getPath() {
|
||||
result =
|
||||
Synth::convertTypeCanonicalPathFromRaw(Synth::convertTypeGenericTypeArgToRaw(this)
|
||||
.(Raw::TypeGenericTypeArg)
|
||||
.getPath())
|
||||
}
|
||||
}
|
||||
}
|
||||
44
rust/ql/lib/codeql/rust/elements/internal/generated/canonical_paths/TypeItemCanonicalPath.qll
generated
Normal file
44
rust/ql/lib/codeql/rust/elements/internal/generated/canonical_paths/TypeItemCanonicalPath.qll
generated
Normal file
@@ -0,0 +1,44 @@
|
||||
// generated by codegen, do not edit
|
||||
/**
|
||||
* This module provides the generated definition of `TypeItemCanonicalPath`.
|
||||
* INTERNAL: Do not import directly.
|
||||
*/
|
||||
|
||||
private import codeql.rust.elements.internal.generated.Synth
|
||||
private import codeql.rust.elements.internal.generated.Raw
|
||||
import codeql.rust.elements.canonical_paths.internal.CanonicalPathImpl::Impl as CanonicalPathImpl
|
||||
import codeql.rust.elements.canonical_paths.ModuleItemCanonicalPath
|
||||
|
||||
/**
|
||||
* INTERNAL: This module contains the fully generated definition of `TypeItemCanonicalPath` and should not
|
||||
* be referenced directly.
|
||||
*/
|
||||
module Generated {
|
||||
/**
|
||||
* A canonical path for an item defined in a type or trait.
|
||||
* INTERNAL: Do not reference the `Generated::TypeItemCanonicalPath` class directly.
|
||||
* Use the subclass `TypeItemCanonicalPath`, where the following predicates are available.
|
||||
*/
|
||||
class TypeItemCanonicalPath extends Synth::TTypeItemCanonicalPath,
|
||||
CanonicalPathImpl::CanonicalPath
|
||||
{
|
||||
override string getAPrimaryQlClass() { result = "TypeItemCanonicalPath" }
|
||||
|
||||
/**
|
||||
* Gets the parent of this type item canonical path.
|
||||
*/
|
||||
ModuleItemCanonicalPath getParent() {
|
||||
result =
|
||||
Synth::convertModuleItemCanonicalPathFromRaw(Synth::convertTypeItemCanonicalPathToRaw(this)
|
||||
.(Raw::TypeItemCanonicalPath)
|
||||
.getParent())
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the name of this type item canonical path.
|
||||
*/
|
||||
string getName() {
|
||||
result = Synth::convertTypeItemCanonicalPathToRaw(this).(Raw::TypeItemCanonicalPath).getName()
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -120,7 +120,8 @@ locatable_locations(
|
||||
// from schema
|
||||
|
||||
@element =
|
||||
@extractor_step
|
||||
@canonical_path_element
|
||||
| @extractor_step
|
||||
| @locatable
|
||||
| @unextracted
|
||||
;
|
||||
@@ -237,6 +238,12 @@ addressable_crate_origins(
|
||||
string crate_origin: string ref
|
||||
);
|
||||
|
||||
#keyset[id]
|
||||
addressable_canonical_paths(
|
||||
int id: @addressable ref,
|
||||
int canonical_path: @canonical_path ref
|
||||
);
|
||||
|
||||
arg_lists(
|
||||
unique int id: @arg_list
|
||||
);
|
||||
@@ -866,6 +873,12 @@ resolvable_resolved_crate_origins(
|
||||
string resolved_crate_origin: string ref
|
||||
);
|
||||
|
||||
#keyset[id]
|
||||
resolvable_resolved_canonical_paths(
|
||||
int id: @resolvable ref,
|
||||
int resolved_canonical_path: @canonical_path ref
|
||||
);
|
||||
|
||||
ret_type_reprs(
|
||||
unique int id: @ret_type_repr
|
||||
);
|
||||
@@ -3340,3 +3353,141 @@ while_expr_conditions(
|
||||
int id: @while_expr ref,
|
||||
int condition: @expr ref
|
||||
);
|
||||
|
||||
@canonical_path_element =
|
||||
@canonical_path
|
||||
| @crate_root
|
||||
| @type_generic_arg
|
||||
;
|
||||
|
||||
@canonical_path =
|
||||
@impl_item_canonical_path
|
||||
| @module_item_canonical_path
|
||||
| @namespace
|
||||
| @parametrized_canonical_path
|
||||
| @type_canonical_path
|
||||
| @type_item_canonical_path
|
||||
;
|
||||
|
||||
@crate_root =
|
||||
@lang_crate_root
|
||||
| @repo_crate_root
|
||||
| @rustc_crate_root
|
||||
;
|
||||
|
||||
@type_generic_arg =
|
||||
@const_generic_type_arg
|
||||
| @type_generic_type_arg
|
||||
;
|
||||
|
||||
const_generic_type_args( //dir=canonical_paths
|
||||
unique int id: @const_generic_type_arg,
|
||||
string value: string ref
|
||||
);
|
||||
|
||||
impl_item_canonical_paths( //dir=canonical_paths
|
||||
unique int id: @impl_item_canonical_path,
|
||||
int type_path: @type_canonical_path ref,
|
||||
string name: string ref
|
||||
);
|
||||
|
||||
#keyset[id]
|
||||
impl_item_canonical_path_trait_paths( //dir=canonical_paths
|
||||
int id: @impl_item_canonical_path ref,
|
||||
int trait_path: @parametrized_canonical_path ref
|
||||
);
|
||||
|
||||
lang_crate_roots( //dir=canonical_paths
|
||||
unique int id: @lang_crate_root,
|
||||
string name: string ref
|
||||
);
|
||||
|
||||
module_item_canonical_paths( //dir=canonical_paths
|
||||
unique int id: @module_item_canonical_path,
|
||||
int namespace: @namespace ref,
|
||||
string name: string ref
|
||||
);
|
||||
|
||||
namespaces( //dir=canonical_paths
|
||||
unique int id: @namespace,
|
||||
int root: @crate_root ref,
|
||||
string path: string ref
|
||||
);
|
||||
|
||||
parametrized_canonical_paths( //dir=canonical_paths
|
||||
unique int id: @parametrized_canonical_path,
|
||||
int base: @module_item_canonical_path ref
|
||||
);
|
||||
|
||||
#keyset[id, index]
|
||||
parametrized_canonical_path_generic_args( //dir=canonical_paths
|
||||
int id: @parametrized_canonical_path ref,
|
||||
int index: int ref,
|
||||
int generic_arg: @type_generic_arg ref
|
||||
);
|
||||
|
||||
repo_crate_roots( //dir=canonical_paths
|
||||
unique int id: @repo_crate_root,
|
||||
int source: @file ref
|
||||
);
|
||||
|
||||
#keyset[id]
|
||||
repo_crate_root_names( //dir=canonical_paths
|
||||
int id: @repo_crate_root ref,
|
||||
string name: string ref
|
||||
);
|
||||
|
||||
#keyset[id]
|
||||
repo_crate_root_repos( //dir=canonical_paths
|
||||
int id: @repo_crate_root ref,
|
||||
string repo: string ref
|
||||
);
|
||||
|
||||
rustc_crate_roots( //dir=canonical_paths
|
||||
unique int id: @rustc_crate_root,
|
||||
string name: string ref
|
||||
);
|
||||
|
||||
@type_canonical_path =
|
||||
@builtin_type_canonical_path
|
||||
| @concrete_type_canonical_path
|
||||
| @derived_type_canonical_path
|
||||
| @placeholder_type_canonical_path
|
||||
;
|
||||
|
||||
type_generic_type_args( //dir=canonical_paths
|
||||
unique int id: @type_generic_type_arg,
|
||||
int path: @type_canonical_path ref
|
||||
);
|
||||
|
||||
type_item_canonical_paths( //dir=canonical_paths
|
||||
unique int id: @type_item_canonical_path,
|
||||
int parent: @module_item_canonical_path ref,
|
||||
string name: string ref
|
||||
);
|
||||
|
||||
builtin_type_canonical_paths( //dir=canonical_paths
|
||||
unique int id: @builtin_type_canonical_path,
|
||||
string name: string ref
|
||||
);
|
||||
|
||||
concrete_type_canonical_paths( //dir=canonical_paths
|
||||
unique int id: @concrete_type_canonical_path,
|
||||
int path: @parametrized_canonical_path ref
|
||||
);
|
||||
|
||||
derived_type_canonical_paths( //dir=canonical_paths
|
||||
unique int id: @derived_type_canonical_path,
|
||||
string modifier: string ref
|
||||
);
|
||||
|
||||
#keyset[id, index]
|
||||
derived_type_canonical_path_bases( //dir=canonical_paths
|
||||
int id: @derived_type_canonical_path ref,
|
||||
int index: int ref,
|
||||
int base: @type_canonical_path ref
|
||||
);
|
||||
|
||||
placeholder_type_canonical_paths( //dir=canonical_paths
|
||||
unique int id: @placeholder_type_canonical_path
|
||||
);
|
||||
|
||||
@@ -1,66 +1,135 @@
|
||||
canonicalPaths
|
||||
| anonymous.rs:1:1:1:26 | Use | None | None |
|
||||
| anonymous.rs:3:1:32:1 | fn canonicals | repo::test | crate::anonymous::canonicals |
|
||||
| anonymous.rs:4:5:4:23 | Struct | repo::test | {0}::OtherStruct |
|
||||
| anonymous.rs:6:5:8:5 | trait OtherTrait | repo::test | {0}::OtherTrait |
|
||||
| anonymous.rs:7:9:7:20 | fn g | repo::test | {0}::OtherTrait::g |
|
||||
| anonymous.rs:10:5:12:5 | impl OtherTrait for OtherStruct { ... } | None | None |
|
||||
| anonymous.rs:11:9:11:22 | fn g | repo::test | <{0}::OtherStruct as {0}::OtherTrait>::g |
|
||||
| anonymous.rs:14:5:16:5 | impl OtherTrait for ...::Struct { ... } | None | None |
|
||||
| anonymous.rs:15:9:15:22 | fn g | repo::test | <crate::regular::Struct as {0}::OtherTrait>::g |
|
||||
| anonymous.rs:18:5:20:5 | impl ...::Trait for OtherStruct { ... } | None | None |
|
||||
| anonymous.rs:19:9:19:22 | fn f | repo::test | <{0}::OtherStruct as crate::regular::Trait>::f |
|
||||
| anonymous.rs:22:5:24:5 | fn nested | repo::test | {0}::nested |
|
||||
| anonymous.rs:23:9:23:27 | Struct | repo::test | {1}::OtherStruct |
|
||||
| anonymous.rs:26:5:31:5 | fn usage | repo::test | {0}::usage |
|
||||
| anonymous.rs:34:1:36:1 | fn other | repo::test | crate::anonymous::other |
|
||||
| anonymous.rs:35:5:35:23 | Struct | repo::test | {36}::OtherStruct |
|
||||
| lib.rs:1:1:1:14 | mod anonymous | repo::test | crate::anonymous |
|
||||
| lib.rs:2:1:2:12 | mod regular | repo::test | crate::regular |
|
||||
| regular.rs:1:1:2:18 | Struct | repo::test | crate::regular::Struct |
|
||||
| regular.rs:4:1:6:1 | trait Trait | repo::test | crate::regular::Trait |
|
||||
| regular.rs:5:5:5:16 | fn f | repo::test | crate::regular::Trait::f |
|
||||
| regular.rs:8:1:10:1 | impl Trait for Struct { ... } | None | None |
|
||||
| regular.rs:9:5:9:18 | fn f | repo::test | <crate::regular::Struct as crate::regular::Trait>::f |
|
||||
| regular.rs:12:1:14:1 | impl Struct { ... } | None | None |
|
||||
| regular.rs:13:5:13:18 | fn g | repo::test | <crate::regular::Struct>::g |
|
||||
| regular.rs:16:1:18:1 | trait TraitWithBlanketImpl | repo::test | crate::regular::TraitWithBlanketImpl |
|
||||
| regular.rs:17:5:17:16 | fn h | repo::test | crate::regular::TraitWithBlanketImpl::h |
|
||||
| regular.rs:20:1:22:1 | impl TraitWithBlanketImpl for T { ... } | None | None |
|
||||
| regular.rs:21:5:21:18 | fn h | repo::test | <_ as crate::regular::TraitWithBlanketImpl>::h |
|
||||
| regular.rs:24:1:24:12 | fn free | repo::test | crate::regular::free |
|
||||
| regular.rs:26:1:32:1 | fn usage | repo::test | crate::regular::usage |
|
||||
| regular.rs:34:1:38:1 | enum MyEnum | repo::test | crate::regular::MyEnum |
|
||||
| regular.rs:40:1:46:1 | fn enum_qualified_usage | repo::test | crate::regular::enum_qualified_usage |
|
||||
| regular.rs:48:1:55:1 | fn enum_unqualified_usage | repo::test | crate::regular::enum_unqualified_usage |
|
||||
| regular.rs:51:5:51:18 | Use | None | None |
|
||||
| regular.rs:57:1:63:1 | fn enum_match | repo::test | crate::regular::enum_match |
|
||||
| anonymous.rs:1:1:1:26 | Use | None |
|
||||
| anonymous.rs:3:1:32:1 | fn canonicals | ...::canonicals |
|
||||
| anonymous.rs:4:5:4:23 | struct OtherStruct | None |
|
||||
| anonymous.rs:6:5:8:5 | trait OtherTrait | None |
|
||||
| anonymous.rs:7:9:7:20 | fn g | None |
|
||||
| anonymous.rs:10:5:12:5 | impl OtherTrait for OtherStruct { ... } | None |
|
||||
| anonymous.rs:11:9:11:22 | fn g | None |
|
||||
| anonymous.rs:14:5:16:5 | impl OtherTrait for ...::Struct { ... } | None |
|
||||
| anonymous.rs:15:9:15:22 | fn g | <...>::g |
|
||||
| anonymous.rs:18:5:20:5 | impl ...::Trait for OtherStruct { ... } | None |
|
||||
| anonymous.rs:19:9:19:22 | fn f | None |
|
||||
| anonymous.rs:22:5:24:5 | fn nested | None |
|
||||
| anonymous.rs:23:9:23:27 | struct OtherStruct | None |
|
||||
| anonymous.rs:26:5:31:5 | fn usage | None |
|
||||
| anonymous.rs:34:1:36:1 | fn other | ...::other |
|
||||
| anonymous.rs:35:5:35:23 | struct OtherStruct | None |
|
||||
| lib.rs:1:1:1:14 | mod anonymous | ...::anonymous |
|
||||
| lib.rs:2:1:2:12 | mod regular | ...::regular |
|
||||
| regular.rs:1:1:2:18 | struct Struct | ...::Struct |
|
||||
| regular.rs:4:1:6:1 | trait Trait | ...::Trait |
|
||||
| regular.rs:5:5:5:16 | fn f | ...::f |
|
||||
| regular.rs:8:1:10:1 | impl Trait for Struct { ... } | None |
|
||||
| regular.rs:9:5:9:18 | fn f | <... as ...>::f |
|
||||
| regular.rs:12:1:14:1 | impl Struct { ... } | None |
|
||||
| regular.rs:13:5:13:18 | fn g | <...>::g |
|
||||
| regular.rs:16:1:18:1 | trait TraitWithBlanketImpl | ...::TraitWithBlanketImpl |
|
||||
| regular.rs:17:5:17:16 | fn h | ...::h |
|
||||
| regular.rs:20:1:22:1 | impl TraitWithBlanketImpl for T { ... } | None |
|
||||
| regular.rs:21:5:21:18 | fn h | <_ as ...>::h |
|
||||
| regular.rs:24:1:24:12 | fn free | ...::free |
|
||||
| regular.rs:26:1:32:1 | fn usage | ...::usage |
|
||||
| regular.rs:34:1:38:1 | enum MyEnum | ...::MyEnum |
|
||||
| regular.rs:35:5:35:12 | Variant1 | ...::Variant1 |
|
||||
| regular.rs:36:5:36:19 | Variant2 | ...::Variant2 |
|
||||
| regular.rs:37:5:37:25 | Variant3 | ...::Variant3 |
|
||||
| regular.rs:40:1:46:1 | fn enum_qualified_usage | ...::enum_qualified_usage |
|
||||
| regular.rs:48:1:55:1 | fn enum_unqualified_usage | ...::enum_unqualified_usage |
|
||||
| regular.rs:51:5:51:18 | Use | None |
|
||||
| regular.rs:57:1:63:1 | fn enum_match | ...::enum_match |
|
||||
| regular.rs:65:1:67:1 | trait GenericTrait | ...::GenericTrait |
|
||||
| regular.rs:66:5:66:35 | fn generic_method | ...::generic_method |
|
||||
| regular.rs:69:1:72:1 | struct GenericStruct | ...::GenericStruct |
|
||||
| regular.rs:74:1:74:38 | struct GenericTupleStruct | ...::GenericTupleStruct |
|
||||
| regular.rs:77:1:80:1 | enum GenericEnum | ...::GenericEnum |
|
||||
| regular.rs:78:5:78:8 | T | ...::T |
|
||||
| regular.rs:79:5:79:8 | U | ...::U |
|
||||
| regular.rs:82:1:84:1 | impl GenericTrait::<...> for GenericStruct::<...> { ... } | None |
|
||||
| regular.rs:83:5:83:37 | fn generic_method | <... as ...>::generic_method |
|
||||
| regular.rs:86:1:88:1 | impl GenericTrait::<...> for GenericStruct::<...> { ... } | None |
|
||||
| regular.rs:87:5:87:39 | fn generic_method | <... as ...>::generic_method |
|
||||
| regular.rs:90:1:92:1 | impl GenericTrait::<...> for GenericTupleStruct::<...> { ... } | None |
|
||||
| regular.rs:91:5:91:37 | fn generic_method | <... as ...>::generic_method |
|
||||
| regular.rs:94:1:96:1 | impl GenericTrait::<...> for GenericTupleStruct::<...> { ... } | None |
|
||||
| regular.rs:95:5:95:39 | fn generic_method | <... as ...>::generic_method |
|
||||
| regular.rs:98:1:100:1 | impl GenericTrait::<...> for GenericEnum::<...> { ... } | None |
|
||||
| regular.rs:99:5:99:37 | fn generic_method | <... as ...>::generic_method |
|
||||
| regular.rs:102:1:104:1 | impl GenericTrait::<...> for GenericEnum::<...> { ... } | None |
|
||||
| regular.rs:103:5:103:39 | fn generic_method | <... as ...>::generic_method |
|
||||
| regular.rs:106:1:119:1 | fn generic_usage | ...::generic_usage |
|
||||
resolvedPaths
|
||||
| anonymous.rs:27:17:27:30 | OtherStruct {...} | repo::test | {0}::OtherStruct |
|
||||
| anonymous.rs:28:9:28:9 | s | None | None |
|
||||
| anonymous.rs:28:9:28:13 | ... .f(...) | repo::test | <{0}::OtherStruct as crate::regular::Trait>::f |
|
||||
| anonymous.rs:29:9:29:9 | s | None | None |
|
||||
| anonymous.rs:29:9:29:13 | ... .g(...) | repo::test | <{0}::OtherStruct as {0}::OtherTrait>::g |
|
||||
| anonymous.rs:30:9:30:14 | nested | repo::test | {0}::nested |
|
||||
| regular.rs:27:13:27:21 | Struct {...} | repo::test | crate::regular::Struct |
|
||||
| regular.rs:28:5:28:5 | s | None | None |
|
||||
| regular.rs:28:5:28:9 | ... .f(...) | repo::test | <crate::regular::Struct as crate::regular::Trait>::f |
|
||||
| regular.rs:29:5:29:5 | s | None | None |
|
||||
| regular.rs:29:5:29:9 | ... .g(...) | repo::test | <crate::regular::Struct>::g |
|
||||
| regular.rs:30:5:30:5 | s | None | None |
|
||||
| regular.rs:30:5:30:9 | ... .h(...) | repo::test | <_ as crate::regular::TraitWithBlanketImpl>::h |
|
||||
| regular.rs:31:5:31:8 | free | repo::test | crate::regular::free |
|
||||
| regular.rs:41:9:41:26 | ...::None::<...> | lang:core | crate::option::Option::None |
|
||||
| regular.rs:42:9:42:20 | ...::Some | lang:core | crate::option::Option::Some |
|
||||
| regular.rs:43:9:43:24 | ...::Variant1 | repo::test | crate::regular::MyEnum::Variant1 |
|
||||
| regular.rs:44:9:44:24 | ...::Variant2 | repo::test | crate::regular::MyEnum::Variant2 |
|
||||
| regular.rs:45:9:45:33 | ...::Variant3 {...} | repo::test | crate::regular::MyEnum::Variant3 |
|
||||
| regular.rs:49:9:49:18 | None::<...> | lang:core | crate::option::Option::None |
|
||||
| regular.rs:50:9:50:12 | Some | lang:core | crate::option::Option::Some |
|
||||
| regular.rs:52:9:52:16 | Variant1 | repo::test | crate::regular::MyEnum::Variant1 |
|
||||
| regular.rs:53:9:53:16 | Variant2 | repo::test | crate::regular::MyEnum::Variant2 |
|
||||
| regular.rs:54:9:54:25 | Variant3 {...} | repo::test | crate::regular::MyEnum::Variant3 |
|
||||
| regular.rs:58:11:58:11 | e | None | None |
|
||||
| regular.rs:59:9:59:24 | ...::Variant1 | repo::test | crate::regular::MyEnum::Variant1 |
|
||||
| regular.rs:60:9:60:27 | ...::Variant2(...) | repo::test | crate::regular::MyEnum::Variant2 |
|
||||
| regular.rs:61:9:61:31 | ...::Variant3 {...} | repo::test | crate::regular::MyEnum::Variant3 |
|
||||
| anonymous.rs:27:17:27:30 | OtherStruct {...} | None |
|
||||
| anonymous.rs:28:9:28:9 | s | None |
|
||||
| anonymous.rs:28:9:28:13 | ... .f(...) | None |
|
||||
| anonymous.rs:29:9:29:9 | s | None |
|
||||
| anonymous.rs:29:9:29:13 | ... .g(...) | None |
|
||||
| anonymous.rs:30:9:30:14 | nested | None |
|
||||
| regular.rs:27:13:27:21 | Struct {...} | ...::Struct |
|
||||
| regular.rs:28:5:28:5 | s | None |
|
||||
| regular.rs:28:5:28:9 | ... .f(...) | <... as ...>::f |
|
||||
| regular.rs:29:5:29:5 | s | None |
|
||||
| regular.rs:29:5:29:9 | ... .g(...) | <...>::g |
|
||||
| regular.rs:30:5:30:5 | s | None |
|
||||
| regular.rs:30:5:30:9 | ... .h(...) | <_ as ...>::h |
|
||||
| regular.rs:31:5:31:8 | free | ...::free |
|
||||
| regular.rs:41:9:41:26 | ...::None::<...> | ...::None |
|
||||
| regular.rs:42:9:42:20 | ...::Some | ...::Some |
|
||||
| regular.rs:43:9:43:24 | ...::Variant1 | ...::Variant1 |
|
||||
| regular.rs:44:9:44:24 | ...::Variant2 | ...::Variant2 |
|
||||
| regular.rs:45:9:45:33 | ...::Variant3 {...} | ...::Variant3 |
|
||||
| regular.rs:49:9:49:18 | None::<...> | ...::None |
|
||||
| regular.rs:50:9:50:12 | Some | ...::Some |
|
||||
| regular.rs:52:9:52:16 | Variant1 | ...::Variant1 |
|
||||
| regular.rs:53:9:53:16 | Variant2 | ...::Variant2 |
|
||||
| regular.rs:54:9:54:25 | Variant3 {...} | ...::Variant3 |
|
||||
| regular.rs:58:11:58:11 | e | None |
|
||||
| regular.rs:59:9:59:24 | ...::Variant1 | ...::Variant1 |
|
||||
| regular.rs:60:9:60:27 | ...::Variant2(...) | ...::Variant2 |
|
||||
| regular.rs:61:9:61:31 | ...::Variant3 {...} | ...::Variant3 |
|
||||
| regular.rs:107:13:107:41 | GenericStruct {...} | ...::GenericStruct |
|
||||
| regular.rs:108:5:108:5 | x | None |
|
||||
| regular.rs:108:5:108:26 | ... .generic_method(...) | <... as ...>::generic_method |
|
||||
| regular.rs:109:13:109:47 | GenericStruct {...} | ...::GenericStruct |
|
||||
| regular.rs:110:5:110:5 | x | None |
|
||||
| regular.rs:110:5:110:23 | ... .generic_method(...) | <... as ...>::generic_method |
|
||||
| regular.rs:111:13:111:30 | GenericTupleStruct | ...::GenericTupleStruct |
|
||||
| regular.rs:112:5:112:5 | x | None |
|
||||
| regular.rs:112:5:112:26 | ... .generic_method(...) | <... as ...>::generic_method |
|
||||
| regular.rs:113:13:113:30 | GenericTupleStruct | ...::GenericTupleStruct |
|
||||
| regular.rs:114:5:114:5 | x | None |
|
||||
| regular.rs:114:5:114:23 | ... .generic_method(...) | <... as ...>::generic_method |
|
||||
| regular.rs:115:13:115:37 | ...::T | ...::T |
|
||||
| regular.rs:116:5:116:5 | x | None |
|
||||
| regular.rs:116:5:116:27 | ... .generic_method(...) | <... as ...>::generic_method |
|
||||
| regular.rs:117:13:117:37 | ...::U | ...::U |
|
||||
| regular.rs:118:5:118:5 | x | None |
|
||||
| regular.rs:118:5:118:23 | ... .generic_method(...) | <... as ...>::generic_method |
|
||||
resolve
|
||||
| regular.rs:27:13:27:21 | Struct {...} | regular.rs:1:1:2:18 | struct Struct |
|
||||
| regular.rs:28:5:28:9 | ... .f(...) | regular.rs:9:5:9:18 | fn f |
|
||||
| regular.rs:29:5:29:9 | ... .g(...) | anonymous.rs:15:9:15:22 | fn g |
|
||||
| regular.rs:29:5:29:9 | ... .g(...) | regular.rs:13:5:13:18 | fn g |
|
||||
| regular.rs:30:5:30:9 | ... .h(...) | regular.rs:21:5:21:18 | fn h |
|
||||
| regular.rs:31:5:31:8 | free | regular.rs:24:1:24:12 | fn free |
|
||||
| regular.rs:43:9:43:24 | ...::Variant1 | regular.rs:35:5:35:12 | Variant1 |
|
||||
| regular.rs:44:9:44:24 | ...::Variant2 | regular.rs:36:5:36:19 | Variant2 |
|
||||
| regular.rs:45:9:45:33 | ...::Variant3 {...} | regular.rs:37:5:37:25 | Variant3 |
|
||||
| regular.rs:52:9:52:16 | Variant1 | regular.rs:35:5:35:12 | Variant1 |
|
||||
| regular.rs:53:9:53:16 | Variant2 | regular.rs:36:5:36:19 | Variant2 |
|
||||
| regular.rs:54:9:54:25 | Variant3 {...} | regular.rs:37:5:37:25 | Variant3 |
|
||||
| regular.rs:59:9:59:24 | ...::Variant1 | regular.rs:35:5:35:12 | Variant1 |
|
||||
| regular.rs:60:9:60:27 | ...::Variant2(...) | regular.rs:36:5:36:19 | Variant2 |
|
||||
| regular.rs:61:9:61:31 | ...::Variant3 {...} | regular.rs:37:5:37:25 | Variant3 |
|
||||
| regular.rs:107:13:107:41 | GenericStruct {...} | regular.rs:69:1:72:1 | struct GenericStruct |
|
||||
| regular.rs:108:5:108:26 | ... .generic_method(...) | regular.rs:83:5:83:37 | fn generic_method |
|
||||
| regular.rs:109:13:109:47 | GenericStruct {...} | regular.rs:69:1:72:1 | struct GenericStruct |
|
||||
| regular.rs:110:5:110:23 | ... .generic_method(...) | regular.rs:87:5:87:39 | fn generic_method |
|
||||
| regular.rs:111:13:111:30 | GenericTupleStruct | regular.rs:74:1:74:38 | struct GenericTupleStruct |
|
||||
| regular.rs:112:5:112:26 | ... .generic_method(...) | regular.rs:91:5:91:37 | fn generic_method |
|
||||
| regular.rs:113:13:113:30 | GenericTupleStruct | regular.rs:74:1:74:38 | struct GenericTupleStruct |
|
||||
| regular.rs:114:5:114:23 | ... .generic_method(...) | regular.rs:95:5:95:39 | fn generic_method |
|
||||
| regular.rs:115:13:115:37 | ...::T | regular.rs:78:5:78:8 | T |
|
||||
| regular.rs:116:5:116:27 | ... .generic_method(...) | regular.rs:99:5:99:37 | fn generic_method |
|
||||
| regular.rs:117:13:117:37 | ...::U | regular.rs:79:5:79:8 | U |
|
||||
| regular.rs:118:5:118:23 | ... .generic_method(...) | regular.rs:103:5:103:39 | fn generic_method |
|
||||
|
||||
@@ -1,30 +1,26 @@
|
||||
import rust
|
||||
import TestUtils
|
||||
|
||||
query predicate canonicalPaths(Item i, string origin, string path) {
|
||||
query predicate canonicalPaths(Addressable i, string answer) {
|
||||
toBeTested(i) and
|
||||
(
|
||||
origin = i.getCrateOrigin()
|
||||
answer = i.getCanonicalPath().toString()
|
||||
or
|
||||
not i.hasCrateOrigin() and origin = "None"
|
||||
) and
|
||||
(
|
||||
path = i.getExtendedCanonicalPath()
|
||||
or
|
||||
not i.hasExtendedCanonicalPath() and path = "None"
|
||||
not i.hasCanonicalPath() and answer = "None"
|
||||
)
|
||||
}
|
||||
|
||||
query predicate resolvedPaths(Resolvable e, string origin, string path) {
|
||||
toBeTested(e) and
|
||||
query predicate resolvedPaths(Resolvable i, string answer) {
|
||||
toBeTested(i) and
|
||||
(
|
||||
origin = e.getResolvedCrateOrigin()
|
||||
answer = i.getResolvedCanonicalPath().toString()
|
||||
or
|
||||
not e.hasResolvedCrateOrigin() and origin = "None"
|
||||
) and
|
||||
(
|
||||
path = e.getResolvedPath()
|
||||
or
|
||||
not e.hasResolvedPath() and path = "None"
|
||||
not i.hasResolvedCanonicalPath() and answer = "None"
|
||||
)
|
||||
}
|
||||
|
||||
query predicate resolve(Resolvable i, Addressable j) {
|
||||
toBeTested(i) and
|
||||
toBeTested(j) and
|
||||
i.getResolvedCanonicalPath() = j.getCanonicalPath()
|
||||
}
|
||||
|
||||
@@ -61,3 +61,59 @@ fn enum_match(e: MyEnum) {
|
||||
MyEnum::Variant3 { .. } => {}
|
||||
}
|
||||
}
|
||||
|
||||
trait GenericTrait<T> {
|
||||
fn generic_method(&self, t: T);
|
||||
}
|
||||
|
||||
struct GenericStruct<T, U> {
|
||||
pub t: T,
|
||||
pub u: U,
|
||||
}
|
||||
|
||||
struct GenericTupleStruct<T, U>(T, U);
|
||||
|
||||
|
||||
enum GenericEnum<T, U> {
|
||||
T(T),
|
||||
U(U),
|
||||
}
|
||||
|
||||
impl<T> GenericTrait<T> for GenericStruct<i32, T> {
|
||||
fn generic_method(&self, t: T) {}
|
||||
}
|
||||
|
||||
impl GenericTrait<i32> for GenericStruct<&str, i32> {
|
||||
fn generic_method(&self, t: i32) {}
|
||||
}
|
||||
|
||||
impl<T> GenericTrait<T> for GenericTupleStruct<i32, T> {
|
||||
fn generic_method(&self, t: T) {}
|
||||
}
|
||||
|
||||
impl GenericTrait<i32> for GenericTupleStruct<&str, i32> {
|
||||
fn generic_method(&self, t: i32) {}
|
||||
}
|
||||
|
||||
impl<T> GenericTrait<T> for GenericEnum<i32, T> {
|
||||
fn generic_method(&self, t: T) {}
|
||||
}
|
||||
|
||||
impl GenericTrait<i32> for GenericEnum<&str, i32> {
|
||||
fn generic_method(&self, t: i32) {}
|
||||
}
|
||||
|
||||
fn generic_usage() {
|
||||
let x = GenericStruct { t: 0, u: "" };
|
||||
x.generic_method("hi");
|
||||
let x = GenericStruct { t: "hello", u: 42 };
|
||||
x.generic_method(0);
|
||||
let x = GenericTupleStruct(0, "");
|
||||
x.generic_method("hi");
|
||||
let x = GenericTupleStruct("hello", 42);
|
||||
x.generic_method(0);
|
||||
let x = GenericEnum::<_, &str>::T(0);
|
||||
x.generic_method("hey");
|
||||
let x = GenericEnum::<&str, _>::U(0);
|
||||
x.generic_method(1);
|
||||
}
|
||||
|
||||
@@ -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 hasCanonicalPath,
|
||||
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.hasCanonicalPath() then hasCanonicalPath = "yes" else hasCanonicalPath = "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
|
||||
"hasCanonicalPath:", hasCanonicalPath, "getNumberOfAttrs:", getNumberOfAttrs, "hasBody:", hasBody,
|
||||
"isConst:", isConst, "isDefault:", isDefault, "hasName:", hasName, "hasTypeRepr:", hasTypeRepr,
|
||||
"hasVisibility:", hasVisibility
|
||||
|
||||
7
rust/ql/test/extractor-tests/generated/Const/Const_getCanonicalPath.ql
generated
Normal file
7
rust/ql/test/extractor-tests/generated/Const/Const_getCanonicalPath.ql
generated
Normal 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.getCanonicalPath()
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user