@@ -147,12 +147,6 @@ abstract class ItemNode extends Locatable {
147
147
)
148
148
)
149
149
or
150
- // items made available through macro calls are available to nodes that contain the macro call
151
- exists ( MacroCallItemNode call |
152
- call = this .getASuccessorRec ( _) and
153
- result = call .( ItemNode ) .getASuccessorRec ( name )
154
- )
155
- or
156
150
// a trait has access to the associated items of its supertraits
157
151
this =
158
152
any ( TraitItemNode trait |
@@ -573,7 +567,7 @@ class ImplItemNode extends ImplOrTraitItemNode instanceof Impl {
573
567
574
568
TraitItemNode resolveTraitTy ( ) { result = resolvePath ( this .getTraitPath ( ) ) }
575
569
576
- override AssocItemNode getAnAssocItem ( ) { result = super . getAssocItemList ( ) . getAnAssocItem ( ) }
570
+ override AssocItemNode getAnAssocItem ( ) { result = this . getADescendant ( ) }
577
571
578
572
override string getName ( ) { result = "(impl)" }
579
573
@@ -680,32 +674,6 @@ private class ImplTraitTypeReprItemNode extends ItemNode instanceof ImplTraitTyp
680
674
override string getCanonicalPath ( Crate c ) { none ( ) }
681
675
}
682
676
683
- private class MacroCallItemNode extends AssocItemNode instanceof MacroCall {
684
- override string getName ( ) { result = "(macro call)" }
685
-
686
- override predicate hasImplementation ( ) { none ( ) }
687
-
688
- override Namespace getNamespace ( ) { none ( ) }
689
-
690
- override TypeParam getTypeParam ( int i ) { none ( ) }
691
-
692
- override Visibility getVisibility ( ) { none ( ) }
693
-
694
- override predicate providesCanonicalPathPrefixFor ( Crate c , ItemNode child ) {
695
- any ( ItemNode parent ) .providesCanonicalPathPrefixFor ( c , this ) and
696
- child .getImmediateParent ( ) = this
697
- }
698
-
699
- override string getCanonicalPathPrefixFor ( Crate c , ItemNode child ) {
700
- result = this .getCanonicalPathPrefix ( c ) and
701
- this .providesCanonicalPathPrefixFor ( c , child )
702
- }
703
-
704
- override predicate hasCanonicalPath ( Crate c ) { none ( ) }
705
-
706
- override string getCanonicalPath ( Crate c ) { none ( ) }
707
- }
708
-
709
677
private class ModuleItemNode extends ModuleLikeNode instanceof Module {
710
678
override string getName ( ) { result = Module .super .getName ( ) .getText ( ) }
711
679
@@ -726,11 +694,6 @@ private class ModuleItemNode extends ModuleLikeNode instanceof Module {
726
694
)
727
695
or
728
696
this = child .getImmediateParent ( )
729
- or
730
- exists ( ItemNode mid |
731
- this .providesCanonicalPathPrefixFor ( c , mid ) and
732
- mid .( MacroCallItemNode ) = child .getImmediateParent ( )
733
- )
734
697
)
735
698
}
736
699
@@ -797,7 +760,7 @@ class TraitItemNode extends ImplOrTraitItemNode, TypeItemNode instanceof Trait {
797
760
pragma [ nomagic]
798
761
ItemNode resolveABound ( ) { result = resolvePath ( this .getABoundPath ( ) ) }
799
762
800
- override AssocItemNode getAnAssocItem ( ) { result = super . getAssocItemList ( ) . getAnAssocItem ( ) }
763
+ override AssocItemNode getAnAssocItem ( ) { result = this . getADescendant ( ) }
801
764
802
765
override string getName ( ) { result = Trait .super .getName ( ) .getText ( ) }
803
766
@@ -993,7 +956,7 @@ class TypeParamItemNode extends TypeItemNode instanceof TypeParam {
993
956
994
957
/** Holds if `item` has the name `name` and is a top-level item inside `f`. */
995
958
private predicate sourceFileEdge ( SourceFile f , string name , ItemNode item ) {
996
- item = f .getAnItem ( ) and
959
+ item = f .( ItemNode ) . getADescendant ( ) and
997
960
name = item .getName ( )
998
961
}
999
962
@@ -1186,11 +1149,6 @@ private predicate declares(ItemNode item, Namespace ns, string name) {
1186
1149
useTreeDeclares ( child .( Use ) .getUseTree ( ) , name ) and
1187
1150
exists ( ns ) // `use foo::bar` can refer to both a value and a type
1188
1151
)
1189
- or
1190
- exists ( MacroCallItemNode call |
1191
- declares ( call , ns , name ) and
1192
- call .getImmediateParent ( ) = item
1193
- )
1194
1152
}
1195
1153
1196
1154
/** A path that does not access a local variable. */
0 commit comments