View | Details | Raw Unified | Return to bug 355838 | Differences between
and this patch

Collapse All | Expand All

(-)compiler/org/eclipse/jdt/internal/compiler/lookup/SourceTypeBinding.java (-4 / +20 lines)
Lines 1233-1240 Link Here
1233
									int index = pLength;
1233
									int index = pLength;
1234
									// is erasure of signature of m2 same as signature of m1?
1234
									// is erasure of signature of m2 same as signature of m1?
1235
									for (; --index >= 0;) {
1235
									for (; --index >= 0;) {
1236
										if (params1[index] != params2[index].erasure())
1236
										if (params1[index] != params2[index].erasure()) {
1237
											break;
1237
											// If one of them is a raw type
1238
											if (params1[index] instanceof RawTypeBinding) {
1239
												if (params2[index].erasure() != ((RawTypeBinding)params1[index]).actualType()) {
1240
													break;
1241
												}
1242
											} else  {
1243
												break;
1244
											}
1245
										}
1238
										if (params1[index] == params2[index]) {
1246
										if (params1[index] == params2[index]) {
1239
											TypeBinding type = params1[index].leafComponentType();
1247
											TypeBinding type = params1[index].leafComponentType();
1240
											if (type instanceof SourceTypeBinding && type.typeVariables() != Binding.NO_TYPE_VARIABLES) {
1248
											if (type instanceof SourceTypeBinding && type.typeVariables() != Binding.NO_TYPE_VARIABLES) {
Lines 1246-1253 Link Here
1246
									if (index >= 0 && index < pLength) {
1254
									if (index >= 0 && index < pLength) {
1247
										// is erasure of signature of m1 same as signature of m2?
1255
										// is erasure of signature of m1 same as signature of m2?
1248
										for (index = pLength; --index >= 0;)
1256
										for (index = pLength; --index >= 0;)
1249
											if (params1[index].erasure() != params2[index])
1257
											if (params1[index].erasure() != params2[index]) {
1250
												break;
1258
												// If one of them is a raw type
1259
												if (params2[index] instanceof RawTypeBinding) {
1260
													if (params1[index].erasure() != ((RawTypeBinding)params2[index]).actualType()) {
1261
														break;
1262
													}
1263
												} else  {
1264
													break;
1265
												}
1266
											}
1251
										
1267
										
1252
									}
1268
									}
1253
									if (index >= 0) {
1269
									if (index >= 0) {

Return to bug 355838