View | Details | Raw Unified | Return to bug 317046
Collapse All | Expand All

(-)compiler/org/eclipse/jdt/internal/compiler/lookup/TypeBinding.java (-5 / +4 lines)
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;

Return to bug 317046