File tree Expand file tree Collapse file tree
test/library-tests/path-resolution Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -186,7 +186,12 @@ abstract class ItemNode extends Locatable {
186186 name = "super" and
187187 if this instanceof Module
188188 then result = this .getImmediateParentModule ( )
189- else result = this .getImmediateParentModule ( ) .getImmediateParentModule ( )
189+ else
190+ result =
191+ [
192+ this .getImmediateParentModule ( ) .getImmediateParentModule ( ) ,
193+ this .( SourceFileItemNode ) .getSuper ( )
194+ ]
190195 or
191196 name = "self" and
192197 if this instanceof Module then result = this else result = this .getImmediateParentModule ( )
@@ -221,6 +226,14 @@ abstract private class ModuleLikeNode extends ItemNode {
221226}
222227
223228private class SourceFileItemNode extends ModuleLikeNode , SourceFile {
229+ pragma [ nomagic]
230+ ModuleLikeNode getSuper ( ) {
231+ exists ( ModuleItemNode mod |
232+ fileImport ( mod , this ) and
233+ result = mod .getASuccessor ( "super" )
234+ )
235+ }
236+
224237 override string getName ( ) { result = "(source file)" }
225238
226239 override Namespace getNamespace ( ) {
Original file line number Diff line number Diff line change 11pub fn f ( ) {
22 println ! ( "my2/my3/mod.rs::f" ) ;
3- g ( ) ; // $ MISSING: item=I9
4- h ( ) ; // $ MISSING: item=I25
3+ g ( ) ; // $ item=I9
4+ h ( ) ; // $ item=I25
55} // I200
66
7- use super :: super :: h; // $ MISSING: item=I25
8- use super :: g; // $ MISSING: item=I9
7+ use super :: super :: h; // $ item=I25
8+ use super :: g; // $ item=I9
Original file line number Diff line number Diff line change @@ -270,6 +270,13 @@ resolvePath
270270| my2/mod.rs:10:9:10:24 | ...::nested7 | my2/nested2.rs:21:1:27:1 | mod nested7 |
271271| my2/mod.rs:10:9:10:33 | ...::nested8 | my2/nested2.rs:22:5:26:5 | mod nested8 |
272272| my2/mod.rs:10:37:10:40 | self | my2/nested2.rs:22:5:26:5 | mod nested8 |
273+ | my2/my3/mod.rs:3:5:3:5 | g | my2/mod.rs:3:1:6:1 | fn g |
274+ | my2/my3/mod.rs:4:5:4:5 | h | main.rs:50:1:69:1 | fn h |
275+ | my2/my3/mod.rs:7:5:7:9 | super | my2/mod.rs:1:1:12:13 | SourceFile |
276+ | my2/my3/mod.rs:7:5:7:16 | ...::super | main.rs:1:1:501:2 | SourceFile |
277+ | my2/my3/mod.rs:7:5:7:19 | ...::h | main.rs:50:1:69:1 | fn h |
278+ | my2/my3/mod.rs:8:5:8:9 | super | my2/mod.rs:1:1:12:13 | SourceFile |
279+ | my2/my3/mod.rs:8:5:8:12 | ...::g | my2/mod.rs:3:1:6:1 | fn g |
273280| my.rs:3:5:3:10 | nested | my.rs:1:1:1:15 | mod nested |
274281| my.rs:3:5:3:13 | ...::g | my/nested.rs:19:1:22:1 | fn g |
275282| my.rs:11:5:11:5 | g | my/nested.rs:19:1:22:1 | fn g |
You can’t perform that action at this time.
0 commit comments