@@ -175,8 +175,7 @@ public ResolvedTypeWithMembers resolve(final ResolvedType mainType,
175
175
private void _addOverrides (List <HierarchicType > typesWithOverrides , Set <ClassKey > seenTypes , Class <?> override )
176
176
{
177
177
ClassKey key = new ClassKey (override );
178
- if (!seenTypes .contains (key )) {
179
- seenTypes .add (key );
178
+ if (seenTypes .add (key )) {
180
179
ResolvedType resolvedOverride = _typeResolver .resolve (override );
181
180
typesWithOverrides .add (new HierarchicType (resolvedOverride , true , typesWithOverrides .size ()));
182
181
for (ResolvedType r : resolvedOverride .getImplementedInterfaces ()) { // interfaces?
@@ -194,8 +193,7 @@ private void _addOverrides(List<HierarchicType> typesWithOverrides, Set<ClassKey
194
193
Class <?> raw = override .getErasedType ();
195
194
if (!_cfgIncludeLangObject && Object .class == raw ) return ;
196
195
ClassKey key = new ClassKey (raw );
197
- if (!seenTypes .contains (key )) {
198
- seenTypes .add (key );
196
+ if (seenTypes .add (key )) {
199
197
typesWithOverrides .add (new HierarchicType (override , true , typesWithOverrides .size ()));
200
198
for (ResolvedType r : override .getImplementedInterfaces ()) { // interfaces?
201
199
_addOverrides (typesWithOverrides , seenTypes , r );
@@ -227,11 +225,10 @@ protected void _gatherTypes(ResolvedType currentType, Set<ClassKey> seenTypes,
227
225
}
228
226
// Finally, only include first instance of an interface, so:
229
227
ClassKey key = new ClassKey (currentType .getErasedType ());
230
- if (seenTypes .contains (key )) {
228
+ if (! seenTypes .add (key )) {
231
229
return ;
232
230
}
233
231
// If all good so far, append
234
- seenTypes .add (key );
235
232
types .add (currentType );
236
233
/* and check supertypes; starting with interfaces. Why interfaces?
237
234
* So that "highest" interfaces get priority; otherwise we'd recurse
0 commit comments