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

Collapse All | Expand All

(-)model/org/eclipse/jdt/internal/core/util/KeyToSignature.java (-2 / +2 lines)
Lines 57-64 Link Here
57
	}
57
	}
58
	
58
	
59
	public void consumeCapture(int position) {
59
	public void consumeCapture(int position) {
60
		// behave as if it was a wildcard
60
		this.signature.append('!');
61
		this.signature = ((KeyToSignature) this.arguments.get(0)).signature;
61
		this.signature.append(((KeyToSignature) this.arguments.get(0)).signature);
62
	}
62
	}
63
		
63
		
64
	public void consumeLocalType(char[] uniqueKey) {
64
	public void consumeLocalType(char[] uniqueKey) {
(-)src/org/eclipse/jdt/core/tests/model/SignatureTests.java (+28 lines)
Lines 966-971 Link Here
966
		"? super InputStream",
966
		"? super InputStream",
967
		Signature.toString("-QInputStream;"));
967
		Signature.toString("-QInputStream;"));
968
}
968
}
969
970
/* 
971
 * Ensures that the toString() signature of a capture with no bounds is correct
972
 */
973
public void testToStringType28() {
974
	assertEquals(
975
		"capture-of ?",
976
		Signature.toString("!*"));
977
}
978
979
/* 
980
 * Ensures that the toString() signature of a capture with a super bound is correct
981
 */
982
public void testToStringType29() {
983
	assertEquals(
984
		"capture-of ? super java.util.List<T>",
985
		Signature.toString("!-Ljava.util.List<TT;>;"));
986
}
987
988
/* 
989
 * Ensures that the toString() signature of a capture with an extends bound is correct
990
 */
991
public void testToStringType30() {
992
	assertEquals(
993
		"capture-of ? extends java.util.ArrayList",
994
		Signature.toString("!+Ljava.util.ArrayList;"));
995
}
996
969
/**
997
/**
970
 * @see Signature#toString(String, String, String[], boolean, boolean)
998
 * @see Signature#toString(String, String, String[], boolean, boolean)
971
 */
999
 */
(-)src/org/eclipse/jdt/core/tests/model/BindingKeyTests.java (-7 / +7 lines)
Lines 336-343 Link Here
336
	 */
336
	 */
337
	public void test029() {
337
	public void test029() {
338
		assertBindingKeySignatureEquals(
338
		assertBindingKeySignatureEquals(
339
			"-<E:Ljava/lang/Object;>Ljava.util.List;",
339
			"-Ljava.util.List<TT;>;",
340
			"Lp1/X;-Ljava/util/List<TE;>;"
340
			"Lp1/X;-Ljava/util/List<Lp1/X;:TT;>;"
341
		);
341
		);
342
	}
342
	}
343
343
Lines 356-362 Link Here
356
	 */
356
	 */
357
	public void test031() {
357
	public void test031() {
358
		assertBindingKeySignatureEquals(
358
		assertBindingKeySignatureEquals(
359
			"*",
359
			"!*",
360
			"Ljava/util/List;&!Lp1/X;*123;"
360
			"Ljava/util/List;&!Lp1/X;*123;"
361
		);
361
		);
362
	}
362
	}
Lines 366-373 Link Here
366
	 */
366
	 */
367
	public void test032() {
367
	public void test032() {
368
		assertBindingKeySignatureEquals(
368
		assertBindingKeySignatureEquals(
369
			"-<E:Ljava/lang/Object;>Ljava.util.List;",
369
			"!-Ljava.util.List<TT;>;",
370
			"Ljava/util/List;&!Lp1/X;-Ljava/util/List<TE;>;123;"
370
			"Ljava/util/List;&!Lp1/X;-Ljava/util/List<Lp1/X;:TT;>;123;"
371
		);
371
		);
372
	}
372
	}
373
373
Lines 376-383 Link Here
376
	 */
376
	 */
377
	public void test033() {
377
	public void test033() {
378
		assertBindingKeySignatureEquals(
378
		assertBindingKeySignatureEquals(
379
			"+Ljava.util.ArrayList;",
379
			"!+Ljava.util.ArrayList;",
380
			"Ljava/util/List;&!Lp1/X;+Ljava/util/ArrayList;123;"
380
			"Ljava/util/List;&!Lp1/X;+Ljava/util/ArrayList<>;123;"
381
		);
381
		);
382
	}
382
	}
383
	
383
	
(-)src/org/eclipse/jdt/core/tests/dom/ASTConverter15Test.java (+23 lines)
Lines 10153-10156 Link Here
10153
			"<null>",
10153
			"<null>",
10154
			requestor.getBindings(bindingKeys));
10154
			requestor.getBindings(bindingKeys));
10155
	}
10155
	}
10156
	/*
10157
	 * https://bugs.eclipse.org/bugs/show_bug.cgi?id=120082
10158
	 */
10159
	public void test0315() throws JavaModelException {
10160
		this.workingCopy = getWorkingCopy("/Converter15/src/pack1/E.java", true/*resolve*/);
10161
		ASTNode node = buildAST(
10162
	    	"package pack1;\n" + 
10163
    		"public class E<X> {\n" + 
10164
    		"	public static <T> E<T> bar(T t) {\n" + 
10165
    		"		return null;\n" + 
10166
    		"	}\n" + 
10167
    		"\n" + 
10168
    		"	public void foo(E<?> e) {\n" + 
10169
    		"		/*start*/bar(e)/*end*/;\n" + 
10170
    		"	}\n" + 
10171
    		"}",
10172
			this.workingCopy);
10173
		IBinding binding = ((MethodInvocation) node).resolveTypeBinding();
10174
		assertBindingKeyEquals(
10175
			"Lpack1/E<Lpack1/E<!Lpack1/E;*122;>;>;",
10176
			binding.getKey());
10177
	}
10178
	
10156
}
10179
}

Return to bug 120082