@@ -286,11 +286,7 @@ abstract private class ModuleLikeNode extends ItemNode {
286286 * Holds if this is a root module, meaning either a source file or
287287 * the entry module of a crate.
288288 */
289- predicate isRoot ( ) {
290- this instanceof SourceFileItemNode
291- or
292- this = any ( Crate c ) .getModule ( )
293- }
289+ predicate isRoot ( ) { this instanceof SourceFileItemNode }
294290}
295291
296292private class SourceFileItemNode extends ModuleLikeNode , SourceFile {
@@ -322,12 +318,7 @@ class CrateItemNode extends ItemNode instanceof Crate {
322318 * or a module, when the crate is defined in a dependency.
323319 */
324320 pragma [ nomagic]
325- ModuleLikeNode getModuleNode ( ) {
326- result = super .getSourceFile ( )
327- or
328- not exists ( super .getSourceFile ( ) ) and
329- result = super .getModule ( )
330- }
321+ ModuleLikeNode getModuleNode ( ) { result = super .getSourceFile ( ) }
331322
332323 /**
333324 * Gets a source file that belongs to this crate, if any.
@@ -351,11 +342,7 @@ class CrateItemNode extends ItemNode instanceof Crate {
351342 /**
352343 * Gets a root module node belonging to this crate.
353344 */
354- ModuleLikeNode getARootModuleNode ( ) {
355- result = this .getASourceFile ( )
356- or
357- result = super .getModule ( )
358- }
345+ ModuleLikeNode getARootModuleNode ( ) { result = this .getASourceFile ( ) }
359346
360347 pragma [ nomagic]
361348 predicate isPotentialDollarCrateTarget ( ) {
@@ -1104,7 +1091,7 @@ private predicate crateDependencyEdge(ModuleLikeNode m, string name, CrateItemNo
11041091 or
11051092 // paths inside the crate graph use the name of the crate itself as prefix,
11061093 // although that is not valid in Rust
1107- dep = any ( Crate c | name = c .getName ( ) and m = c .getModule ( ) )
1094+ dep = any ( Crate c | name = c .getName ( ) and m = c .getSourceFile ( ) )
11081095}
11091096
11101097private predicate useTreeDeclares ( UseTree tree , string name ) {
@@ -1448,10 +1435,10 @@ private predicate useImportEdge(Use use, string name, ItemNode item) {
14481435 * [1]: https://doc.rust-lang.org/core/prelude/index.html
14491436 */
14501437private predicate preludeEdge ( SourceFile f , string name , ItemNode i ) {
1451- exists ( Crate core , ModuleItemNode mod , ModuleItemNode prelude , ModuleItemNode rust |
1438+ exists ( Crate core , ModuleLikeNode mod , ModuleItemNode prelude , ModuleItemNode rust |
14521439 f = any ( Crate c0 | core = c0 .getDependency ( _) ) .getASourceFile ( ) and
14531440 core .getName ( ) = "core" and
1454- mod = core .getModule ( ) and
1441+ mod = core .getSourceFile ( ) and
14551442 prelude = mod .getASuccessorRec ( "prelude" ) and
14561443 rust = prelude .getASuccessorRec ( [ "rust_2015" , "rust_2018" , "rust_2021" , "rust_2024" ] ) and
14571444 i = rust .getASuccessorRec ( name ) and
0 commit comments