mirror of
https://github.com/github/codeql.git
synced 2026-04-25 08:45:14 +02:00
Rust: use getADescendant instead of getAnItem
This should handle all cases where items contained in intermediate nodes, such as MacroCall, ExternBlock and MacroItem nodes.
This commit is contained in:
@@ -567,7 +567,7 @@ class ImplItemNode extends ImplOrTraitItemNode instanceof Impl {
|
||||
|
||||
TraitItemNode resolveTraitTy() { result = resolvePath(this.getTraitPath()) }
|
||||
|
||||
override AssocItemNode getAnAssocItem() { result = super.getAssocItemList().getAnAssocItem() }
|
||||
override AssocItemNode getAnAssocItem() { result = this.getADescendant() }
|
||||
|
||||
override string getName() { result = "(impl)" }
|
||||
|
||||
@@ -760,7 +760,7 @@ class TraitItemNode extends ImplOrTraitItemNode, TypeItemNode instanceof Trait {
|
||||
pragma[nomagic]
|
||||
ItemNode resolveABound() { result = resolvePath(this.getABoundPath()) }
|
||||
|
||||
override AssocItemNode getAnAssocItem() { result = super.getAssocItemList().getAnAssocItem() }
|
||||
override AssocItemNode getAnAssocItem() { result = this.getADescendant() }
|
||||
|
||||
override string getName() { result = Trait.super.getName().getText() }
|
||||
|
||||
@@ -956,7 +956,7 @@ class TypeParamItemNode extends TypeItemNode instanceof TypeParam {
|
||||
|
||||
/** Holds if `item` has the name `name` and is a top-level item inside `f`. */
|
||||
private predicate sourceFileEdge(SourceFile f, string name, ItemNode item) {
|
||||
item = f.getAnItem() and
|
||||
item = f.(ItemNode).getADescendant() and
|
||||
name = item.getName()
|
||||
}
|
||||
|
||||
|
||||
@@ -25,6 +25,7 @@ canonicalPath
|
||||
| regular.rs:40:1:46:1 | fn enum_qualified_usage | test::regular::enum_qualified_usage |
|
||||
| regular.rs:48:1:55:1 | fn enum_unqualified_usage | test::regular::enum_unqualified_usage |
|
||||
| regular.rs:57:1:63:1 | fn enum_match | test::regular::enum_match |
|
||||
| regular.rs:66:5:66:40 | fn is_alphanum | test::regular::is_alphanum |
|
||||
| regular.rs:69:1:71:1 | fn is_number_or_letter | test::regular::is_number_or_letter |
|
||||
canonicalPaths
|
||||
| anonymous.rs:1:1:1:26 | use ...::Trait | None | None |
|
||||
|
||||
Reference in New Issue
Block a user