@@ -136,7 +136,7 @@ abstract class ItemNode extends AstNode {
136
136
any ( TraitItemNode trait |
137
137
result = trait .resolveABound ( ) .getASuccessorRec ( name ) and
138
138
result instanceof AssocItemNode and
139
- not trait .declares ( name )
139
+ not trait .hasAssocItem ( name )
140
140
)
141
141
or
142
142
// items made available by an implementation where `this` is the implementing type
@@ -152,15 +152,11 @@ abstract class ItemNode extends AstNode {
152
152
trait = impl .resolveTraitTy ( ) and
153
153
result = trait .getASuccessorRec ( name ) and
154
154
result .( AssocItemNode ) .hasImplementation ( ) and
155
- not impl .declares ( name )
155
+ not impl .hasAssocItem ( name )
156
156
)
157
157
or
158
158
// type parameters have access to the associated items of its bounds
159
- this =
160
- any ( TypeParamItemNode param |
161
- result = param .resolveABound ( ) .getASuccessorRec ( name ) and
162
- result instanceof AssocItemNode
163
- )
159
+ result = this .( TypeParamItemNode ) .resolveABound ( ) .getASuccessorRec ( name ) .( AssocItemNode )
164
160
}
165
161
166
162
/** Gets a successor named `name` of this item, if any. */
@@ -282,7 +278,7 @@ class ImplItemNode extends ImplOrTraitItemNode instanceof Impl {
282
278
283
279
/** Holds if this `impl` block declares an associated item named `name`. */
284
280
pragma [ nomagic]
285
- predicate declares ( string name ) {
281
+ predicate hasAssocItem ( string name ) {
286
282
name = super .getAssocItemList ( ) .getAnAssocItem ( ) .( AssocItemNode ) .getName ( )
287
283
}
288
284
@@ -336,7 +332,7 @@ class TraitItemNode extends ImplOrTraitItemNode instanceof Trait {
336
332
337
333
/** Holds if this trait declares an associated item named `name`. */
338
334
pragma [ nomagic]
339
- predicate declares ( string name ) {
335
+ predicate hasAssocItem ( string name ) {
340
336
name = super .getAssocItemList ( ) .getAnAssocItem ( ) .( AssocItemNode ) .getName ( )
341
337
}
342
338
0 commit comments