anchor.diff:          return;
         }
         seenTypes.add(type);
  -      librariesWithTypes.add(type.element.library);
  -      type.element.accept(typeVisitor);
  +      librariesWithTypes.add(type.element2.library);
  +      type.element2.accept(typeVisitor);
         // For a type like `Foo<Bar>`, add the `Bar`.
         type.typeArguments
             .whereType<analyzer.InterfaceType>()
  
positive.code:           for (final parameter in toStringMethod.parameters) {
              final parameterType = parameter.type;
              if (parameterType is analyzer.InterfaceType) {
                parameterType.element.accept(this);
              }
            }
          }
  
negative.code:     while (allOverriddenMethods.isNotEmpty) {
        final overriddenMethod = allOverriddenMethods.removeFirst();
        final secondaryOverrides = inheritanceManager.getOverridden2(
            overriddenMethod.enclosingElement3 as ClassElement, name);
        if (secondaryOverrides != null) {
          allOverriddenMethods.addAll(secondaryOverrides);
        }
  