@@ -1646,16 +1646,18 @@ private ItemNode resolveUseTreeListItemQualifier(
16461646
16471647pragma [ nomagic]
16481648private ItemNode resolveUseTreeListItem ( Use use , UseTree tree ) {
1649- tree = use .getUseTree ( ) and
1650- result = resolvePathCand ( tree .getPath ( ) )
1651- or
1652- result = resolveUseTreeListItem ( use , tree , tree .getPath ( ) , _)
1649+ exists ( Path path | path = tree .getPath ( ) |
1650+ tree = use .getUseTree ( ) and
1651+ result = resolvePathCand ( path )
1652+ or
1653+ result = resolveUseTreeListItem ( use , tree , path , _)
1654+ )
16531655}
16541656
16551657/** Holds if `use` imports `item` as `name`. */
16561658pragma [ nomagic]
16571659private predicate useImportEdge ( Use use , string name , ItemNode item , SuccessorKind kind ) {
1658- ( if use . hasVisibility ( ) then kind .isBoth ( ) else kind . isInternal ( ) ) and
1660+ kind .isBoth ( ) and
16591661 exists ( UseTree tree , ItemNode used |
16601662 used = resolveUseTreeListItem ( use , tree ) and
16611663 not tree .hasUseTreeList ( ) and
@@ -1673,7 +1675,10 @@ private predicate useImportEdge(Use use, string name, ItemNode item, SuccessorKi
16731675 item = used and
16741676 (
16751677 not tree .hasRename ( ) and
1676- name = item .getName ( )
1678+ exists ( string pathName |
1679+ pathName = tree .getPath ( ) .getText ( ) and
1680+ if pathName = "self" then name = item .getName ( ) else name = pathName
1681+ )
16771682 or
16781683 exists ( Rename rename | rename = tree .getRename ( ) |
16791684 name = rename .getName ( ) .getText ( )
0 commit comments