Lines 630-652
Link Here
|
630 |
return false; |
630 |
return false; |
631 |
|
631 |
|
632 |
case Binding.GENERIC_TYPE : |
632 |
case Binding.GENERIC_TYPE : |
633 |
SourceTypeBinding otherGenericType = (SourceTypeBinding) otherType; |
633 |
if (paramType.genericType() != otherType) |
634 |
if (paramType.genericType() != otherGenericType) |
|
|
635 |
return true; |
634 |
return true; |
636 |
if (!paramType.isStatic()) { // static member types do not compare their enclosing |
635 |
if (!paramType.isStatic()) { // static member types do not compare their enclosing |
637 |
ReferenceBinding enclosing = enclosingType(); |
636 |
ReferenceBinding enclosing = enclosingType(); |
638 |
if (enclosing != null) { |
637 |
if (enclosing != null) { |
639 |
ReferenceBinding otherEnclosing = otherGenericType.enclosingType(); |
638 |
ReferenceBinding otherEnclosing = (otherType).enclosingType(); |
640 |
if (otherEnclosing == null) return true; |
639 |
if (otherEnclosing == null) return true; |
641 |
if ((otherEnclosing.tagBits & TagBits.HasDirectWildcard) == 0) { |
640 |
if ((otherEnclosing.tagBits & TagBits.HasDirectWildcard) == 0) { |
642 |
if (enclosing != otherEnclosing) return true; |
641 |
if (enclosing != otherEnclosing) return true; |
643 |
} else { |
642 |
} else { |
644 |
if (!enclosing.isEquivalentTo(otherGenericType.enclosingType())) return true; |
643 |
if (!enclosing.isEquivalentTo(otherType.enclosingType())) return true; |
645 |
} |
644 |
} |
646 |
} |
645 |
} |
647 |
} |
646 |
} |
648 |
length = paramType.arguments == null ? 0 : paramType.arguments.length; |
647 |
length = paramType.arguments == null ? 0 : paramType.arguments.length; |
649 |
otherArguments = otherGenericType.typeVariables(); |
648 |
otherArguments = otherType.typeVariables(); |
650 |
otherLength = otherArguments == null ? 0 : otherArguments.length; |
649 |
otherLength = otherArguments == null ? 0 : otherArguments.length; |
651 |
if (otherLength != length) |
650 |
if (otherLength != length) |
652 |
return true; |
651 |
return true; |