Lines 692-698
Link Here
|
692 |
} while ((currentType = currentType.superclass()) != null && (currentType.tagBits & HasNoMemberTypes) == 0); |
692 |
} while ((currentType = currentType.superclass()) != null && (currentType.tagBits & HasNoMemberTypes) == 0); |
693 |
} |
693 |
} |
694 |
// Perform deferred bound checks for parameterized type references (only done after hierarchy is connected) |
694 |
// Perform deferred bound checks for parameterized type references (only done after hierarchy is connected) |
695 |
private void checkParameterizedTypeBounds() { |
695 |
public void checkParameterizedTypeBounds() { |
696 |
TypeReference superclass = referenceContext.superclass; |
696 |
TypeReference superclass = referenceContext.superclass; |
697 |
if (superclass != null) { |
697 |
if (superclass != null) { |
698 |
superclass.checkBounds(this); |
698 |
superclass.checkBounds(this); |
Lines 709-714
Link Here
|
709 |
typeParameters[i].checkBounds(this); |
709 |
typeParameters[i].checkBounds(this); |
710 |
} |
710 |
} |
711 |
} |
711 |
} |
|
|
712 |
// propagate to member types |
713 |
ReferenceBinding[] memberTypes = referenceContext.binding.memberTypes; |
714 |
if (memberTypes != null && memberTypes != NoMemberTypes) { |
715 |
for (int i = 0, size = memberTypes.length; i < size; i++) |
716 |
((SourceTypeBinding) memberTypes[i]).scope.checkParameterizedTypeBounds(); |
717 |
} |
712 |
} |
718 |
} |
713 |
|
719 |
|
714 |
private void connectMemberTypes() { |
720 |
private void connectMemberTypes() { |
Lines 935-942
Link Here
|
935 |
if (noProblems && sourceType.isHierarchyInconsistent()) |
941 |
if (noProblems && sourceType.isHierarchyInconsistent()) |
936 |
problemReporter().hierarchyHasProblems(sourceType); |
942 |
problemReporter().hierarchyHasProblems(sourceType); |
937 |
} |
943 |
} |
938 |
// Perform deferred bound checks for parameterized type references (only done after hierarchy is connected) |
|
|
939 |
checkParameterizedTypeBounds(); |
940 |
connectMemberTypes(); |
944 |
connectMemberTypes(); |
941 |
try { |
945 |
try { |
942 |
checkForInheritedMemberTypes(sourceType); |
946 |
checkForInheritedMemberTypes(sourceType); |