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

Collapse All | Expand All

(-).settings/org.eclipse.core.resources.prefs (+3 lines)
Added Link Here
1
#Wed Nov 25 13:03:46 CET 2009
2
eclipse.preferences.version=1
3
encoding//workspace/Encoding/src/testUTF8/Test.java=UTF-8
(-)src/org/eclipse/jdt/core/tests/model/AbstractJavaSearchTests.java (-2 / +2 lines)
Lines 274-284 Link Here
274
								int lineStart2 = CharOperation.lastIndexOf('\r', contents, 0, start);
274
								int lineStart2 = CharOperation.lastIndexOf('\r', contents, 0, start);
275
								int lineStart = Math.max(lineStart1, lineStart2) + 1;
275
								int lineStart = Math.max(lineStart1, lineStart2) + 1;
276
								this.line.append(CharOperation.subarray(contents, lineStart, start));
276
								this.line.append(CharOperation.subarray(contents, lineStart, start));
277
								this.line.append("§|");
277
								this.line.append("!|");
278
							}
278
							}
279
							this.line.append(CharOperation.subarray(contents, start, end));
279
							this.line.append(CharOperation.subarray(contents, start, end));
280
							if ((this.flags & SHOW_SELECTION) != 0) {
280
							if ((this.flags & SHOW_SELECTION) != 0) {
281
								this.line.append("|§");
281
								this.line.append("|!");
282
								int lineEnd1 = CharOperation.indexOf('\n', contents, end);
282
								int lineEnd1 = CharOperation.indexOf('\n', contents, end);
283
								int lineEnd2 = CharOperation.indexOf('\r', contents, end);
283
								int lineEnd2 = CharOperation.indexOf('\r', contents, end);
284
								int lineEnd = lineEnd1 > 0 && lineEnd2 > 0 ? Math.min(lineEnd1, lineEnd2) : Math.max(lineEnd1, lineEnd2);
284
								int lineEnd = lineEnd1 > 0 && lineEnd2 > 0 ? Math.min(lineEnd1, lineEnd2) : Math.max(lineEnd1, lineEnd2);
(-)src/org/eclipse/jdt/core/tests/model/JavaSearchBugsTests.java (-61 / +61 lines)
Lines 7729-7735 Link Here
7729
		this.resultCollector.showSelection();
7729
		this.resultCollector.showSelection();
7730
		search(packageFragment, REFERENCES);
7730
		search(packageFragment, REFERENCES);
7731
		assertSearchResults(
7731
		assertSearchResults(
7732
			"src/b153765/test/SomeClass.java void b153765.test.SomeClass.foo() [        @§|b153765|§.Unimportant public void foo() {}] EXACT_MATCH"
7732
			"src/b153765/test/SomeClass.java void b153765.test.SomeClass.foo() [        @!|b153765|!.Unimportant public void foo() {}] EXACT_MATCH"
7733
		);
7733
		);
7734
	}
7734
	}
7735
	finally {
7735
	finally {
Lines 9479-9485 Link Here
9479
	collector.showSelection();
9479
	collector.showSelection();
9480
	search(type, REFERENCES, EXACT_RULE, getJavaSearchScope(), collector);
9480
	search(type, REFERENCES, EXACT_RULE, getJavaSearchScope(), collector);
9481
	assertSearchResults(
9481
	assertSearchResults(
9482
		"src/test/Test.java void test.Test.method() [        @Annot(clazz=§|Test|§.class) int x;]+[@Annot on x]",
9482
		"src/test/Test.java void test.Test.method() [        @Annot(clazz=!|Test|!.class) int x;]+[@Annot on x]",
9483
		collector
9483
		collector
9484
	);
9484
	);
9485
}
9485
}
Lines 9495-9501 Link Here
9495
	collector.showSelection();
9495
	collector.showSelection();
9496
	search("Deprecated", TYPE, REFERENCES, EXACT_RULE, getJavaSearchScope(), collector);
9496
	search("Deprecated", TYPE, REFERENCES, EXACT_RULE, getJavaSearchScope(), collector);
9497
	assertSearchResults(
9497
	assertSearchResults(
9498
		"src/test/Test.java void test.Test.foo() [        @§|Deprecated|§ foo() {}]+[@Deprecated on foo]",
9498
		"src/test/Test.java void test.Test.foo() [        @!|Deprecated|! foo() {}]+[@Deprecated on foo]",
9499
		collector
9499
		collector
9500
	);
9500
	);
9501
}
9501
}
Lines 9521-9531 Link Here
9521
	collector.showSelection();
9521
	collector.showSelection();
9522
	search(type, REFERENCES, EXACT_RULE, getJavaSearchScope(), collector);
9522
	search(type, REFERENCES, EXACT_RULE, getJavaSearchScope(), collector);
9523
	assertSearchResults(
9523
	assertSearchResults(
9524
		"src/comment5/Ref.java void comment5.Ref.doA(Ref) [    void doA(§|Ref|§ ref) {}]+[ref]\n" + 
9524
		"src/comment5/Ref.java void comment5.Ref.doA(Ref) [    void doA(!|Ref|! ref) {}]+[ref]\n" + 
9525
		"src/comment5/Ref.java void comment5.Ref.doB(List<Ref>) [    void doB(List<§|Ref|§> ref) {}]+[ref]\n" + 
9525
		"src/comment5/Ref.java void comment5.Ref.doB(List<Ref>) [    void doB(List<!|Ref|!> ref) {}]+[ref]\n" + 
9526
		"src/comment5/Ref.java void comment5.Ref.doC(Ref) [    void doC(@Tag(§|Ref|§.class) Ref ref) {}]+[@Tag on ref]\n" + 
9526
		"src/comment5/Ref.java void comment5.Ref.doC(Ref) [    void doC(@Tag(!|Ref|!.class) Ref ref) {}]+[@Tag on ref]\n" + 
9527
		"src/comment5/Ref.java void comment5.Ref.doC(Ref) [    void doC(@Tag(Ref.class) §|Ref|§ ref) {}]+[ref]\n" + 
9527
		"src/comment5/Ref.java void comment5.Ref.doC(Ref) [    void doC(@Tag(Ref.class) !|Ref|! ref) {}]+[ref]\n" + 
9528
		"src/comment5/Ref.java void comment5.Ref.dontD(Object) [    void dontD(@Tag(§|Ref|§.class) Object ref) {}]+[@Tag on ref]",
9528
		"src/comment5/Ref.java void comment5.Ref.dontD(Object) [    void dontD(@Tag(!|Ref|!.class) Object ref) {}]+[@Tag on ref]",
9529
		collector
9529
		collector
9530
	);
9530
	);
9531
}
9531
}
Lines 9544-9550 Link Here
9544
	collector.showSelection();
9544
	collector.showSelection();
9545
	search(field, REFERENCES, EXACT_RULE, getJavaSearchScope(), collector);
9545
	search(field, REFERENCES, EXACT_RULE, getJavaSearchScope(), collector);
9546
	assertSearchResults(
9546
	assertSearchResults(
9547
		"src/comment10/Ref.java comment10.Num [@Num(number= Num.§|CONST|§)]+[@Num on Num]",
9547
		"src/comment10/Ref.java comment10.Num [@Num(number= Num.!|CONST|!)]+[@Num on Num]",
9548
		collector
9548
		collector
9549
	);
9549
	);
9550
}
9550
}
Lines 9566-9574 Link Here
9566
	collector.showSelection();
9566
	collector.showSelection();
9567
	search(type, REFERENCES, EXACT_RULE, getJavaSearchScope(), collector);
9567
	search(type, REFERENCES, EXACT_RULE, getJavaSearchScope(), collector);
9568
	assertSearchResults(
9568
	assertSearchResults(
9569
		"src/comment22/Test.java comment22.Test.test1 [    @§|Tag|§ Test test1, test2, test3;]+[@Tag on test1]+[@Tag on test2,@Tag on test3]\n" + 
9569
		"src/comment22/Test.java comment22.Test.test1 [    @!|Tag|! Test test1, test2, test3;]+[@Tag on test1]+[@Tag on test2,@Tag on test3]\n" + 
9570
		"src/comment22/Test.java void comment22.Test.method() [        @§|Tag|§ Test local= null;]+[@Tag on local]\n" + 
9570
		"src/comment22/Test.java void comment22.Test.method() [        @!|Tag|! Test local= null;]+[@Tag on local]\n" + 
9571
		"src/comment22/Test.java void comment22.Test.method() [        @§|Tag|§ Test local1, local2, local3;]+[@Tag on local1]+[@Tag on local2,@Tag on local3]",
9571
		"src/comment22/Test.java void comment22.Test.method() [        @!|Tag|! Test local1, local2, local3;]+[@Tag on local1]+[@Tag on local2,@Tag on local3]",
9572
		collector
9572
		collector
9573
	);
9573
	);
9574
}
9574
}
Lines 9588-9594 Link Here
9588
	collector.showSelection();
9588
	collector.showSelection();
9589
	search(type, REFERENCES, EXACT_RULE, getJavaSearchScope(), collector);
9589
	search(type, REFERENCES, EXACT_RULE, getJavaSearchScope(), collector);
9590
	assertSearchResults(
9590
	assertSearchResults(
9591
		"src/test/Test.java test.TestMethodReference.x [    @Annot(clazz = §|test.Test|§.class) int x, y;]+[@Annot on x]+[@Annot on y]",
9591
		"src/test/Test.java test.TestMethodReference.x [    @Annot(clazz = !|test.Test|!.class) int x, y;]+[@Annot on x]+[@Annot on y]",
9592
		collector
9592
		collector
9593
	);
9593
	);
9594
}
9594
}
Lines 9643-9663 Link Here
9643
	this.resultCollector.showSelection();
9643
	this.resultCollector.showSelection();
9644
	search("*", TYPE, REFERENCES, getJavaSearchWorkingCopiesScope(), this.resultCollector);
9644
	search("*", TYPE, REFERENCES, getJavaSearchWorkingCopiesScope(), this.resultCollector);
9645
	assertSearchResults(
9645
	assertSearchResults(
9646
		"src/generics/Generic.java [import §|java.io.Serializable|§;] EXACT_MATCH\n" +
9646
		"src/generics/Generic.java [import !|java.io.Serializable|!;] EXACT_MATCH\n" +
9647
		"src/generics/Generic.java [import §|type.def.Types|§;] EXACT_MATCH\n" +
9647
		"src/generics/Generic.java [import !|type.def.Types|!;] EXACT_MATCH\n" +
9648
		"src/generics/Generic.java generics.Generic [public class Generic<T extends §|Types|§, U extends Types & Comparable<Types> & Serializable, V extends A<? super Types>> {] EXACT_MATCH\n" +
9648
		"src/generics/Generic.java generics.Generic [public class Generic<T extends !|Types|!, U extends Types & Comparable<Types> & Serializable, V extends A<? super Types>> {] EXACT_MATCH\n" +
9649
		"src/generics/Generic.java generics.Generic [public class Generic<T extends Types, U extends §|Types|§ & Comparable<Types> & Serializable, V extends A<? super Types>> {] EXACT_MATCH\n" +
9649
		"src/generics/Generic.java generics.Generic [public class Generic<T extends Types, U extends !|Types|! & Comparable<Types> & Serializable, V extends A<? super Types>> {] EXACT_MATCH\n" +
9650
		"src/generics/Generic.java generics.Generic [public class Generic<T extends Types, U extends Types & §|Comparable|§<Types> & Serializable, V extends A<? super Types>> {] EXACT_MATCH\n" +
9650
		"src/generics/Generic.java generics.Generic [public class Generic<T extends Types, U extends Types & !|Comparable|!<Types> & Serializable, V extends A<? super Types>> {] EXACT_MATCH\n" +
9651
		"src/generics/Generic.java generics.Generic [public class Generic<T extends Types, U extends Types & Comparable<§|Types|§> & Serializable, V extends A<? super Types>> {] EXACT_MATCH\n" +
9651
		"src/generics/Generic.java generics.Generic [public class Generic<T extends Types, U extends Types & Comparable<!|Types|!> & Serializable, V extends A<? super Types>> {] EXACT_MATCH\n" +
9652
		"src/generics/Generic.java generics.Generic [public class Generic<T extends Types, U extends Types & Comparable<Types> & §|Serializable|§, V extends A<? super Types>> {] EXACT_MATCH\n" +
9652
		"src/generics/Generic.java generics.Generic [public class Generic<T extends Types, U extends Types & Comparable<Types> & !|Serializable|!, V extends A<? super Types>> {] EXACT_MATCH\n" +
9653
		"src/generics/Generic.java generics.Generic [public class Generic<T extends Types, U extends Types & Comparable<Types> & Serializable, V extends §|A|§<? super Types>> {] EXACT_MATCH\n" +
9653
		"src/generics/Generic.java generics.Generic [public class Generic<T extends Types, U extends Types & Comparable<Types> & Serializable, V extends !|A|!<? super Types>> {] EXACT_MATCH\n" +
9654
		"src/generics/Generic.java generics.Generic [public class Generic<T extends Types, U extends Types & Comparable<Types> & Serializable, V extends A<? super §|Types|§>> {] EXACT_MATCH\n" +
9654
		"src/generics/Generic.java generics.Generic [public class Generic<T extends Types, U extends Types & Comparable<Types> & Serializable, V extends A<? super !|Types|!>> {] EXACT_MATCH\n" +
9655
		"src/generics/Generic.java generics.Generic.field [	§|Generic|§<? extends Types, ?, ?> field;] EXACT_MATCH\n" +
9655
		"src/generics/Generic.java generics.Generic.field [	!|Generic|!<? extends Types, ?, ?> field;] EXACT_MATCH\n" +
9656
		"src/generics/Generic.java generics.Generic.field [	Generic<? extends §|Types|§, ?, ?> field;] EXACT_MATCH\n" +
9656
		"src/generics/Generic.java generics.Generic.field [	Generic<? extends !|Types|!, ?, ?> field;] EXACT_MATCH\n" +
9657
		"src/generics/Generic.java generics.Generic.comp [	§|Comparable|§<String> comp;] EXACT_MATCH\n" +
9657
		"src/generics/Generic.java generics.Generic.comp [	!|Comparable|!<String> comp;] EXACT_MATCH\n" +
9658
		"src/generics/Generic.java generics.Generic.comp [	Comparable<§|String|§> comp;] EXACT_MATCH\n" +
9658
		"src/generics/Generic.java generics.Generic.comp [	Comparable<!|String|!> comp;] EXACT_MATCH\n" +
9659
		"src/generics/Generic.java generics.Generic.clazz [	§|Class|§<? extends Exception> clazz;] EXACT_MATCH\n" +
9659
		"src/generics/Generic.java generics.Generic.clazz [	!|Class|!<? extends Exception> clazz;] EXACT_MATCH\n" +
9660
		"src/generics/Generic.java generics.Generic.clazz [	Class<? extends §|Exception|§> clazz;] EXACT_MATCH"
9660
		"src/generics/Generic.java generics.Generic.clazz [	Class<? extends !|Exception|!> clazz;] EXACT_MATCH"
9661
	);
9661
	);
9662
}
9662
}
9663
9663
Lines 9682-9689 Link Here
9682
	this.resultCollector.showSelection();
9682
	this.resultCollector.showSelection();
9683
	search("*", TYPE, REFERENCES, getJavaSearchWorkingCopiesScope(), this.resultCollector);
9683
	search("*", TYPE, REFERENCES, getJavaSearchWorkingCopiesScope(), this.resultCollector);
9684
	assertSearchResults(
9684
	assertSearchResults(
9685
		"src/test/Ref.java [import §|pack.Test|§;] EXACT_MATCH\n" +
9685
		"src/test/Ref.java [import !|pack.Test|!;] EXACT_MATCH\n" +
9686
		"src/test/Ref.java test.Ref.test [	§|Test|§ test;] EXACT_MATCH"
9686
		"src/test/Ref.java test.Ref.test [	!|Test|! test;] EXACT_MATCH"
9687
	);
9687
	);
9688
}
9688
}
9689
9689
Lines 9906-9912 Link Here
9906
	ILocalVariable variable = selectLocalVariable(this.workingCopies[0], "test");
9906
	ILocalVariable variable = selectLocalVariable(this.workingCopies[0], "test");
9907
	search(variable, READ_ACCESSES, getJavaSearchWorkingCopiesScope(), this.resultCollector);
9907
	search(variable, READ_ACCESSES, getJavaSearchWorkingCopiesScope(), this.resultCollector);
9908
	assertSearchResults(
9908
	assertSearchResults(
9909
		"src/Test.java void Test.m() [        §|test|§.fField = 42; // match for t is writeAccess, should be readAccess] EXACT_MATCH"
9909
		"src/Test.java void Test.m() [        !|test|!.fField = 42; // match for t is writeAccess, should be readAccess] EXACT_MATCH"
9910
	);
9910
	);
9911
}
9911
}
9912
public void testBug216875b() throws CoreException {
9912
public void testBug216875b() throws CoreException {
Lines 9926-9932 Link Here
9926
	IField field = this.workingCopies[0].getType("Test").getField("fWrapped");
9926
	IField field = this.workingCopies[0].getType("Test").getField("fWrapped");
9927
	search(field, READ_ACCESSES, getJavaSearchWorkingCopiesScope(), this.resultCollector);
9927
	search(field, READ_ACCESSES, getJavaSearchWorkingCopiesScope(), this.resultCollector);
9928
	assertSearchResults(
9928
	assertSearchResults(
9929
		"src/Test.java void Test.wrapper() [        §|fWrapped|§.fField = 12; // match for fWrapped is writeAccess] EXACT_MATCH"
9929
		"src/Test.java void Test.wrapper() [        !|fWrapped|!.fField = 12; // match for fWrapped is writeAccess] EXACT_MATCH"
9930
	);
9930
	);
9931
}
9931
}
9932
public void testBug216875c() throws CoreException {
9932
public void testBug216875c() throws CoreException {
Lines 9952-9960 Link Here
9952
	ILocalVariable variable = selectLocalVariable(this.workingCopies[1], "t1");
9952
	ILocalVariable variable = selectLocalVariable(this.workingCopies[1], "t1");
9953
	search(variable, READ_ACCESSES, getJavaSearchWorkingCopiesScope(), this.resultCollector);
9953
	search(variable, READ_ACCESSES, getJavaSearchWorkingCopiesScope(), this.resultCollector);
9954
	assertSearchResults(
9954
	assertSearchResults(
9955
		"src/test/X.java void test.X.foo(Test, Test) [		§|t1|§.field = t1.field;] EXACT_MATCH\n" +
9955
		"src/test/X.java void test.X.foo(Test, Test) [		!|t1|!.field = t1.field;] EXACT_MATCH\n" +
9956
		"src/test/X.java void test.X.foo(Test, Test) [		t1.field = §|t1|§.field;] EXACT_MATCH\n" +
9956
		"src/test/X.java void test.X.foo(Test, Test) [		t1.field = !|t1|!.field;] EXACT_MATCH\n" +
9957
		"src/test/X.java void test.X.foo(Test, Test) [		t2.field = §|t1|§.field;] EXACT_MATCH"
9957
		"src/test/X.java void test.X.foo(Test, Test) [		t2.field = !|t1|!.field;] EXACT_MATCH"
9958
	);
9958
	);
9959
}
9959
}
9960
public void testBug216875d() throws CoreException {
9960
public void testBug216875d() throws CoreException {
Lines 9981-9989 Link Here
9981
	IField field = this.workingCopies[1].getType("X").getField("t1");
9981
	IField field = this.workingCopies[1].getType("X").getField("t1");
9982
	search(field, READ_ACCESSES, getJavaSearchWorkingCopiesScope(), this.resultCollector);
9982
	search(field, READ_ACCESSES, getJavaSearchWorkingCopiesScope(), this.resultCollector);
9983
	assertSearchResults(
9983
	assertSearchResults(
9984
		"src/test/X.java void test.X.foo() [		§|t1|§.field = t1.field;] EXACT_MATCH\n" +
9984
		"src/test/X.java void test.X.foo() [		!|t1|!.field = t1.field;] EXACT_MATCH\n" +
9985
		"src/test/X.java void test.X.foo() [		t1.field = §|t1|§.field;] EXACT_MATCH\n" +
9985
		"src/test/X.java void test.X.foo() [		t1.field = !|t1|!.field;] EXACT_MATCH\n" +
9986
		"src/test/X.java void test.X.foo() [		t2.field = §|t1|§.field;] EXACT_MATCH"
9986
		"src/test/X.java void test.X.foo() [		t2.field = !|t1|!.field;] EXACT_MATCH"
9987
	);
9987
	);
9988
}
9988
}
9989
public void testBug216875e() throws CoreException {
9989
public void testBug216875e() throws CoreException {
Lines 10009-10015 Link Here
10009
	ILocalVariable variable = selectLocalVariable(this.workingCopies[1], "t1");
10009
	ILocalVariable variable = selectLocalVariable(this.workingCopies[1], "t1");
10010
	search(variable, WRITE_ACCESSES, getJavaSearchWorkingCopiesScope(), this.resultCollector);
10010
	search(variable, WRITE_ACCESSES, getJavaSearchWorkingCopiesScope(), this.resultCollector);
10011
	assertSearchResults(
10011
	assertSearchResults(
10012
		"src/test/X.java void test.X.foo(Test, Test) [		§|t1|§ = t2;] EXACT_MATCH"
10012
		"src/test/X.java void test.X.foo(Test, Test) [		!|t1|! = t2;] EXACT_MATCH"
10013
	);
10013
	);
10014
}
10014
}
10015
public void testBug216875f() throws CoreException {
10015
public void testBug216875f() throws CoreException {
Lines 10036-10042 Link Here
10036
	IField field = this.workingCopies[1].getType("X").getField("t1");
10036
	IField field = this.workingCopies[1].getType("X").getField("t1");
10037
	search(field, WRITE_ACCESSES, getJavaSearchWorkingCopiesScope(), this.resultCollector);
10037
	search(field, WRITE_ACCESSES, getJavaSearchWorkingCopiesScope(), this.resultCollector);
10038
	assertSearchResults(
10038
	assertSearchResults(
10039
		"src/test/X.java void test.X.foo() [		§|t1|§ = t2;] EXACT_MATCH"
10039
		"src/test/X.java void test.X.foo() [		!|t1|! = t2;] EXACT_MATCH"
10040
	);
10040
	);
10041
}
10041
}
10042
public void testBug216875g() throws CoreException {
10042
public void testBug216875g() throws CoreException {
Lines 10064-10073 Link Here
10064
	ILocalVariable variable = selectLocalVariable(this.workingCopies[1], "t1");
10064
	ILocalVariable variable = selectLocalVariable(this.workingCopies[1], "t1");
10065
	search(variable, REFERENCES, getJavaSearchWorkingCopiesScope(), this.resultCollector);
10065
	search(variable, REFERENCES, getJavaSearchWorkingCopiesScope(), this.resultCollector);
10066
	assertSearchResults(
10066
	assertSearchResults(
10067
		"src/test/X.java void test.X.foo(Test, Test) [		§|t1|§ = t2;] WRITE ACCESS\n" +
10067
		"src/test/X.java void test.X.foo(Test, Test) [		!|t1|! = t2;] WRITE ACCESS\n" +
10068
		"src/test/X.java void test.X.foo(Test, Test) [		§|t1|§.field = t1.field;] READ ACCESS\n" +
10068
		"src/test/X.java void test.X.foo(Test, Test) [		!|t1|!.field = t1.field;] READ ACCESS\n" +
10069
		"src/test/X.java void test.X.foo(Test, Test) [		t1.field = §|t1|§.field;] READ ACCESS\n" +
10069
		"src/test/X.java void test.X.foo(Test, Test) [		t1.field = !|t1|!.field;] READ ACCESS\n" +
10070
		"src/test/X.java void test.X.foo(Test, Test) [		t2.field = §|t1|§.field;] READ ACCESS"
10070
		"src/test/X.java void test.X.foo(Test, Test) [		t2.field = !|t1|!.field;] READ ACCESS"
10071
	);
10071
	);
10072
}
10072
}
10073
public void testBug216875h() throws CoreException {
10073
public void testBug216875h() throws CoreException {
Lines 10096-10105 Link Here
10096
	IField field = this.workingCopies[1].getType("X").getField("t1");
10096
	IField field = this.workingCopies[1].getType("X").getField("t1");
10097
	search(field, REFERENCES, getJavaSearchWorkingCopiesScope(), this.resultCollector);
10097
	search(field, REFERENCES, getJavaSearchWorkingCopiesScope(), this.resultCollector);
10098
	assertSearchResults(
10098
	assertSearchResults(
10099
		"src/test/X.java void test.X.foo() [		§|t1|§ = t2;] WRITE ACCESS\n" +
10099
		"src/test/X.java void test.X.foo() [		!|t1|! = t2;] WRITE ACCESS\n" +
10100
		"src/test/X.java void test.X.foo() [		§|t1|§.field = t1.field;] READ ACCESS\n" +
10100
		"src/test/X.java void test.X.foo() [		!|t1|!.field = t1.field;] READ ACCESS\n" +
10101
		"src/test/X.java void test.X.foo() [		t1.field = §|t1|§.field;] READ ACCESS\n" +
10101
		"src/test/X.java void test.X.foo() [		t1.field = !|t1|!.field;] READ ACCESS\n" +
10102
		"src/test/X.java void test.X.foo() [		t2.field = §|t1|§.field;] READ ACCESS"
10102
		"src/test/X.java void test.X.foo() [		t2.field = !|t1|!.field;] READ ACCESS"
10103
	);
10103
	);
10104
}
10104
}
10105
10105
Lines 10124-10130 Link Here
10124
	IType type = selectType(this.workingCopies[0], "Row");
10124
	IType type = selectType(this.workingCopies[0], "Row");
10125
	search(type, REFERENCES, getJavaSearchWorkingCopiesScope(), this.resultCollector);
10125
	search(type, REFERENCES, getJavaSearchWorkingCopiesScope(), this.resultCollector);
10126
	assertSearchResults(
10126
	assertSearchResults(
10127
		"src/Bug.java Bug.{}:Inner#1.field [			§|Row|§ field;//LINE 3] EXACT_MATCH"
10127
		"src/Bug.java Bug.{}:Inner#1.field [			!|Row|! field;//LINE 3] EXACT_MATCH"
10128
	);
10128
	);
10129
}
10129
}
10130
10130
Lines 10160-10171 Link Here
10160
		this.resultCollector,
10160
		this.resultCollector,
10161
		null);
10161
		null);
10162
	assertSearchResults(
10162
	assertSearchResults(
10163
		"src/Test.java Test [public class §|Test|§ {] EXACT_MATCH\n" +
10163
		"src/Test.java Test [public class !|Test|! {] EXACT_MATCH\n" +
10164
		"src/Test.java Test.test [	Test §|test|§;] EXACT_MATCH\n" +
10164
		"src/Test.java Test.test [	Test !|test|!;] EXACT_MATCH\n" +
10165
		"src/Test.java Test.test [	§|Test|§ test;] EXACT_MATCH\n" +
10165
		"src/Test.java Test.test [	!|Test|! test;] EXACT_MATCH\n" +
10166
		"src/Test.java void Test.test(Test) [	void §|test|§(Test test) {] EXACT_MATCH\n" +
10166
		"src/Test.java void Test.test(Test) [	void !|test|!(Test test) {] EXACT_MATCH\n" +
10167
		"src/Test.java void Test.test(Test) [	void test(§|Test|§ test) {] EXACT_MATCH\n" +
10167
		"src/Test.java void Test.test(Test) [	void test(!|Test|! test) {] EXACT_MATCH\n" +
10168
		"src/Test.java void Test.test(Test) [		if (test == this.§|test|§) {] EXACT_MATCH"
10168
		"src/Test.java void Test.test(Test) [		if (test == this.!|test|!) {] EXACT_MATCH"
10169
	);
10169
	);
10170
}
10170
}
10171
10171
Lines 10190-10196 Link Here
10190
	IType type = this.workingCopies[0].getType("X");
10190
	IType type = this.workingCopies[0].getType("X");
10191
	search(type, REFERENCES, SearchPattern.R_ERASURE_MATCH, getJavaSearchWorkingCopiesScope(), this.resultCollector);
10191
	search(type, REFERENCES, SearchPattern.R_ERASURE_MATCH, getJavaSearchWorkingCopiesScope(), this.resultCollector);
10192
	assertSearchResults(
10192
	assertSearchResults(
10193
		"src/Y.java Y [public class Y<T extends §|X|§<?>> {] ERASURE_MATCH"
10193
		"src/Y.java Y [public class Y<T extends !|X|!<?>> {] ERASURE_MATCH"
10194
	);
10194
	);
10195
}
10195
}
10196
public void testBug221110b() throws CoreException {
10196
public void testBug221110b() throws CoreException {
Lines 10212-10218 Link Here
10212
	IType type = this.workingCopies[0].getType("I");
10212
	IType type = this.workingCopies[0].getType("I");
10213
	search(type, REFERENCES, SearchPattern.R_ERASURE_MATCH, getJavaSearchWorkingCopiesScope(), this.resultCollector);
10213
	search(type, REFERENCES, SearchPattern.R_ERASURE_MATCH, getJavaSearchWorkingCopiesScope(), this.resultCollector);
10214
	assertSearchResults(
10214
	assertSearchResults(
10215
		"src/Z.java Z [public class Z<T extends X<?> & §|I|§<?>> {] ERASURE_MATCH"
10215
		"src/Z.java Z [public class Z<T extends X<?> & !|I|!<?>> {] ERASURE_MATCH"
10216
	);
10216
	);
10217
}
10217
}
10218
10218
Lines 10537-10544 Link Here
10537
	this.resultCollector.showSelection();
10537
	this.resultCollector.showSelection();
10538
	search("B251827*", TYPE, REFERENCES);
10538
	search("B251827*", TYPE, REFERENCES);
10539
	assertSearchResults(
10539
	assertSearchResults(
10540
		"src/b251827/X.java [import static b251827.§|B251827|§.VAL;] EXACT_MATCH\n" + 
10540
		"src/b251827/X.java [import static b251827.!|B251827|!.VAL;] EXACT_MATCH\n" + 
10541
		"src/b251827/X.java [import static b251827.§|B251827|§.foo;] EXACT_MATCH"
10541
		"src/b251827/X.java [import static b251827.!|B251827|!.foo;] EXACT_MATCH"
10542
	);
10542
	);
10543
}
10543
}
10544
public void testBug251827b() throws CoreException {
10544
public void testBug251827b() throws CoreException {
Lines 10564-10570 Link Here
10564
	this.resultCollector.showSelection();
10564
	this.resultCollector.showSelection();
10565
	search("B251827*", TYPE, REFERENCES);
10565
	search("B251827*", TYPE, REFERENCES);
10566
	assertSearchResults(
10566
	assertSearchResults(
10567
		"src/b251827/X.java [import static b251827.§|B251827|§.*;] EXACT_MATCH"
10567
		"src/b251827/X.java [import static b251827.!|B251827|!.*;] EXACT_MATCH"
10568
	);
10568
	);
10569
}
10569
}
10570
public void testBug251827c() throws CoreException {
10570
public void testBug251827c() throws CoreException {
Lines 10592-10598 Link Here
10592
	);
10592
	);
10593
	search("B251827*", TYPE, REFERENCES);
10593
	search("B251827*", TYPE, REFERENCES);
10594
	assertSearchResults(
10594
	assertSearchResults(
10595
		"src/b251827/X.java void b251827.X.bar(B251827) [	void bar(§|B251827|§ m) {;] EXACT_MATCH"
10595
		"src/b251827/X.java void b251827.X.bar(B251827) [	void bar(!|B251827|! m) {;] EXACT_MATCH"
10596
	);
10596
	);
10597
}
10597
}
10598
10598
(-)src/org/eclipse/jdt/core/tests/model/JavaSearchFineGrainTests.java (-768 / +768 lines)
Lines 118-160 Link Here
118
public void testFieldRef() throws CoreException {
118
public void testFieldRef() throws CoreException {
119
	search(setUpFieldRef(), REFERENCES);
119
	search(setUpFieldRef(), REFERENCES);
120
	assertSearchResults(
120
	assertSearchResults(
121
		"src/field/ref/TestFields.java boolean field.ref.TestFields.foo(Fields) [		return super.§|field|§ == null ||@129] EXACT_MATCH\n" +
121
		"src/field/ref/TestFields.java boolean field.ref.TestFields.foo(Fields) [		return super.!|field|! == null ||@129] EXACT_MATCH\n" +
122
		"src/field/ref/TestFields.java boolean field.ref.TestFields.foo(Fields) [			param.§|field|§ == null ||@155] EXACT_MATCH\n" +
122
		"src/field/ref/TestFields.java boolean field.ref.TestFields.foo(Fields) [			param.!|field|! == null ||@155] EXACT_MATCH\n" +
123
		"src/field/ref/TestFields.java boolean field.ref.TestFields.foo(Fields) [			this.§|field|§ == null ||@180] EXACT_MATCH\n" +
123
		"src/field/ref/TestFields.java boolean field.ref.TestFields.foo(Fields) [			this.!|field|! == null ||@180] EXACT_MATCH\n" +
124
		"src/field/ref/TestFields.java boolean field.ref.TestFields.foo(Fields) [			§|field|§ == null;@200] EXACT_MATCH"
124
		"src/field/ref/TestFields.java boolean field.ref.TestFields.foo(Fields) [			!|field|! == null;@200] EXACT_MATCH"
125
	);
125
	);
126
}
126
}
127
public void testFieldRef_AllFlags() throws CoreException {
127
public void testFieldRef_AllFlags() throws CoreException {
128
	search(setUpFieldRef(), ALL_FIELD_METHOD_FINE_GRAIN_FLAGS);
128
	search(setUpFieldRef(), ALL_FIELD_METHOD_FINE_GRAIN_FLAGS);
129
	assertSearchResults(
129
	assertSearchResults(
130
		"src/field/ref/TestFields.java boolean field.ref.TestFields.foo(Fields) [		return super.§|field|§ == null ||@129] EXACT_MATCH\n" +
130
		"src/field/ref/TestFields.java boolean field.ref.TestFields.foo(Fields) [		return super.!|field|! == null ||@129] EXACT_MATCH\n" +
131
		"src/field/ref/TestFields.java boolean field.ref.TestFields.foo(Fields) [			param.§|field|§ == null ||@155] EXACT_MATCH\n" +
131
		"src/field/ref/TestFields.java boolean field.ref.TestFields.foo(Fields) [			param.!|field|! == null ||@155] EXACT_MATCH\n" +
132
		"src/field/ref/TestFields.java boolean field.ref.TestFields.foo(Fields) [			this.§|field|§ == null ||@180] EXACT_MATCH\n" +
132
		"src/field/ref/TestFields.java boolean field.ref.TestFields.foo(Fields) [			this.!|field|! == null ||@180] EXACT_MATCH\n" +
133
		"src/field/ref/TestFields.java boolean field.ref.TestFields.foo(Fields) [			§|field|§ == null;@200] EXACT_MATCH"
133
		"src/field/ref/TestFields.java boolean field.ref.TestFields.foo(Fields) [			!|field|! == null;@200] EXACT_MATCH"
134
	);
134
	);
135
}
135
}
136
public void testFieldRef_Qualified() throws CoreException {
136
public void testFieldRef_Qualified() throws CoreException {
137
	search(setUpFieldRef(), QUALIFIED_REFERENCE);
137
	search(setUpFieldRef(), QUALIFIED_REFERENCE);
138
	assertSearchResults(
138
	assertSearchResults(
139
		"src/field/ref/TestFields.java boolean field.ref.TestFields.foo(Fields) [			param.§|field|§ == null ||@155] EXACT_MATCH"
139
		"src/field/ref/TestFields.java boolean field.ref.TestFields.foo(Fields) [			param.!|field|! == null ||@155] EXACT_MATCH"
140
	);
140
	);
141
}
141
}
142
public void testFieldRef_Simple() throws CoreException {
142
public void testFieldRef_Simple() throws CoreException {
143
	search(setUpFieldRef(), IMPLICIT_THIS_REFERENCE);
143
	search(setUpFieldRef(), IMPLICIT_THIS_REFERENCE);
144
	assertSearchResults(
144
	assertSearchResults(
145
		"src/field/ref/TestFields.java boolean field.ref.TestFields.foo(Fields) [			§|field|§ == null;@200] EXACT_MATCH"
145
		"src/field/ref/TestFields.java boolean field.ref.TestFields.foo(Fields) [			!|field|! == null;@200] EXACT_MATCH"
146
	);
146
	);
147
}
147
}
148
public void testFieldRef_Super() throws CoreException {
148
public void testFieldRef_Super() throws CoreException {
149
	search(setUpFieldRef(), SUPER_REFERENCE);
149
	search(setUpFieldRef(), SUPER_REFERENCE);
150
	assertSearchResults(
150
	assertSearchResults(
151
		"src/field/ref/TestFields.java boolean field.ref.TestFields.foo(Fields) [		return super.§|field|§ == null ||@129] EXACT_MATCH"
151
		"src/field/ref/TestFields.java boolean field.ref.TestFields.foo(Fields) [		return super.!|field|! == null ||@129] EXACT_MATCH"
152
	);
152
	);
153
}
153
}
154
public void testFieldRef_This() throws CoreException {
154
public void testFieldRef_This() throws CoreException {
155
	search(setUpFieldRef(), THIS_REFERENCE);
155
	search(setUpFieldRef(), THIS_REFERENCE);
156
	assertSearchResults(
156
	assertSearchResults(
157
		"src/field/ref/TestFields.java boolean field.ref.TestFields.foo(Fields) [			this.§|field|§ == null ||@180] EXACT_MATCH"
157
		"src/field/ref/TestFields.java boolean field.ref.TestFields.foo(Fields) [			this.!|field|! == null ||@180] EXACT_MATCH"
158
	);
158
	);
159
}
159
}
160
160
Lines 199-241 Link Here
199
public void testMethodRef() throws CoreException {
199
public void testMethodRef() throws CoreException {
200
	search(setUpMethodRef(), REFERENCES);
200
	search(setUpMethodRef(), REFERENCES);
201
	assertSearchResults(
201
	assertSearchResults(
202
		"src/meth/ref/TestMethods.java void meth.ref.TestMethods.foo(Methods) [		super.§|method()|§;@121] EXACT_MATCH\n" +
202
		"src/meth/ref/TestMethods.java void meth.ref.TestMethods.foo(Methods) [		super.!|method()|!;@121] EXACT_MATCH\n" +
203
		"src/meth/ref/TestMethods.java void meth.ref.TestMethods.foo(Methods) [		param.§|method()|§;@139] EXACT_MATCH\n" +
203
		"src/meth/ref/TestMethods.java void meth.ref.TestMethods.foo(Methods) [		param.!|method()|!;@139] EXACT_MATCH\n" +
204
		"src/meth/ref/TestMethods.java void meth.ref.TestMethods.foo(Methods) [		this.§|method()|§;@156] EXACT_MATCH\n" +
204
		"src/meth/ref/TestMethods.java void meth.ref.TestMethods.foo(Methods) [		this.!|method()|!;@156] EXACT_MATCH\n" +
205
		"src/meth/ref/TestMethods.java void meth.ref.TestMethods.foo(Methods) [		§|method()|§;@168] EXACT_MATCH"
205
		"src/meth/ref/TestMethods.java void meth.ref.TestMethods.foo(Methods) [		!|method()|!;@168] EXACT_MATCH"
206
	);
206
	);
207
}
207
}
208
public void testMethodRef_AllFlags() throws CoreException {
208
public void testMethodRef_AllFlags() throws CoreException {
209
	search(setUpMethodRef(), ALL_FIELD_METHOD_FINE_GRAIN_FLAGS);
209
	search(setUpMethodRef(), ALL_FIELD_METHOD_FINE_GRAIN_FLAGS);
210
	assertSearchResults(
210
	assertSearchResults(
211
		"src/meth/ref/TestMethods.java void meth.ref.TestMethods.foo(Methods) [		super.§|method()|§;@121] EXACT_MATCH\n" +
211
		"src/meth/ref/TestMethods.java void meth.ref.TestMethods.foo(Methods) [		super.!|method()|!;@121] EXACT_MATCH\n" +
212
		"src/meth/ref/TestMethods.java void meth.ref.TestMethods.foo(Methods) [		param.§|method()|§;@139] EXACT_MATCH\n" +
212
		"src/meth/ref/TestMethods.java void meth.ref.TestMethods.foo(Methods) [		param.!|method()|!;@139] EXACT_MATCH\n" +
213
		"src/meth/ref/TestMethods.java void meth.ref.TestMethods.foo(Methods) [		this.§|method()|§;@156] EXACT_MATCH\n" +
213
		"src/meth/ref/TestMethods.java void meth.ref.TestMethods.foo(Methods) [		this.!|method()|!;@156] EXACT_MATCH\n" +
214
		"src/meth/ref/TestMethods.java void meth.ref.TestMethods.foo(Methods) [		§|method()|§;@168] EXACT_MATCH"
214
		"src/meth/ref/TestMethods.java void meth.ref.TestMethods.foo(Methods) [		!|method()|!;@168] EXACT_MATCH"
215
	);
215
	);
216
}
216
}
217
public void testMethodRef_Qualified() throws CoreException {
217
public void testMethodRef_Qualified() throws CoreException {
218
	search(setUpMethodRef(), QUALIFIED_REFERENCE);
218
	search(setUpMethodRef(), QUALIFIED_REFERENCE);
219
	assertSearchResults(
219
	assertSearchResults(
220
		"src/meth/ref/TestMethods.java void meth.ref.TestMethods.foo(Methods) [		param.§|method()|§;@139] EXACT_MATCH"
220
		"src/meth/ref/TestMethods.java void meth.ref.TestMethods.foo(Methods) [		param.!|method()|!;@139] EXACT_MATCH"
221
	);
221
	);
222
}
222
}
223
public void testMethodRef_Simple() throws CoreException {
223
public void testMethodRef_Simple() throws CoreException {
224
	search(setUpMethodRef(), IMPLICIT_THIS_REFERENCE);
224
	search(setUpMethodRef(), IMPLICIT_THIS_REFERENCE);
225
	assertSearchResults(
225
	assertSearchResults(
226
		"src/meth/ref/TestMethods.java void meth.ref.TestMethods.foo(Methods) [		§|method()|§;@168] EXACT_MATCH"
226
		"src/meth/ref/TestMethods.java void meth.ref.TestMethods.foo(Methods) [		!|method()|!;@168] EXACT_MATCH"
227
	);
227
	);
228
}
228
}
229
public void testMethodRef_Super() throws CoreException {
229
public void testMethodRef_Super() throws CoreException {
230
	search(setUpMethodRef(), SUPER_REFERENCE);
230
	search(setUpMethodRef(), SUPER_REFERENCE);
231
	assertSearchResults(
231
	assertSearchResults(
232
		"src/meth/ref/TestMethods.java void meth.ref.TestMethods.foo(Methods) [		super.§|method()|§;@121] EXACT_MATCH"
232
		"src/meth/ref/TestMethods.java void meth.ref.TestMethods.foo(Methods) [		super.!|method()|!;@121] EXACT_MATCH"
233
	);
233
	);
234
}
234
}
235
public void testMethodRef_This() throws CoreException {
235
public void testMethodRef_This() throws CoreException {
236
	search(setUpMethodRef(), THIS_REFERENCE);
236
	search(setUpMethodRef(), THIS_REFERENCE);
237
	assertSearchResults(
237
	assertSearchResults(
238
		"src/meth/ref/TestMethods.java void meth.ref.TestMethods.foo(Methods) [		this.§|method()|§;@156] EXACT_MATCH"
238
		"src/meth/ref/TestMethods.java void meth.ref.TestMethods.foo(Methods) [		this.!|method()|!;@156] EXACT_MATCH"
239
	);
239
	);
240
}
240
}
241
241
Lines 327-437 Link Here
327
public void testTypeRef() throws CoreException {
327
public void testTypeRef() throws CoreException {
328
	search(setUpTypeRef(0), REFERENCES);
328
	search(setUpTypeRef(0), REFERENCES);
329
	assertSearchResults(
329
	assertSearchResults(
330
		"src/type/ref/TestTypes.java [import §|type.def.Types|§;@25] EXACT_MATCH\n" +
330
		"src/type/ref/TestTypes.java [import !|type.def.Types|!;@25] EXACT_MATCH\n" +
331
		"src/type/ref/TestTypes.java type.ref.TestTypes [public class TestTypes extends §|Types|§ {@111] EXACT_MATCH\n" +
331
		"src/type/ref/TestTypes.java type.ref.TestTypes [public class TestTypes extends !|Types|! {@111] EXACT_MATCH\n" +
332
		"src/type/ref/TestTypes.java type.ref.TestTypes.field [	§|Types|§ field;@143] EXACT_MATCH\n" +
332
		"src/type/ref/TestTypes.java type.ref.TestTypes.field [	!|Types|! field;@143] EXACT_MATCH\n" +
333
		"src/type/ref/TestTypes.java Types type.ref.TestTypes.method(Types) [	§|Types|§ method(Types param) throws Types {@193] EXACT_MATCH\n" +
333
		"src/type/ref/TestTypes.java Types type.ref.TestTypes.method(Types) [	!|Types|! method(Types param) throws Types {@193] EXACT_MATCH\n" +
334
		"src/type/ref/TestTypes.java Types type.ref.TestTypes.method(Types) [	Types method(§|Types|§ param) throws Types {@206] EXACT_MATCH\n" +
334
		"src/type/ref/TestTypes.java Types type.ref.TestTypes.method(Types) [	Types method(!|Types|! param) throws Types {@206] EXACT_MATCH\n" +
335
		"src/type/ref/TestTypes.java Types type.ref.TestTypes.method(Types) [	Types method(Types param) throws §|Types|§ {@226] EXACT_MATCH\n" +
335
		"src/type/ref/TestTypes.java Types type.ref.TestTypes.method(Types) [	Types method(Types param) throws !|Types|! {@226] EXACT_MATCH\n" +
336
		"src/type/ref/TestTypes.java Types type.ref.TestTypes.method(Types) [		Object obj = new §|Types|§();@253] EXACT_MATCH\n" +
336
		"src/type/ref/TestTypes.java Types type.ref.TestTypes.method(Types) [		Object obj = new !|Types|!();@253] EXACT_MATCH\n" +
337
		"src/type/ref/TestTypes.java Types type.ref.TestTypes.method(Types) [		§|Types|§ local = (Types) obj;@264] EXACT_MATCH\n" +
337
		"src/type/ref/TestTypes.java Types type.ref.TestTypes.method(Types) [		!|Types|! local = (Types) obj;@264] EXACT_MATCH\n" +
338
		"src/type/ref/TestTypes.java Types type.ref.TestTypes.method(Types) [		Types local = (§|Types|§) obj;@279] EXACT_MATCH\n" +
338
		"src/type/ref/TestTypes.java Types type.ref.TestTypes.method(Types) [		Types local = (!|Types|!) obj;@279] EXACT_MATCH\n" +
339
		"src/type/ref/TestTypes.java Bug type.ref.TestTypes.bar(Bug) [		} catch (§|Types|§ ex) {@366] EXACT_MATCH"
339
		"src/type/ref/TestTypes.java Bug type.ref.TestTypes.bar(Bug) [		} catch (!|Types|! ex) {@366] EXACT_MATCH"
340
	);
340
	);
341
}
341
}
342
public void testTypeRef_AllFlags() throws CoreException {
342
public void testTypeRef_AllFlags() throws CoreException {
343
	search(setUpTypeRef(0), ALL_TYPE_FINE_GRAIN_FLAGS);
343
	search(setUpTypeRef(0), ALL_TYPE_FINE_GRAIN_FLAGS);
344
	assertSearchResults(
344
	assertSearchResults(
345
		"src/type/ref/TestTypes.java [import §|type.def.Types|§;@25] EXACT_MATCH\n" +
345
		"src/type/ref/TestTypes.java [import !|type.def.Types|!;@25] EXACT_MATCH\n" +
346
		"src/type/ref/TestTypes.java type.ref.TestTypes [public class TestTypes extends §|Types|§ {@111] EXACT_MATCH\n" +
346
		"src/type/ref/TestTypes.java type.ref.TestTypes [public class TestTypes extends !|Types|! {@111] EXACT_MATCH\n" +
347
		"src/type/ref/TestTypes.java type.ref.TestTypes.field [	§|Types|§ field;@143] EXACT_MATCH\n" +
347
		"src/type/ref/TestTypes.java type.ref.TestTypes.field [	!|Types|! field;@143] EXACT_MATCH\n" +
348
		"src/type/ref/TestTypes.java Types type.ref.TestTypes.method(Types) [	§|Types|§ method(Types param) throws Types {@193] EXACT_MATCH\n" +
348
		"src/type/ref/TestTypes.java Types type.ref.TestTypes.method(Types) [	!|Types|! method(Types param) throws Types {@193] EXACT_MATCH\n" +
349
		"src/type/ref/TestTypes.java Types type.ref.TestTypes.method(Types) [	Types method(§|Types|§ param) throws Types {@206] EXACT_MATCH\n" +
349
		"src/type/ref/TestTypes.java Types type.ref.TestTypes.method(Types) [	Types method(!|Types|! param) throws Types {@206] EXACT_MATCH\n" +
350
		"src/type/ref/TestTypes.java Types type.ref.TestTypes.method(Types) [	Types method(Types param) throws §|Types|§ {@226] EXACT_MATCH\n" +
350
		"src/type/ref/TestTypes.java Types type.ref.TestTypes.method(Types) [	Types method(Types param) throws !|Types|! {@226] EXACT_MATCH\n" +
351
		"src/type/ref/TestTypes.java Types type.ref.TestTypes.method(Types) [		Object obj = new §|Types|§();@253] EXACT_MATCH\n" +
351
		"src/type/ref/TestTypes.java Types type.ref.TestTypes.method(Types) [		Object obj = new !|Types|!();@253] EXACT_MATCH\n" +
352
		"src/type/ref/TestTypes.java Types type.ref.TestTypes.method(Types) [		§|Types|§ local = (Types) obj;@264] EXACT_MATCH\n" +
352
		"src/type/ref/TestTypes.java Types type.ref.TestTypes.method(Types) [		!|Types|! local = (Types) obj;@264] EXACT_MATCH\n" +
353
		"src/type/ref/TestTypes.java Types type.ref.TestTypes.method(Types) [		Types local = (§|Types|§) obj;@279] EXACT_MATCH\n" +
353
		"src/type/ref/TestTypes.java Types type.ref.TestTypes.method(Types) [		Types local = (!|Types|!) obj;@279] EXACT_MATCH\n" +
354
		"src/type/ref/TestTypes.java Bug type.ref.TestTypes.bar(Bug) [		} catch (§|Types|§ ex) {@366] EXACT_MATCH"
354
		"src/type/ref/TestTypes.java Bug type.ref.TestTypes.bar(Bug) [		} catch (!|Types|! ex) {@366] EXACT_MATCH"
355
	);
355
	);
356
}
356
}
357
public void testTypeRef_Allocation() throws CoreException {
357
public void testTypeRef_Allocation() throws CoreException {
358
	search(setUpTypeRef(0), CLASS_INSTANCE_CREATION_TYPE_REFERENCE);
358
	search(setUpTypeRef(0), CLASS_INSTANCE_CREATION_TYPE_REFERENCE);
359
	assertSearchResults(
359
	assertSearchResults(
360
		"src/type/ref/TestTypes.java Types type.ref.TestTypes.method(Types) [		Object obj = new §|Types|§();@253] EXACT_MATCH"
360
		"src/type/ref/TestTypes.java Types type.ref.TestTypes.method(Types) [		Object obj = new !|Types|!();@253] EXACT_MATCH"
361
	);
361
	);
362
}
362
}
363
public void testTypeRef_Annotation() throws CoreException {
363
public void testTypeRef_Annotation() throws CoreException {
364
	search(setUpTypeRef(1), ANNOTATION_TYPE_REFERENCE);
364
	search(setUpTypeRef(1), ANNOTATION_TYPE_REFERENCE);
365
	assertSearchResults(
365
	assertSearchResults(
366
		"src/type/def/Types.java type.def.Types [@§|Bug|§@19] EXACT_MATCH\n" +
366
		"src/type/def/Types.java type.def.Types [@!|Bug|!@19] EXACT_MATCH\n" +
367
		"src/type/def/Types.java type.def.ITest1 [@§|Bug|§@128] EXACT_MATCH\n" +
367
		"src/type/def/Types.java type.def.ITest1 [@!|Bug|!@128] EXACT_MATCH\n" +
368
		"src/type/def/Types.java type.def.ETest [@§|Bug|§@195] EXACT_MATCH\n" +
368
		"src/type/def/Types.java type.def.ETest [@!|Bug|!@195] EXACT_MATCH\n" +
369
		"src/type/def/Types.java type.def.ATest [@§|Bug|§@221] EXACT_MATCH\n" +
369
		"src/type/def/Types.java type.def.ATest [@!|Bug|!@221] EXACT_MATCH\n" +
370
		"src/type/ref/TestTypes.java type.ref.TestTypes [@§|Bug|§(num=155013)@64] EXACT_MATCH\n" +
370
		"src/type/ref/TestTypes.java type.ref.TestTypes [@!|Bug|!(num=155013)@64] EXACT_MATCH\n" +
371
		"src/type/ref/TestTypes.java type.ref.TestTypes.field [	@§|Bug|§(comment=\"field\")@121] EXACT_MATCH\n" +
371
		"src/type/ref/TestTypes.java type.ref.TestTypes.field [	@!|Bug|!(comment=\"field\")@121] EXACT_MATCH\n" +
372
		"src/type/ref/TestTypes.java Types type.ref.TestTypes.method(Types) [	@§|Bug|§(comment=\"method\", num=155013)@158] EXACT_MATCH"
372
		"src/type/ref/TestTypes.java Types type.ref.TestTypes.method(Types) [	@!|Bug|!(comment=\"method\", num=155013)@158] EXACT_MATCH"
373
	);
373
	);
374
}
374
}
375
public void testTypeRef_Cast() throws CoreException {
375
public void testTypeRef_Cast() throws CoreException {
376
	search(setUpTypeRef(0), CAST_TYPE_REFERENCE);
376
	search(setUpTypeRef(0), CAST_TYPE_REFERENCE);
377
	assertSearchResults(
377
	assertSearchResults(
378
		"src/type/ref/TestTypes.java Types type.ref.TestTypes.method(Types) [		Types local = (§|Types|§) obj;@279] EXACT_MATCH"
378
		"src/type/ref/TestTypes.java Types type.ref.TestTypes.method(Types) [		Types local = (!|Types|!) obj;@279] EXACT_MATCH"
379
	);
379
	);
380
}
380
}
381
public void testTypeRef_Catch() throws CoreException {
381
public void testTypeRef_Catch() throws CoreException {
382
	search(setUpTypeRef(0), CATCH_TYPE_REFERENCE);
382
	search(setUpTypeRef(0), CATCH_TYPE_REFERENCE);
383
	assertSearchResults(
383
	assertSearchResults(
384
		"src/type/ref/TestTypes.java Bug type.ref.TestTypes.bar(Bug) [		} catch (§|Types|§ ex) {@366] EXACT_MATCH"
384
		"src/type/ref/TestTypes.java Bug type.ref.TestTypes.bar(Bug) [		} catch (!|Types|! ex) {@366] EXACT_MATCH"
385
	);
385
	);
386
}
386
}
387
public void testTypeRef_Field() throws CoreException {
387
public void testTypeRef_Field() throws CoreException {
388
	search(setUpTypeRef(0), FIELD_DECLARATION_TYPE_REFERENCE);
388
	search(setUpTypeRef(0), FIELD_DECLARATION_TYPE_REFERENCE);
389
	assertSearchResults(
389
	assertSearchResults(
390
		"src/type/ref/TestTypes.java type.ref.TestTypes.field [	§|Types|§ field;@143] EXACT_MATCH"
390
		"src/type/ref/TestTypes.java type.ref.TestTypes.field [	!|Types|! field;@143] EXACT_MATCH"
391
	);
391
	);
392
}
392
}
393
public void testTypeRef_Import() throws CoreException {
393
public void testTypeRef_Import() throws CoreException {
394
	search(setUpTypeRef(0), IMPORT_DECLARATION_TYPE_REFERENCE);
394
	search(setUpTypeRef(0), IMPORT_DECLARATION_TYPE_REFERENCE);
395
	assertSearchResults(
395
	assertSearchResults(
396
		"src/type/ref/TestTypes.java [import §|type.def.Types|§;@25] EXACT_MATCH"
396
		"src/type/ref/TestTypes.java [import !|type.def.Types|!;@25] EXACT_MATCH"
397
	);
397
	);
398
}
398
}
399
public void testTypeRef_MethodParameter() throws CoreException {
399
public void testTypeRef_MethodParameter() throws CoreException {
400
	search(setUpTypeRef(0), PARAMETER_DECLARATION_TYPE_REFERENCE);
400
	search(setUpTypeRef(0), PARAMETER_DECLARATION_TYPE_REFERENCE);
401
	assertSearchResults(
401
	assertSearchResults(
402
		"src/type/ref/TestTypes.java Types type.ref.TestTypes.method(Types) [	Types method(§|Types|§ param) throws Types {@206] EXACT_MATCH"
402
		"src/type/ref/TestTypes.java Types type.ref.TestTypes.method(Types) [	Types method(!|Types|! param) throws Types {@206] EXACT_MATCH"
403
	);
403
	);
404
}
404
}
405
public void testTypeRef_Return() throws CoreException {
405
public void testTypeRef_Return() throws CoreException {
406
	search(setUpTypeRef(0), RETURN_TYPE_REFERENCE);
406
	search(setUpTypeRef(0), RETURN_TYPE_REFERENCE);
407
	assertSearchResults(
407
	assertSearchResults(
408
		"src/type/ref/TestTypes.java Types type.ref.TestTypes.method(Types) [	§|Types|§ method(Types param) throws Types {@193] EXACT_MATCH"
408
		"src/type/ref/TestTypes.java Types type.ref.TestTypes.method(Types) [	!|Types|! method(Types param) throws Types {@193] EXACT_MATCH"
409
	);
409
	);
410
}
410
}
411
public void testTypeRef_Superinterface() throws CoreException {
411
public void testTypeRef_Superinterface() throws CoreException {
412
	IType type = setUpTypeRef(0);
412
	IType type = setUpTypeRef(0);
413
	search(((ICompilationUnit) type.getParent()).getType("ITest1"), SUPERTYPE_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope());
413
	search(((ICompilationUnit) type.getParent()).getType("ITest1"), SUPERTYPE_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope());
414
	assertSearchResults(
414
	assertSearchResults(
415
		"src/type/def/Types.java type.def.Types [public class Types extends Exception implements §|ITest1|§, ITest2 {@78] EXACT_MATCH\n" +
415
		"src/type/def/Types.java type.def.Types [public class Types extends Exception implements !|ITest1|!, ITest2 {@78] EXACT_MATCH\n" +
416
		"src/type/def/Types.java type.def.ITest2 [interface ITest2 extends §|ITest1|§ {}@184] EXACT_MATCH"
416
		"src/type/def/Types.java type.def.ITest2 [interface ITest2 extends !|ITest1|! {}@184] EXACT_MATCH"
417
	);
417
	);
418
}
418
}
419
public void testTypeRef_Supertype() throws CoreException {
419
public void testTypeRef_Supertype() throws CoreException {
420
	search(setUpTypeRef(0), SUPERTYPE_TYPE_REFERENCE);
420
	search(setUpTypeRef(0), SUPERTYPE_TYPE_REFERENCE);
421
	assertSearchResults(
421
	assertSearchResults(
422
		"src/type/ref/TestTypes.java type.ref.TestTypes [public class TestTypes extends §|Types|§ {@111] EXACT_MATCH"
422
		"src/type/ref/TestTypes.java type.ref.TestTypes [public class TestTypes extends !|Types|! {@111] EXACT_MATCH"
423
	);
423
	);
424
}
424
}
425
public void testTypeRef_Throws() throws CoreException {
425
public void testTypeRef_Throws() throws CoreException {
426
	search(setUpTypeRef(0), THROWS_CLAUSE_TYPE_REFERENCE);
426
	search(setUpTypeRef(0), THROWS_CLAUSE_TYPE_REFERENCE);
427
	assertSearchResults(
427
	assertSearchResults(
428
		"src/type/ref/TestTypes.java Types type.ref.TestTypes.method(Types) [	Types method(Types param) throws §|Types|§ {@226] EXACT_MATCH"
428
		"src/type/ref/TestTypes.java Types type.ref.TestTypes.method(Types) [	Types method(Types param) throws !|Types|! {@226] EXACT_MATCH"
429
	);
429
	);
430
}
430
}
431
public void testTypeRef_Variable() throws CoreException {
431
public void testTypeRef_Variable() throws CoreException {
432
	search(setUpTypeRef(0), LOCAL_VARIABLE_DECLARATION_TYPE_REFERENCE);
432
	search(setUpTypeRef(0), LOCAL_VARIABLE_DECLARATION_TYPE_REFERENCE);
433
	assertSearchResults(
433
	assertSearchResults(
434
		"src/type/ref/TestTypes.java Types type.ref.TestTypes.method(Types) [		§|Types|§ local = (Types) obj;@264] EXACT_MATCH"
434
		"src/type/ref/TestTypes.java Types type.ref.TestTypes.method(Types) [		!|Types|! local = (Types) obj;@264] EXACT_MATCH"
435
	);
435
	);
436
}
436
}
437
437
Lines 456-463 Link Here
456
	);
456
	);
457
	search("*", TYPE, INSTANCEOF_TYPE_REFERENCE);
457
	search("*", TYPE, INSTANCEOF_TYPE_REFERENCE);
458
	assertSearchResults(
458
	assertSearchResults(
459
		"src/Test.java void Test.foo(Object) [		if (field instanceof §|java.lang.String|§) {@84] EXACT_MATCH\n" +
459
		"src/Test.java void Test.foo(Object) [		if (field instanceof !|java.lang.String|!) {@84] EXACT_MATCH\n" +
460
		"src/Test.java void Test.foo(Object) [		if (param instanceof §|Test|§) {@131] EXACT_MATCH"
460
		"src/Test.java void Test.foo(Object) [		if (param instanceof !|Test|!) {@131] EXACT_MATCH"
461
	);
461
	);
462
}
462
}
463
public void testTypeRef_InstanceOfWithParenthesis() throws CoreException {
463
public void testTypeRef_InstanceOfWithParenthesis() throws CoreException {
Lines 475-482 Link Here
475
	);
475
	);
476
	search("*", TYPE, INSTANCEOF_TYPE_REFERENCE);
476
	search("*", TYPE, INSTANCEOF_TYPE_REFERENCE);
477
	assertSearchResults(
477
	assertSearchResults(
478
		"src/Test.java void Test.foo(Object) [		if ((field instanceof §|Test|§)) {@85] EXACT_MATCH\n" +
478
		"src/Test.java void Test.foo(Object) [		if ((field instanceof !|Test|!)) {@85] EXACT_MATCH\n" +
479
		"src/Test.java void Test.foo(Object) [		if ((param instanceof §|java.lang.Throwable|§)) {@122] EXACT_MATCH"
479
		"src/Test.java void Test.foo(Object) [		if ((param instanceof !|java.lang.Throwable|!)) {@122] EXACT_MATCH"
480
	);
480
	);
481
}
481
}
482
482
Lines 580-693 Link Here
580
	setUpTypeRefAll();
580
	setUpTypeRefAll();
581
	search("*", TYPE, CLASS_INSTANCE_CREATION_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope());
581
	search("*", TYPE, CLASS_INSTANCE_CREATION_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope());
582
	assertSearchResults(
582
	assertSearchResults(
583
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.field [	Types field = new §|Types|§(), local, other = new Types();@167] EXACT_MATCH\n" +
583
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.field [	Types field = new !|Types|!(), local, other = new Types();@167] EXACT_MATCH\n" +
584
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.other [	Types field = new Types(), local, other = new §|Types|§();@195] EXACT_MATCH\n" +
584
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.other [	Types field = new Types(), local, other = new !|Types|!();@195] EXACT_MATCH\n" +
585
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.{} [				t = new §|TestTypes|§();@279] EXACT_MATCH\n" +
585
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.{} [				t = new !|TestTypes|!();@279] EXACT_MATCH\n" +
586
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.{} [				t = new §|Types|§();@338] EXACT_MATCH\n" +
586
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.{} [				t = new !|Types|!();@338] EXACT_MATCH\n" +
587
		"src/all/types/ref/TestTypes.java Types all.types.ref.TestTypes.method(Types) [		Object obj = new §|Types|§();@519] EXACT_MATCH\n" +
587
		"src/all/types/ref/TestTypes.java Types all.types.ref.TestTypes.method(Types) [		Object obj = new !|Types|!();@519] EXACT_MATCH\n" +
588
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes() [			this.str = new §|String|§();@897] EXACT_MATCH\n" +
588
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes() [			this.str = new !|String|!();@897] EXACT_MATCH\n" +
589
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes() [			this.object = new §|Object|§();@928] EXACT_MATCH"
589
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes() [			this.object = new !|Object|!();@928] EXACT_MATCH"
590
	);
590
	);
591
}
591
}
592
public void testTypeRefAll_Annotation() throws CoreException {
592
public void testTypeRefAll_Annotation() throws CoreException {
593
	setUpTypeRefAll();
593
	setUpTypeRefAll();
594
	search("*", TYPE, ANNOTATION_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope());
594
	search("*", TYPE, ANNOTATION_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope());
595
	assertSearchResults(
595
	assertSearchResults(
596
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes [@§|Bug|§(num=155013)@70] EXACT_MATCH\n" +
596
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes [@!|Bug|!(num=155013)@70] EXACT_MATCH\n" +
597
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.field [	@§|Bug|§(comment=\"field\")@127] EXACT_MATCH\n" +
597
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.field [	@!|Bug|!(comment=\"field\")@127] EXACT_MATCH\n" +
598
		"src/all/types/ref/TestTypes.java Types all.types.ref.TestTypes.method(Types) [	@§|Bug|§(comment=\"method\", num=155013)@424] EXACT_MATCH\n" +
598
		"src/all/types/ref/TestTypes.java Types all.types.ref.TestTypes.method(Types) [	@!|Bug|!(comment=\"method\", num=155013)@424] EXACT_MATCH\n" +
599
		"src/type/def/Types.java type.def.Types [@§|Bug|§@19] EXACT_MATCH\n" +
599
		"src/type/def/Types.java type.def.Types [@!|Bug|!@19] EXACT_MATCH\n" +
600
		"src/type/def/Types.java type.def.Types [@§|ATest|§@24] EXACT_MATCH\n" +
600
		"src/type/def/Types.java type.def.Types [@!|ATest|!@24] EXACT_MATCH\n" +
601
		"src/type/def/Types.java type.def.ITest1 [@§|Bug|§@128] EXACT_MATCH\n" +
601
		"src/type/def/Types.java type.def.ITest1 [@!|Bug|!@128] EXACT_MATCH\n" +
602
		"src/type/def/Types.java type.def.ITest2 [@§|ATest|§@153] EXACT_MATCH\n" +
602
		"src/type/def/Types.java type.def.ITest2 [@!|ATest|!@153] EXACT_MATCH\n" +
603
		"src/type/def/Types.java type.def.ETest [@§|Bug|§@195] EXACT_MATCH\n" +
603
		"src/type/def/Types.java type.def.ETest [@!|Bug|!@195] EXACT_MATCH\n" +
604
		"src/type/def/Types.java type.def.ETest [@§|ATest|§@200] EXACT_MATCH\n" +
604
		"src/type/def/Types.java type.def.ETest [@!|ATest|!@200] EXACT_MATCH\n" +
605
		"src/type/def/Types.java type.def.ATest [@§|Bug|§@221] EXACT_MATCH"
605
		"src/type/def/Types.java type.def.ATest [@!|Bug|!@221] EXACT_MATCH"
606
	);
606
	);
607
}
607
}
608
public void testTypeRefAll_Cast() throws CoreException {
608
public void testTypeRefAll_Cast() throws CoreException {
609
	setUpTypeRefAll();
609
	setUpTypeRefAll();
610
	search("*", TYPE, CAST_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope());
610
	search("*", TYPE, CAST_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope());
611
	assertSearchResults(
611
	assertSearchResults(
612
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.{} [			t = (§|Types|§) o;@391] EXACT_MATCH\n" +
612
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.{} [			t = (!|Types|!) o;@391] EXACT_MATCH\n" +
613
		"src/all/types/ref/TestTypes.java Types all.types.ref.TestTypes.method(Types) [		Types local = (§|Types|§) obj;@545] EXACT_MATCH\n" +
613
		"src/all/types/ref/TestTypes.java Types all.types.ref.TestTypes.method(Types) [		Types local = (!|Types|!) obj;@545] EXACT_MATCH\n" +
614
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes() [			this.str = (§|String|§) this.object;@847] EXACT_MATCH"
614
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes() [			this.str = (!|String|!) this.object;@847] EXACT_MATCH"
615
	);
615
	);
616
}
616
}
617
public void testTypeRefAll_Catch() throws CoreException {
617
public void testTypeRefAll_Catch() throws CoreException {
618
	setUpTypeRefAll();
618
	setUpTypeRefAll();
619
	search("*", TYPE, CATCH_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope());
619
	search("*", TYPE, CATCH_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope());
620
	assertSearchResults(
620
	assertSearchResults(
621
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.{} [			} catch (§|RuntimeException|§ e) {@304] EXACT_MATCH\n" +
621
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.{} [			} catch (!|RuntimeException|! e) {@304] EXACT_MATCH\n" +
622
		"src/all/types/ref/TestTypes.java Bug all.types.ref.TestTypes.bar(Bug) [		catch (§|Types|§ ex) {}@634] EXACT_MATCH\n" +
622
		"src/all/types/ref/TestTypes.java Bug all.types.ref.TestTypes.bar(Bug) [		catch (!|Types|! ex) {}@634] EXACT_MATCH\n" +
623
		"src/all/types/ref/TestTypes.java Bug all.types.ref.TestTypes.bar(Bug) [		catch (§|Exception|§ ex) {}@656] EXACT_MATCH"
623
		"src/all/types/ref/TestTypes.java Bug all.types.ref.TestTypes.bar(Bug) [		catch (!|Exception|! ex) {}@656] EXACT_MATCH"
624
	);
624
	);
625
}
625
}
626
public void testTypeRefAll_Field() throws CoreException {
626
public void testTypeRefAll_Field() throws CoreException {
627
	setUpTypeRefAll();
627
	setUpTypeRefAll();
628
	search("*", TYPE, FIELD_DECLARATION_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope());
628
	search("*", TYPE, FIELD_DECLARATION_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope());
629
	assertSearchResults(
629
	assertSearchResults(
630
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.field [	§|Types|§ field = new Types(), local, other = new Types();@149] EXACT_MATCH\n" +
630
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.field [	!|Types|! field = new Types(), local, other = new Types();@149] EXACT_MATCH\n" +
631
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.object [	§|Object|§ object;@719] EXACT_MATCH\n" +
631
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.object [	!|Object|! object;@719] EXACT_MATCH\n" +
632
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.str [	§|String|§ str;@735] EXACT_MATCH\n" +
632
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.str [	!|String|! str;@735] EXACT_MATCH\n" +
633
		"src/type/def/Types.java type.def.Types.test1 [	§|ITest1|§ test1;@96] EXACT_MATCH\n" +
633
		"src/type/def/Types.java type.def.Types.test1 [	!|ITest1|! test1;@96] EXACT_MATCH\n" +
634
		"src/type/def/Types.java type.def.Types.test2 [	§|ITest2|§ test2;@111] EXACT_MATCH"
634
		"src/type/def/Types.java type.def.Types.test2 [	!|ITest2|! test2;@111] EXACT_MATCH"
635
	);
635
	);
636
}
636
}
637
public void testTypeRefAll_Import() throws CoreException {
637
public void testTypeRefAll_Import() throws CoreException {
638
	setUpTypeRefAll();
638
	setUpTypeRefAll();
639
	search("*", TYPE, IMPORT_DECLARATION_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope());
639
	search("*", TYPE, IMPORT_DECLARATION_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope());
640
	assertSearchResults(
640
	assertSearchResults(
641
		"src/all/types/ref/TestTypes.java [import §|type.def.Bug|§;@31] EXACT_MATCH\n" +
641
		"src/all/types/ref/TestTypes.java [import !|type.def.Bug|!;@31] EXACT_MATCH\n" +
642
		"src/all/types/ref/TestTypes.java [import §|type.def.Types|§;@52] EXACT_MATCH"
642
		"src/all/types/ref/TestTypes.java [import !|type.def.Types|!;@52] EXACT_MATCH"
643
	);
643
	);
644
}
644
}
645
public void testTypeRefAll_MethodParameter() throws CoreException {
645
public void testTypeRefAll_MethodParameter() throws CoreException {
646
	setUpTypeRefAll();
646
	setUpTypeRefAll();
647
	search("*", TYPE, PARAMETER_DECLARATION_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope());
647
	search("*", TYPE, PARAMETER_DECLARATION_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope());
648
	assertSearchResults(
648
	assertSearchResults(
649
		"src/all/types/ref/TestTypes.java Types all.types.ref.TestTypes.method(Types) [	Types method(§|Types|§ param) throws Types {@472] EXACT_MATCH\n" +
649
		"src/all/types/ref/TestTypes.java Types all.types.ref.TestTypes.method(Types) [	Types method(!|Types|! param) throws Types {@472] EXACT_MATCH\n" +
650
		"src/all/types/ref/TestTypes.java Bug all.types.ref.TestTypes.bar(Bug) [	Bug bar(§|Bug|§ bug) {@585] EXACT_MATCH"
650
		"src/all/types/ref/TestTypes.java Bug all.types.ref.TestTypes.bar(Bug) [	Bug bar(!|Bug|! bug) {@585] EXACT_MATCH"
651
	);
651
	);
652
}
652
}
653
public void testTypeRefAll_Return() throws CoreException {
653
public void testTypeRefAll_Return() throws CoreException {
654
	setUpTypeRefAll();
654
	setUpTypeRefAll();
655
	search("*", TYPE, RETURN_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope());
655
	search("*", TYPE, RETURN_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope());
656
	assertSearchResults(
656
	assertSearchResults(
657
		"src/all/types/ref/TestTypes.java Types all.types.ref.TestTypes.method(Types) [	§|Types|§ method(Types param) throws Types {@459] EXACT_MATCH\n" +
657
		"src/all/types/ref/TestTypes.java Types all.types.ref.TestTypes.method(Types) [	!|Types|! method(Types param) throws Types {@459] EXACT_MATCH\n" +
658
		"src/all/types/ref/TestTypes.java Bug all.types.ref.TestTypes.bar(Bug) [	§|Bug|§ bar(Bug bug) {@577] EXACT_MATCH\n" +
658
		"src/all/types/ref/TestTypes.java Bug all.types.ref.TestTypes.bar(Bug) [	!|Bug|! bar(Bug bug) {@577] EXACT_MATCH\n" +
659
		"src/type/def/Bug.java int type.def.Bug.num() [	§|int|§ num() default 0;@43] EXACT_MATCH\n" +
659
		"src/type/def/Bug.java int type.def.Bug.num() [	!|int|! num() default 0;@43] EXACT_MATCH\n" +
660
		"src/type/def/Bug.java String type.def.Bug.comment() [	§|String|§ comment() default \"\";@65] EXACT_MATCH"
660
		"src/type/def/Bug.java String type.def.Bug.comment() [	!|String|! comment() default \"\";@65] EXACT_MATCH"
661
	);
661
	);
662
}
662
}
663
public void testTypeRefAll_Supertype() throws CoreException {
663
public void testTypeRefAll_Supertype() throws CoreException {
664
	setUpTypeRefAll();
664
	setUpTypeRefAll();
665
	search("*", TYPE, SUPERTYPE_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope());
665
	search("*", TYPE, SUPERTYPE_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope());
666
	assertSearchResults(
666
	assertSearchResults(
667
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes [public class TestTypes extends §|Types|§ {@117] EXACT_MATCH\n" +
667
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes [public class TestTypes extends !|Types|! {@117] EXACT_MATCH\n" +
668
		"src/type/def/Types.java type.def.Types [public class Types extends §|Exception|§ implements ITest1, ITest2 {@57] EXACT_MATCH\n" +
668
		"src/type/def/Types.java type.def.Types [public class Types extends !|Exception|! implements ITest1, ITest2 {@57] EXACT_MATCH\n" +
669
		"src/type/def/Types.java type.def.Types [public class Types extends Exception implements §|ITest1|§, ITest2 {@78] EXACT_MATCH\n" +
669
		"src/type/def/Types.java type.def.Types [public class Types extends Exception implements !|ITest1|!, ITest2 {@78] EXACT_MATCH\n" +
670
		"src/type/def/Types.java type.def.Types [public class Types extends Exception implements ITest1, §|ITest2|§ {@86] EXACT_MATCH\n" +
670
		"src/type/def/Types.java type.def.Types [public class Types extends Exception implements ITest1, !|ITest2|! {@86] EXACT_MATCH\n" +
671
		"src/type/def/Types.java type.def.ITest2 [interface ITest2 extends §|ITest1|§ {}@184] EXACT_MATCH"
671
		"src/type/def/Types.java type.def.ITest2 [interface ITest2 extends !|ITest1|! {}@184] EXACT_MATCH"
672
	);
672
	);
673
}
673
}
674
public void testTypeRefAll_Throws() throws CoreException {
674
public void testTypeRefAll_Throws() throws CoreException {
675
	setUpTypeRefAll();
675
	setUpTypeRefAll();
676
	search("*", TYPE, THROWS_CLAUSE_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope());
676
	search("*", TYPE, THROWS_CLAUSE_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope());
677
	assertSearchResults(
677
	assertSearchResults(
678
		"src/all/types/ref/TestTypes.java Types all.types.ref.TestTypes.method(Types) [	Types method(Types param) throws §|Types|§ {@492] EXACT_MATCH\n" +
678
		"src/all/types/ref/TestTypes.java Types all.types.ref.TestTypes.method(Types) [	Types method(Types param) throws !|Types|! {@492] EXACT_MATCH\n" +
679
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes() [	TestTypes() throws §|Types|§, RuntimeException {@767] EXACT_MATCH\n" +
679
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes() [	TestTypes() throws !|Types|!, RuntimeException {@767] EXACT_MATCH\n" +
680
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes() [	TestTypes() throws Types, §|RuntimeException|§ {@774] EXACT_MATCH"
680
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes() [	TestTypes() throws Types, !|RuntimeException|! {@774] EXACT_MATCH"
681
	);
681
	);
682
}
682
}
683
public void testTypeRefAll_Variable() throws CoreException {
683
public void testTypeRefAll_Variable() throws CoreException {
684
	setUpTypeRefAll();
684
	setUpTypeRefAll();
685
	search("*", TYPE, LOCAL_VARIABLE_DECLARATION_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope());
685
	search("*", TYPE, LOCAL_VARIABLE_DECLARATION_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope());
686
	assertSearchResults(
686
	assertSearchResults(
687
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.{} [		§|Object|§ o;@209] EXACT_MATCH\n" +
687
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.{} [		!|Object|! o;@209] EXACT_MATCH\n" +
688
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.{} [		§|Types|§ t;@221] EXACT_MATCH\n" +
688
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.{} [		!|Types|! t;@221] EXACT_MATCH\n" +
689
		"src/all/types/ref/TestTypes.java Types all.types.ref.TestTypes.method(Types) [		§|Object|§ obj = new Types();@502] EXACT_MATCH\n" +
689
		"src/all/types/ref/TestTypes.java Types all.types.ref.TestTypes.method(Types) [		!|Object|! obj = new Types();@502] EXACT_MATCH\n" +
690
		"src/all/types/ref/TestTypes.java Types all.types.ref.TestTypes.method(Types) [		§|Types|§ local = (Types) obj;@530] EXACT_MATCH"
690
		"src/all/types/ref/TestTypes.java Types all.types.ref.TestTypes.method(Types) [		!|Types|! local = (Types) obj;@530] EXACT_MATCH"
691
	);
691
	);
692
}
692
}
693
693
Lines 755-934 Link Here
755
public void testTypeRefGeneric01() throws CoreException {
755
public void testTypeRefGeneric01() throws CoreException {
756
	search(setUpTypeRefGeneric01(), REFERENCES);
756
	search(setUpTypeRefGeneric01(), REFERENCES);
757
	assertSearchResults(
757
	assertSearchResults(
758
		"src/test01/Generic.java [import §|type.def.Types|§;@52] EXACT_MATCH\n" +
758
		"src/test01/Generic.java [import !|type.def.Types|!;@52] EXACT_MATCH\n" +
759
		"src/test01/Generic.java test01.Generic [public class Generic<T extends §|Types|§, U extends Types & Comparable<Types> & Serializable, V extends A<? super Types>> {@99] EXACT_MATCH\n" +
759
		"src/test01/Generic.java test01.Generic [public class Generic<T extends !|Types|!, U extends Types & Comparable<Types> & Serializable, V extends A<? super Types>> {@99] EXACT_MATCH\n" +
760
		"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends §|Types|§ & Comparable<Types> & Serializable, V extends A<? super Types>> {@116] EXACT_MATCH\n" +
760
		"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends !|Types|! & Comparable<Types> & Serializable, V extends A<? super Types>> {@116] EXACT_MATCH\n" +
761
		"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends Types & Comparable<§|Types|§> & Serializable, V extends A<? super Types>> {@135] EXACT_MATCH\n" +
761
		"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends Types & Comparable<!|Types|!> & Serializable, V extends A<? super Types>> {@135] EXACT_MATCH\n" +
762
		"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends Types & Comparable<Types> & Serializable, V extends A<? super §|Types|§>> {@178] EXACT_MATCH\n" +
762
		"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends Types & Comparable<Types> & Serializable, V extends A<? super !|Types|!>> {@178] EXACT_MATCH\n" +
763
		"src/test01/Generic.java test01.Generic.field [	Generic<? extends §|Types|§, ?, ?> field;@207] EXACT_MATCH\n" +
763
		"src/test01/Generic.java test01.Generic.field [	Generic<? extends !|Types|!, ?, ?> field;@207] EXACT_MATCH\n" +
764
		"src/test01/TestGeneric.java [import §|type.def.Types|§;@52] EXACT_MATCH\n" +
764
		"src/test01/TestGeneric.java [import !|type.def.Types|!;@52] EXACT_MATCH\n" +
765
		"src/test01/TestGeneric.java test01.TestGeneric [public class TestGeneric<T> extends Generic<§|Types|§, UClass, VClass> {@112] EXACT_MATCH\n" +
765
		"src/test01/TestGeneric.java test01.TestGeneric [public class TestGeneric<T> extends Generic<!|Types|!, UClass, VClass> {@112] EXACT_MATCH\n" +
766
		"src/test01/TestGeneric.java test01.TestGeneric.test [	TestGeneric<§|Types|§> test;@150] EXACT_MATCH\n" +
766
		"src/test01/TestGeneric.java test01.TestGeneric.test [	TestGeneric<!|Types|!> test;@150] EXACT_MATCH\n" +
767
		"src/test01/TestGeneric.java TestGeneric<String> test01.TestGeneric.foo(TestGeneric<Types>, Comparable<String>) [	TestGeneric<String> foo(TestGeneric<§|Types|§> param1, Comparable<String> param2) {@200] EXACT_MATCH\n" +
767
		"src/test01/TestGeneric.java TestGeneric<String> test01.TestGeneric.foo(TestGeneric<Types>, Comparable<String>) [	TestGeneric<String> foo(TestGeneric<!|Types|!> param1, Comparable<String> param2) {@200] EXACT_MATCH\n" +
768
		"src/test01/TestGeneric.java Comparable<TestGeneric<Types>> test01.TestGeneric.bar() [	Comparable<TestGeneric<§|Types|§>> bar() {@287] EXACT_MATCH\n" +
768
		"src/test01/TestGeneric.java Comparable<TestGeneric<Types>> test01.TestGeneric.bar() [	Comparable<TestGeneric<!|Types|!>> bar() {@287] EXACT_MATCH\n" +
769
		"src/test01/TestGeneric.java test01.UClass [class UClass extends §|Types|§ implements Comparable<Types>, Serializable {@345] EXACT_MATCH\n" +
769
		"src/test01/TestGeneric.java test01.UClass [class UClass extends !|Types|! implements Comparable<Types>, Serializable {@345] EXACT_MATCH\n" +
770
		"src/test01/TestGeneric.java test01.UClass [class UClass extends Types implements Comparable<§|Types|§>, Serializable {@373] EXACT_MATCH\n" +
770
		"src/test01/TestGeneric.java test01.UClass [class UClass extends Types implements Comparable<!|Types|!>, Serializable {@373] EXACT_MATCH\n" +
771
		"src/test01/TestGeneric.java int test01.UClass.compareTo(Types) [	public int compareTo(§|Types|§ o) {@468] EXACT_MATCH\n" +
771
		"src/test01/TestGeneric.java int test01.UClass.compareTo(Types) [	public int compareTo(!|Types|! o) {@468] EXACT_MATCH\n" +
772
		"src/test01/TestGeneric.java test01.VClass [class VClass extends A<§|Types|§> {}@519] EXACT_MATCH"
772
		"src/test01/TestGeneric.java test01.VClass [class VClass extends A<!|Types|!> {}@519] EXACT_MATCH"
773
	);
773
	);
774
}
774
}
775
public void testTypeRefGeneric01_AllFlags() throws CoreException {
775
public void testTypeRefGeneric01_AllFlags() throws CoreException {
776
	search(setUpTypeRefGeneric01(), ALL_TYPE_FINE_GRAIN_FLAGS);
776
	search(setUpTypeRefGeneric01(), ALL_TYPE_FINE_GRAIN_FLAGS);
777
	assertSearchResults(
777
	assertSearchResults(
778
		"src/test01/Generic.java [import §|type.def.Types|§;@52] EXACT_MATCH\n" +
778
		"src/test01/Generic.java [import !|type.def.Types|!;@52] EXACT_MATCH\n" +
779
		"src/test01/Generic.java test01.Generic [public class Generic<T extends §|Types|§, U extends Types & Comparable<Types> & Serializable, V extends A<? super Types>> {@99] EXACT_MATCH\n" +
779
		"src/test01/Generic.java test01.Generic [public class Generic<T extends !|Types|!, U extends Types & Comparable<Types> & Serializable, V extends A<? super Types>> {@99] EXACT_MATCH\n" +
780
		"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends §|Types|§ & Comparable<Types> & Serializable, V extends A<? super Types>> {@116] EXACT_MATCH\n" +
780
		"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends !|Types|! & Comparable<Types> & Serializable, V extends A<? super Types>> {@116] EXACT_MATCH\n" +
781
		"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends Types & Comparable<§|Types|§> & Serializable, V extends A<? super Types>> {@135] EXACT_MATCH\n" +
781
		"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends Types & Comparable<!|Types|!> & Serializable, V extends A<? super Types>> {@135] EXACT_MATCH\n" +
782
		"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends Types & Comparable<Types> & Serializable, V extends A<? super §|Types|§>> {@178] EXACT_MATCH\n" +
782
		"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends Types & Comparable<Types> & Serializable, V extends A<? super !|Types|!>> {@178] EXACT_MATCH\n" +
783
		"src/test01/Generic.java test01.Generic.field [	Generic<? extends §|Types|§, ?, ?> field;@207] EXACT_MATCH\n" +
783
		"src/test01/Generic.java test01.Generic.field [	Generic<? extends !|Types|!, ?, ?> field;@207] EXACT_MATCH\n" +
784
		"src/test01/TestGeneric.java [import §|type.def.Types|§;@52] EXACT_MATCH\n" +
784
		"src/test01/TestGeneric.java [import !|type.def.Types|!;@52] EXACT_MATCH\n" +
785
		"src/test01/TestGeneric.java test01.TestGeneric [public class TestGeneric<T> extends Generic<§|Types|§, UClass, VClass> {@112] EXACT_MATCH\n" +
785
		"src/test01/TestGeneric.java test01.TestGeneric [public class TestGeneric<T> extends Generic<!|Types|!, UClass, VClass> {@112] EXACT_MATCH\n" +
786
		"src/test01/TestGeneric.java test01.TestGeneric.test [	TestGeneric<§|Types|§> test;@150] EXACT_MATCH\n" +
786
		"src/test01/TestGeneric.java test01.TestGeneric.test [	TestGeneric<!|Types|!> test;@150] EXACT_MATCH\n" +
787
		"src/test01/TestGeneric.java TestGeneric<String> test01.TestGeneric.foo(TestGeneric<Types>, Comparable<String>) [	TestGeneric<String> foo(TestGeneric<§|Types|§> param1, Comparable<String> param2) {@200] EXACT_MATCH\n" +
787
		"src/test01/TestGeneric.java TestGeneric<String> test01.TestGeneric.foo(TestGeneric<Types>, Comparable<String>) [	TestGeneric<String> foo(TestGeneric<!|Types|!> param1, Comparable<String> param2) {@200] EXACT_MATCH\n" +
788
		"src/test01/TestGeneric.java Comparable<TestGeneric<Types>> test01.TestGeneric.bar() [	Comparable<TestGeneric<§|Types|§>> bar() {@287] EXACT_MATCH\n" +
788
		"src/test01/TestGeneric.java Comparable<TestGeneric<Types>> test01.TestGeneric.bar() [	Comparable<TestGeneric<!|Types|!>> bar() {@287] EXACT_MATCH\n" +
789
		"src/test01/TestGeneric.java test01.UClass [class UClass extends §|Types|§ implements Comparable<Types>, Serializable {@345] EXACT_MATCH\n" +
789
		"src/test01/TestGeneric.java test01.UClass [class UClass extends !|Types|! implements Comparable<Types>, Serializable {@345] EXACT_MATCH\n" +
790
		"src/test01/TestGeneric.java test01.UClass [class UClass extends Types implements Comparable<§|Types|§>, Serializable {@373] EXACT_MATCH\n" +
790
		"src/test01/TestGeneric.java test01.UClass [class UClass extends Types implements Comparable<!|Types|!>, Serializable {@373] EXACT_MATCH\n" +
791
		"src/test01/TestGeneric.java int test01.UClass.compareTo(Types) [	public int compareTo(§|Types|§ o) {@468] EXACT_MATCH\n" +
791
		"src/test01/TestGeneric.java int test01.UClass.compareTo(Types) [	public int compareTo(!|Types|! o) {@468] EXACT_MATCH\n" +
792
		"src/test01/TestGeneric.java test01.VClass [class VClass extends A<§|Types|§> {}@519] EXACT_MATCH"
792
		"src/test01/TestGeneric.java test01.VClass [class VClass extends A<!|Types|!> {}@519] EXACT_MATCH"
793
	);
793
	);
794
}
794
}
795
public void testTypeRefGeneric01_TypeArgument() throws CoreException {
795
public void testTypeRefGeneric01_TypeArgument() throws CoreException {
796
	search(setUpTypeRefGeneric01(), TYPE_ARGUMENT_TYPE_REFERENCE);
796
	search(setUpTypeRefGeneric01(), TYPE_ARGUMENT_TYPE_REFERENCE);
797
	assertSearchResults(
797
	assertSearchResults(
798
		"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends Types & Comparable<§|Types|§> & Serializable, V extends A<? super Types>> {@135] EXACT_MATCH\n" +
798
		"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends Types & Comparable<!|Types|!> & Serializable, V extends A<? super Types>> {@135] EXACT_MATCH\n" +
799
		"src/test01/TestGeneric.java test01.TestGeneric [public class TestGeneric<T> extends Generic<§|Types|§, UClass, VClass> {@112] EXACT_MATCH\n" +
799
		"src/test01/TestGeneric.java test01.TestGeneric [public class TestGeneric<T> extends Generic<!|Types|!, UClass, VClass> {@112] EXACT_MATCH\n" +
800
		"src/test01/TestGeneric.java test01.TestGeneric.test [	TestGeneric<§|Types|§> test;@150] EXACT_MATCH\n" +
800
		"src/test01/TestGeneric.java test01.TestGeneric.test [	TestGeneric<!|Types|!> test;@150] EXACT_MATCH\n" +
801
		"src/test01/TestGeneric.java TestGeneric<String> test01.TestGeneric.foo(TestGeneric<Types>, Comparable<String>) [	TestGeneric<String> foo(TestGeneric<§|Types|§> param1, Comparable<String> param2) {@200] EXACT_MATCH\n" +
801
		"src/test01/TestGeneric.java TestGeneric<String> test01.TestGeneric.foo(TestGeneric<Types>, Comparable<String>) [	TestGeneric<String> foo(TestGeneric<!|Types|!> param1, Comparable<String> param2) {@200] EXACT_MATCH\n" +
802
		"src/test01/TestGeneric.java Comparable<TestGeneric<Types>> test01.TestGeneric.bar() [	Comparable<TestGeneric<§|Types|§>> bar() {@287] EXACT_MATCH\n" +
802
		"src/test01/TestGeneric.java Comparable<TestGeneric<Types>> test01.TestGeneric.bar() [	Comparable<TestGeneric<!|Types|!>> bar() {@287] EXACT_MATCH\n" +
803
		"src/test01/TestGeneric.java test01.UClass [class UClass extends Types implements Comparable<§|Types|§>, Serializable {@373] EXACT_MATCH\n" +
803
		"src/test01/TestGeneric.java test01.UClass [class UClass extends Types implements Comparable<!|Types|!>, Serializable {@373] EXACT_MATCH\n" +
804
		"src/test01/TestGeneric.java test01.VClass [class VClass extends A<§|Types|§> {}@519] EXACT_MATCH"
804
		"src/test01/TestGeneric.java test01.VClass [class VClass extends A<!|Types|!> {}@519] EXACT_MATCH"
805
	);
805
	);
806
}
806
}
807
public void testTypeRefGeneric01_TypeVariableBound() throws CoreException {
807
public void testTypeRefGeneric01_TypeVariableBound() throws CoreException {
808
	search(setUpTypeRefGeneric01(), TYPE_VARIABLE_BOUND_TYPE_REFERENCE);
808
	search(setUpTypeRefGeneric01(), TYPE_VARIABLE_BOUND_TYPE_REFERENCE);
809
	assertSearchResults(
809
	assertSearchResults(
810
		"src/test01/Generic.java test01.Generic [public class Generic<T extends §|Types|§, U extends Types & Comparable<Types> & Serializable, V extends A<? super Types>> {@99] EXACT_MATCH\n" +
810
		"src/test01/Generic.java test01.Generic [public class Generic<T extends !|Types|!, U extends Types & Comparable<Types> & Serializable, V extends A<? super Types>> {@99] EXACT_MATCH\n" +
811
		"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends §|Types|§ & Comparable<Types> & Serializable, V extends A<? super Types>> {@116] EXACT_MATCH"
811
		"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends !|Types|! & Comparable<Types> & Serializable, V extends A<? super Types>> {@116] EXACT_MATCH"
812
	);
812
	);
813
}
813
}
814
public void testTypeRefGeneric01_WildcardBound() throws CoreException {
814
public void testTypeRefGeneric01_WildcardBound() throws CoreException {
815
	search(setUpTypeRefGeneric01(), WILDCARD_BOUND_TYPE_REFERENCE);
815
	search(setUpTypeRefGeneric01(), WILDCARD_BOUND_TYPE_REFERENCE);
816
	assertSearchResults(
816
	assertSearchResults(
817
		"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends Types & Comparable<Types> & Serializable, V extends A<? super §|Types|§>> {@178] EXACT_MATCH\n" +
817
		"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends Types & Comparable<Types> & Serializable, V extends A<? super !|Types|!>> {@178] EXACT_MATCH\n" +
818
		"src/test01/Generic.java test01.Generic.field [	Generic<? extends §|Types|§, ?, ?> field;@207] EXACT_MATCH"
818
		"src/test01/Generic.java test01.Generic.field [	Generic<? extends !|Types|!, ?, ?> field;@207] EXACT_MATCH"
819
	);
819
	);
820
}
820
}
821
public void testTypeRefGenericAll01() throws CoreException {
821
public void testTypeRefGenericAll01() throws CoreException {
822
	setUpTypeRefGeneric01();
822
	setUpTypeRefGeneric01();
823
	search("*", TYPE, REFERENCES, getJavaSearchWorkingCopiesScope());
823
	search("*", TYPE, REFERENCES, getJavaSearchWorkingCopiesScope());
824
	assertSearchResults(
824
	assertSearchResults(
825
		"src/test01/Generic.java [import §|java.io.Serializable|§;@23] EXACT_MATCH\n" +
825
		"src/test01/Generic.java [import !|java.io.Serializable|!;@23] EXACT_MATCH\n" +
826
		"src/test01/Generic.java [import §|type.def.Types|§;@52] EXACT_MATCH\n" +
826
		"src/test01/Generic.java [import !|type.def.Types|!;@52] EXACT_MATCH\n" +
827
		"src/test01/Generic.java test01.Generic [public class Generic<T extends §|Types|§, U extends Types & Comparable<Types> & Serializable, V extends A<? super Types>> {@99] EXACT_MATCH\n" +
827
		"src/test01/Generic.java test01.Generic [public class Generic<T extends !|Types|!, U extends Types & Comparable<Types> & Serializable, V extends A<? super Types>> {@99] EXACT_MATCH\n" +
828
		"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends §|Types|§ & Comparable<Types> & Serializable, V extends A<? super Types>> {@116] EXACT_MATCH\n" +
828
		"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends !|Types|! & Comparable<Types> & Serializable, V extends A<? super Types>> {@116] EXACT_MATCH\n" +
829
		"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends Types & §|Comparable|§<Types> & Serializable, V extends A<? super Types>> {@124] EXACT_MATCH\n" +
829
		"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends Types & !|Comparable|!<Types> & Serializable, V extends A<? super Types>> {@124] EXACT_MATCH\n" +
830
		"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends Types & Comparable<§|Types|§> & Serializable, V extends A<? super Types>> {@135] EXACT_MATCH\n" +
830
		"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends Types & Comparable<!|Types|!> & Serializable, V extends A<? super Types>> {@135] EXACT_MATCH\n" +
831
		"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends Types & Comparable<Types> & §|Serializable|§, V extends A<? super Types>> {@144] EXACT_MATCH\n" +
831
		"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends Types & Comparable<Types> & !|Serializable|!, V extends A<? super Types>> {@144] EXACT_MATCH\n" +
832
		"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends Types & Comparable<Types> & Serializable, V extends §|A|§<? super Types>> {@168] EXACT_MATCH\n" +
832
		"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends Types & Comparable<Types> & Serializable, V extends !|A|!<? super Types>> {@168] EXACT_MATCH\n" +
833
		"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends Types & Comparable<Types> & Serializable, V extends A<? super §|Types|§>> {@178] EXACT_MATCH\n" +
833
		"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends Types & Comparable<Types> & Serializable, V extends A<? super !|Types|!>> {@178] EXACT_MATCH\n" +
834
		"src/test01/Generic.java test01.Generic.field [	§|Generic|§<? extends Types, ?, ?> field;@189] EXACT_MATCH\n" +
834
		"src/test01/Generic.java test01.Generic.field [	!|Generic|!<? extends Types, ?, ?> field;@189] EXACT_MATCH\n" +
835
		"src/test01/Generic.java test01.Generic.field [	Generic<? extends §|Types|§, ?, ?> field;@207] EXACT_MATCH\n" +
835
		"src/test01/Generic.java test01.Generic.field [	Generic<? extends !|Types|!, ?, ?> field;@207] EXACT_MATCH\n" +
836
		"src/test01/Generic.java test01.Generic.comp [	§|Comparable|§<String> comp;@228] EXACT_MATCH\n" +
836
		"src/test01/Generic.java test01.Generic.comp [	!|Comparable|!<String> comp;@228] EXACT_MATCH\n" +
837
		"src/test01/Generic.java test01.Generic.comp [	Comparable<§|String|§> comp;@239] EXACT_MATCH\n" +
837
		"src/test01/Generic.java test01.Generic.comp [	Comparable<!|String|!> comp;@239] EXACT_MATCH\n" +
838
		"src/test01/Generic.java test01.Generic.clazz [	§|Class|§<? extends Exception> clazz;@254] EXACT_MATCH\n" +
838
		"src/test01/Generic.java test01.Generic.clazz [	!|Class|!<? extends Exception> clazz;@254] EXACT_MATCH\n" +
839
		"src/test01/Generic.java test01.Generic.clazz [	Class<? extends §|Exception|§> clazz;@270] EXACT_MATCH\n" +
839
		"src/test01/Generic.java test01.Generic.clazz [	Class<? extends !|Exception|!> clazz;@270] EXACT_MATCH\n" +
840
		"src/test01/TestGeneric.java [import §|java.io.Serializable|§;@23] EXACT_MATCH\n" +
840
		"src/test01/TestGeneric.java [import !|java.io.Serializable|!;@23] EXACT_MATCH\n" +
841
		"src/test01/TestGeneric.java [import §|type.def.Types|§;@52] EXACT_MATCH\n" +
841
		"src/test01/TestGeneric.java [import !|type.def.Types|!;@52] EXACT_MATCH\n" +
842
		"src/test01/TestGeneric.java test01.TestGeneric [public class TestGeneric<T> extends §|Generic|§<Types, UClass, VClass> {@104] EXACT_MATCH\n" +
842
		"src/test01/TestGeneric.java test01.TestGeneric [public class TestGeneric<T> extends !|Generic|!<Types, UClass, VClass> {@104] EXACT_MATCH\n" +
843
		"src/test01/TestGeneric.java test01.TestGeneric [public class TestGeneric<T> extends Generic<§|Types|§, UClass, VClass> {@112] EXACT_MATCH\n" +
843
		"src/test01/TestGeneric.java test01.TestGeneric [public class TestGeneric<T> extends Generic<!|Types|!, UClass, VClass> {@112] EXACT_MATCH\n" +
844
		"src/test01/TestGeneric.java test01.TestGeneric [public class TestGeneric<T> extends Generic<Types, §|UClass|§, VClass> {@119] EXACT_MATCH\n" +
844
		"src/test01/TestGeneric.java test01.TestGeneric [public class TestGeneric<T> extends Generic<Types, !|UClass|!, VClass> {@119] EXACT_MATCH\n" +
845
		"src/test01/TestGeneric.java test01.TestGeneric [public class TestGeneric<T> extends Generic<Types, UClass, §|VClass|§> {@127] EXACT_MATCH\n" +
845
		"src/test01/TestGeneric.java test01.TestGeneric [public class TestGeneric<T> extends Generic<Types, UClass, !|VClass|!> {@127] EXACT_MATCH\n" +
846
		"src/test01/TestGeneric.java test01.TestGeneric.test [	§|TestGeneric|§<Types> test;@138] EXACT_MATCH\n" +
846
		"src/test01/TestGeneric.java test01.TestGeneric.test [	!|TestGeneric|!<Types> test;@138] EXACT_MATCH\n" +
847
		"src/test01/TestGeneric.java test01.TestGeneric.test [	TestGeneric<§|Types|§> test;@150] EXACT_MATCH\n" +
847
		"src/test01/TestGeneric.java test01.TestGeneric.test [	TestGeneric<!|Types|!> test;@150] EXACT_MATCH\n" +
848
		"src/test01/TestGeneric.java TestGeneric<String> test01.TestGeneric.foo(TestGeneric<Types>, Comparable<String>) [	§|TestGeneric|§<String> foo(TestGeneric<Types> param1, Comparable<String> param2) {@164] EXACT_MATCH\n" +
848
		"src/test01/TestGeneric.java TestGeneric<String> test01.TestGeneric.foo(TestGeneric<Types>, Comparable<String>) [	!|TestGeneric|!<String> foo(TestGeneric<Types> param1, Comparable<String> param2) {@164] EXACT_MATCH\n" +
849
		"src/test01/TestGeneric.java TestGeneric<String> test01.TestGeneric.foo(TestGeneric<Types>, Comparable<String>) [	TestGeneric<§|String|§> foo(TestGeneric<Types> param1, Comparable<String> param2) {@176] EXACT_MATCH\n" +
849
		"src/test01/TestGeneric.java TestGeneric<String> test01.TestGeneric.foo(TestGeneric<Types>, Comparable<String>) [	TestGeneric<!|String|!> foo(TestGeneric<Types> param1, Comparable<String> param2) {@176] EXACT_MATCH\n" +
850
		"src/test01/TestGeneric.java TestGeneric<String> test01.TestGeneric.foo(TestGeneric<Types>, Comparable<String>) [	TestGeneric<String> foo(§|TestGeneric|§<Types> param1, Comparable<String> param2) {@188] EXACT_MATCH\n" +
850
		"src/test01/TestGeneric.java TestGeneric<String> test01.TestGeneric.foo(TestGeneric<Types>, Comparable<String>) [	TestGeneric<String> foo(!|TestGeneric|!<Types> param1, Comparable<String> param2) {@188] EXACT_MATCH\n" +
851
		"src/test01/TestGeneric.java TestGeneric<String> test01.TestGeneric.foo(TestGeneric<Types>, Comparable<String>) [	TestGeneric<String> foo(TestGeneric<§|Types|§> param1, Comparable<String> param2) {@200] EXACT_MATCH\n" +
851
		"src/test01/TestGeneric.java TestGeneric<String> test01.TestGeneric.foo(TestGeneric<Types>, Comparable<String>) [	TestGeneric<String> foo(TestGeneric<!|Types|!> param1, Comparable<String> param2) {@200] EXACT_MATCH\n" +
852
		"src/test01/TestGeneric.java TestGeneric<String> test01.TestGeneric.foo(TestGeneric<Types>, Comparable<String>) [	TestGeneric<String> foo(TestGeneric<Types> param1, §|Comparable|§<String> param2) {@215] EXACT_MATCH\n" +
852
		"src/test01/TestGeneric.java TestGeneric<String> test01.TestGeneric.foo(TestGeneric<Types>, Comparable<String>) [	TestGeneric<String> foo(TestGeneric<Types> param1, !|Comparable|!<String> param2) {@215] EXACT_MATCH\n" +
853
		"src/test01/TestGeneric.java TestGeneric<String> test01.TestGeneric.foo(TestGeneric<Types>, Comparable<String>) [	TestGeneric<String> foo(TestGeneric<Types> param1, Comparable<§|String|§> param2) {@226] EXACT_MATCH\n" +
853
		"src/test01/TestGeneric.java TestGeneric<String> test01.TestGeneric.foo(TestGeneric<Types>, Comparable<String>) [	TestGeneric<String> foo(TestGeneric<Types> param1, Comparable<!|String|!> param2) {@226] EXACT_MATCH\n" +
854
		"src/test01/TestGeneric.java Comparable<TestGeneric<Types>> test01.TestGeneric.bar() [	§|Comparable|§<TestGeneric<Types>> bar() {@264] EXACT_MATCH\n" +
854
		"src/test01/TestGeneric.java Comparable<TestGeneric<Types>> test01.TestGeneric.bar() [	!|Comparable|!<TestGeneric<Types>> bar() {@264] EXACT_MATCH\n" +
855
		"src/test01/TestGeneric.java Comparable<TestGeneric<Types>> test01.TestGeneric.bar() [	Comparable<§|TestGeneric|§<Types>> bar() {@275] EXACT_MATCH\n" +
855
		"src/test01/TestGeneric.java Comparable<TestGeneric<Types>> test01.TestGeneric.bar() [	Comparable<!|TestGeneric|!<Types>> bar() {@275] EXACT_MATCH\n" +
856
		"src/test01/TestGeneric.java Comparable<TestGeneric<Types>> test01.TestGeneric.bar() [	Comparable<TestGeneric<§|Types|§>> bar() {@287] EXACT_MATCH\n" +
856
		"src/test01/TestGeneric.java Comparable<TestGeneric<Types>> test01.TestGeneric.bar() [	Comparable<TestGeneric<!|Types|!>> bar() {@287] EXACT_MATCH\n" +
857
		"src/test01/TestGeneric.java test01.UClass [class UClass extends §|Types|§ implements Comparable<Types>, Serializable {@345] EXACT_MATCH\n" +
857
		"src/test01/TestGeneric.java test01.UClass [class UClass extends !|Types|! implements Comparable<Types>, Serializable {@345] EXACT_MATCH\n" +
858
		"src/test01/TestGeneric.java test01.UClass [class UClass extends Types implements §|Comparable|§<Types>, Serializable {@362] EXACT_MATCH\n" +
858
		"src/test01/TestGeneric.java test01.UClass [class UClass extends Types implements !|Comparable|!<Types>, Serializable {@362] EXACT_MATCH\n" +
859
		"src/test01/TestGeneric.java test01.UClass [class UClass extends Types implements Comparable<§|Types|§>, Serializable {@373] EXACT_MATCH\n" +
859
		"src/test01/TestGeneric.java test01.UClass [class UClass extends Types implements Comparable<!|Types|!>, Serializable {@373] EXACT_MATCH\n" +
860
		"src/test01/TestGeneric.java test01.UClass [class UClass extends Types implements Comparable<Types>, §|Serializable|§ {@381] EXACT_MATCH\n" +
860
		"src/test01/TestGeneric.java test01.UClass [class UClass extends Types implements Comparable<Types>, !|Serializable|! {@381] EXACT_MATCH\n" +
861
		"src/test01/TestGeneric.java test01.UClass.serialVersionUID [	private static final §|long|§ serialVersionUID = 1L;@418] EXACT_MATCH\n" +
861
		"src/test01/TestGeneric.java test01.UClass.serialVersionUID [	private static final !|long|! serialVersionUID = 1L;@418] EXACT_MATCH\n" +
862
		"src/test01/TestGeneric.java int test01.UClass.compareTo(Types) [	public §|int|§ compareTo(Types o) {@454] EXACT_MATCH\n" +
862
		"src/test01/TestGeneric.java int test01.UClass.compareTo(Types) [	public !|int|! compareTo(Types o) {@454] EXACT_MATCH\n" +
863
		"src/test01/TestGeneric.java int test01.UClass.compareTo(Types) [	public int compareTo(§|Types|§ o) {@468] EXACT_MATCH\n" +
863
		"src/test01/TestGeneric.java int test01.UClass.compareTo(Types) [	public int compareTo(!|Types|! o) {@468] EXACT_MATCH\n" +
864
		"src/test01/TestGeneric.java test01.VClass [class VClass extends §|A|§<Types> {}@517] EXACT_MATCH\n" +
864
		"src/test01/TestGeneric.java test01.VClass [class VClass extends !|A|!<Types> {}@517] EXACT_MATCH\n" +
865
		"src/test01/TestGeneric.java test01.VClass [class VClass extends A<§|Types|§> {}@519] EXACT_MATCH"
865
		"src/test01/TestGeneric.java test01.VClass [class VClass extends A<!|Types|!> {}@519] EXACT_MATCH"
866
	);
866
	);
867
}
867
}
868
public void testTypeRefGenericAll01_AllGenericFlags() throws CoreException {
868
public void testTypeRefGenericAll01_AllGenericFlags() throws CoreException {
869
	setUpTypeRefGeneric01();
869
	setUpTypeRefGeneric01();
870
	search("*", TYPE, ALL_GENERIC_TYPE_FINE_GRAIN_FLAGS, getJavaSearchWorkingCopiesScope());
870
	search("*", TYPE, ALL_GENERIC_TYPE_FINE_GRAIN_FLAGS, getJavaSearchWorkingCopiesScope());
871
	assertSearchResults(
871
	assertSearchResults(
872
		"src/test01/Generic.java test01.Generic [public class Generic<T extends §|Types|§, U extends Types & Comparable<Types> & Serializable, V extends A<? super Types>> {@99] EXACT_MATCH\n" +
872
		"src/test01/Generic.java test01.Generic [public class Generic<T extends !|Types|!, U extends Types & Comparable<Types> & Serializable, V extends A<? super Types>> {@99] EXACT_MATCH\n" +
873
		"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends §|Types|§ & Comparable<Types> & Serializable, V extends A<? super Types>> {@116] EXACT_MATCH\n" +
873
		"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends !|Types|! & Comparable<Types> & Serializable, V extends A<? super Types>> {@116] EXACT_MATCH\n" +
874
		"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends Types & §|Comparable|§<Types> & Serializable, V extends A<? super Types>> {@124] EXACT_MATCH\n" +
874
		"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends Types & !|Comparable|!<Types> & Serializable, V extends A<? super Types>> {@124] EXACT_MATCH\n" +
875
		"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends Types & Comparable<§|Types|§> & Serializable, V extends A<? super Types>> {@135] EXACT_MATCH\n" +
875
		"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends Types & Comparable<!|Types|!> & Serializable, V extends A<? super Types>> {@135] EXACT_MATCH\n" +
876
		"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends Types & Comparable<Types> & §|Serializable|§, V extends A<? super Types>> {@144] EXACT_MATCH\n" +
876
		"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends Types & Comparable<Types> & !|Serializable|!, V extends A<? super Types>> {@144] EXACT_MATCH\n" +
877
		"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends Types & Comparable<Types> & Serializable, V extends §|A|§<? super Types>> {@168] EXACT_MATCH\n" +
877
		"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends Types & Comparable<Types> & Serializable, V extends !|A|!<? super Types>> {@168] EXACT_MATCH\n" +
878
		"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends Types & Comparable<Types> & Serializable, V extends A<? super §|Types|§>> {@178] EXACT_MATCH\n" +
878
		"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends Types & Comparable<Types> & Serializable, V extends A<? super !|Types|!>> {@178] EXACT_MATCH\n" +
879
		"src/test01/Generic.java test01.Generic.field [	Generic<? extends §|Types|§, ?, ?> field;@207] EXACT_MATCH\n" +
879
		"src/test01/Generic.java test01.Generic.field [	Generic<? extends !|Types|!, ?, ?> field;@207] EXACT_MATCH\n" +
880
		"src/test01/Generic.java test01.Generic.comp [	Comparable<§|String|§> comp;@239] EXACT_MATCH\n" +
880
		"src/test01/Generic.java test01.Generic.comp [	Comparable<!|String|!> comp;@239] EXACT_MATCH\n" +
881
		"src/test01/Generic.java test01.Generic.clazz [	Class<? extends §|Exception|§> clazz;@270] EXACT_MATCH\n" +
881
		"src/test01/Generic.java test01.Generic.clazz [	Class<? extends !|Exception|!> clazz;@270] EXACT_MATCH\n" +
882
		"src/test01/TestGeneric.java test01.TestGeneric [public class TestGeneric<T> extends Generic<§|Types|§, UClass, VClass> {@112] EXACT_MATCH\n" +
882
		"src/test01/TestGeneric.java test01.TestGeneric [public class TestGeneric<T> extends Generic<!|Types|!, UClass, VClass> {@112] EXACT_MATCH\n" +
883
		"src/test01/TestGeneric.java test01.TestGeneric [public class TestGeneric<T> extends Generic<Types, §|UClass|§, VClass> {@119] EXACT_MATCH\n" +
883
		"src/test01/TestGeneric.java test01.TestGeneric [public class TestGeneric<T> extends Generic<Types, !|UClass|!, VClass> {@119] EXACT_MATCH\n" +
884
		"src/test01/TestGeneric.java test01.TestGeneric [public class TestGeneric<T> extends Generic<Types, UClass, §|VClass|§> {@127] EXACT_MATCH\n" +
884
		"src/test01/TestGeneric.java test01.TestGeneric [public class TestGeneric<T> extends Generic<Types, UClass, !|VClass|!> {@127] EXACT_MATCH\n" +
885
		"src/test01/TestGeneric.java test01.TestGeneric.test [	TestGeneric<§|Types|§> test;@150] EXACT_MATCH\n" +
885
		"src/test01/TestGeneric.java test01.TestGeneric.test [	TestGeneric<!|Types|!> test;@150] EXACT_MATCH\n" +
886
		"src/test01/TestGeneric.java TestGeneric<String> test01.TestGeneric.foo(TestGeneric<Types>, Comparable<String>) [	TestGeneric<§|String|§> foo(TestGeneric<Types> param1, Comparable<String> param2) {@176] EXACT_MATCH\n" +
886
		"src/test01/TestGeneric.java TestGeneric<String> test01.TestGeneric.foo(TestGeneric<Types>, Comparable<String>) [	TestGeneric<!|String|!> foo(TestGeneric<Types> param1, Comparable<String> param2) {@176] EXACT_MATCH\n" +
887
		"src/test01/TestGeneric.java TestGeneric<String> test01.TestGeneric.foo(TestGeneric<Types>, Comparable<String>) [	TestGeneric<String> foo(TestGeneric<§|Types|§> param1, Comparable<String> param2) {@200] EXACT_MATCH\n" +
887
		"src/test01/TestGeneric.java TestGeneric<String> test01.TestGeneric.foo(TestGeneric<Types>, Comparable<String>) [	TestGeneric<String> foo(TestGeneric<!|Types|!> param1, Comparable<String> param2) {@200] EXACT_MATCH\n" +
888
		"src/test01/TestGeneric.java TestGeneric<String> test01.TestGeneric.foo(TestGeneric<Types>, Comparable<String>) [	TestGeneric<String> foo(TestGeneric<Types> param1, Comparable<§|String|§> param2) {@226] EXACT_MATCH\n" +
888
		"src/test01/TestGeneric.java TestGeneric<String> test01.TestGeneric.foo(TestGeneric<Types>, Comparable<String>) [	TestGeneric<String> foo(TestGeneric<Types> param1, Comparable<!|String|!> param2) {@226] EXACT_MATCH\n" +
889
		"src/test01/TestGeneric.java Comparable<TestGeneric<Types>> test01.TestGeneric.bar() [	Comparable<§|TestGeneric|§<Types>> bar() {@275] EXACT_MATCH\n" +
889
		"src/test01/TestGeneric.java Comparable<TestGeneric<Types>> test01.TestGeneric.bar() [	Comparable<!|TestGeneric|!<Types>> bar() {@275] EXACT_MATCH\n" +
890
		"src/test01/TestGeneric.java Comparable<TestGeneric<Types>> test01.TestGeneric.bar() [	Comparable<TestGeneric<§|Types|§>> bar() {@287] EXACT_MATCH\n" +
890
		"src/test01/TestGeneric.java Comparable<TestGeneric<Types>> test01.TestGeneric.bar() [	Comparable<TestGeneric<!|Types|!>> bar() {@287] EXACT_MATCH\n" +
891
		"src/test01/TestGeneric.java test01.UClass [class UClass extends Types implements Comparable<§|Types|§>, Serializable {@373] EXACT_MATCH\n" +
891
		"src/test01/TestGeneric.java test01.UClass [class UClass extends Types implements Comparable<!|Types|!>, Serializable {@373] EXACT_MATCH\n" +
892
		"src/test01/TestGeneric.java test01.VClass [class VClass extends A<§|Types|§> {}@519] EXACT_MATCH"
892
		"src/test01/TestGeneric.java test01.VClass [class VClass extends A<!|Types|!> {}@519] EXACT_MATCH"
893
	);
893
	);
894
}
894
}
895
public void testTypeRefGenericAll01_TypeArgument() throws CoreException {
895
public void testTypeRefGenericAll01_TypeArgument() throws CoreException {
896
	setUpTypeRefGeneric01();
896
	setUpTypeRefGeneric01();
897
	search("*", TYPE, TYPE_ARGUMENT_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope());
897
	search("*", TYPE, TYPE_ARGUMENT_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope());
898
	assertSearchResults(
898
	assertSearchResults(
899
		"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends Types & Comparable<§|Types|§> & Serializable, V extends A<? super Types>> {@135] EXACT_MATCH\n" +
899
		"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends Types & Comparable<!|Types|!> & Serializable, V extends A<? super Types>> {@135] EXACT_MATCH\n" +
900
		"src/test01/Generic.java test01.Generic.comp [	Comparable<§|String|§> comp;@239] EXACT_MATCH\n" +
900
		"src/test01/Generic.java test01.Generic.comp [	Comparable<!|String|!> comp;@239] EXACT_MATCH\n" +
901
		"src/test01/TestGeneric.java test01.TestGeneric [public class TestGeneric<T> extends Generic<§|Types|§, UClass, VClass> {@112] EXACT_MATCH\n" +
901
		"src/test01/TestGeneric.java test01.TestGeneric [public class TestGeneric<T> extends Generic<!|Types|!, UClass, VClass> {@112] EXACT_MATCH\n" +
902
		"src/test01/TestGeneric.java test01.TestGeneric [public class TestGeneric<T> extends Generic<Types, §|UClass|§, VClass> {@119] EXACT_MATCH\n" +
902
		"src/test01/TestGeneric.java test01.TestGeneric [public class TestGeneric<T> extends Generic<Types, !|UClass|!, VClass> {@119] EXACT_MATCH\n" +
903
		"src/test01/TestGeneric.java test01.TestGeneric [public class TestGeneric<T> extends Generic<Types, UClass, §|VClass|§> {@127] EXACT_MATCH\n" +
903
		"src/test01/TestGeneric.java test01.TestGeneric [public class TestGeneric<T> extends Generic<Types, UClass, !|VClass|!> {@127] EXACT_MATCH\n" +
904
		"src/test01/TestGeneric.java test01.TestGeneric.test [	TestGeneric<§|Types|§> test;@150] EXACT_MATCH\n" +
904
		"src/test01/TestGeneric.java test01.TestGeneric.test [	TestGeneric<!|Types|!> test;@150] EXACT_MATCH\n" +
905
		"src/test01/TestGeneric.java TestGeneric<String> test01.TestGeneric.foo(TestGeneric<Types>, Comparable<String>) [	TestGeneric<§|String|§> foo(TestGeneric<Types> param1, Comparable<String> param2) {@176] EXACT_MATCH\n" +
905
		"src/test01/TestGeneric.java TestGeneric<String> test01.TestGeneric.foo(TestGeneric<Types>, Comparable<String>) [	TestGeneric<!|String|!> foo(TestGeneric<Types> param1, Comparable<String> param2) {@176] EXACT_MATCH\n" +
906
		"src/test01/TestGeneric.java TestGeneric<String> test01.TestGeneric.foo(TestGeneric<Types>, Comparable<String>) [	TestGeneric<String> foo(TestGeneric<§|Types|§> param1, Comparable<String> param2) {@200] EXACT_MATCH\n" +
906
		"src/test01/TestGeneric.java TestGeneric<String> test01.TestGeneric.foo(TestGeneric<Types>, Comparable<String>) [	TestGeneric<String> foo(TestGeneric<!|Types|!> param1, Comparable<String> param2) {@200] EXACT_MATCH\n" +
907
		"src/test01/TestGeneric.java TestGeneric<String> test01.TestGeneric.foo(TestGeneric<Types>, Comparable<String>) [	TestGeneric<String> foo(TestGeneric<Types> param1, Comparable<§|String|§> param2) {@226] EXACT_MATCH\n" +
907
		"src/test01/TestGeneric.java TestGeneric<String> test01.TestGeneric.foo(TestGeneric<Types>, Comparable<String>) [	TestGeneric<String> foo(TestGeneric<Types> param1, Comparable<!|String|!> param2) {@226] EXACT_MATCH\n" +
908
		"src/test01/TestGeneric.java Comparable<TestGeneric<Types>> test01.TestGeneric.bar() [	Comparable<§|TestGeneric|§<Types>> bar() {@275] EXACT_MATCH\n" +
908
		"src/test01/TestGeneric.java Comparable<TestGeneric<Types>> test01.TestGeneric.bar() [	Comparable<!|TestGeneric|!<Types>> bar() {@275] EXACT_MATCH\n" +
909
		"src/test01/TestGeneric.java Comparable<TestGeneric<Types>> test01.TestGeneric.bar() [	Comparable<TestGeneric<§|Types|§>> bar() {@287] EXACT_MATCH\n" +
909
		"src/test01/TestGeneric.java Comparable<TestGeneric<Types>> test01.TestGeneric.bar() [	Comparable<TestGeneric<!|Types|!>> bar() {@287] EXACT_MATCH\n" +
910
		"src/test01/TestGeneric.java test01.UClass [class UClass extends Types implements Comparable<§|Types|§>, Serializable {@373] EXACT_MATCH\n" +
910
		"src/test01/TestGeneric.java test01.UClass [class UClass extends Types implements Comparable<!|Types|!>, Serializable {@373] EXACT_MATCH\n" +
911
		"src/test01/TestGeneric.java test01.VClass [class VClass extends A<§|Types|§> {}@519] EXACT_MATCH"
911
		"src/test01/TestGeneric.java test01.VClass [class VClass extends A<!|Types|!> {}@519] EXACT_MATCH"
912
	);
912
	);
913
}
913
}
914
public void testTypeRefGenericAll01_TypeVariableBound() throws CoreException {
914
public void testTypeRefGenericAll01_TypeVariableBound() throws CoreException {
915
	setUpTypeRefGeneric01();
915
	setUpTypeRefGeneric01();
916
	search("*", TYPE, TYPE_VARIABLE_BOUND_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope());
916
	search("*", TYPE, TYPE_VARIABLE_BOUND_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope());
917
	assertSearchResults(
917
	assertSearchResults(
918
		"src/test01/Generic.java test01.Generic [public class Generic<T extends §|Types|§, U extends Types & Comparable<Types> & Serializable, V extends A<? super Types>> {@99] EXACT_MATCH\n" +
918
		"src/test01/Generic.java test01.Generic [public class Generic<T extends !|Types|!, U extends Types & Comparable<Types> & Serializable, V extends A<? super Types>> {@99] EXACT_MATCH\n" +
919
		"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends §|Types|§ & Comparable<Types> & Serializable, V extends A<? super Types>> {@116] EXACT_MATCH\n" +
919
		"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends !|Types|! & Comparable<Types> & Serializable, V extends A<? super Types>> {@116] EXACT_MATCH\n" +
920
		"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends Types & §|Comparable|§<Types> & Serializable, V extends A<? super Types>> {@124] EXACT_MATCH\n" +
920
		"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends Types & !|Comparable|!<Types> & Serializable, V extends A<? super Types>> {@124] EXACT_MATCH\n" +
921
		"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends Types & Comparable<Types> & §|Serializable|§, V extends A<? super Types>> {@144] EXACT_MATCH\n" +
921
		"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends Types & Comparable<Types> & !|Serializable|!, V extends A<? super Types>> {@144] EXACT_MATCH\n" +
922
		"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends Types & Comparable<Types> & Serializable, V extends §|A|§<? super Types>> {@168] EXACT_MATCH"
922
		"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends Types & Comparable<Types> & Serializable, V extends !|A|!<? super Types>> {@168] EXACT_MATCH"
923
	);
923
	);
924
}
924
}
925
public void testTypeRefGenericAll01_WildcardBound() throws CoreException {
925
public void testTypeRefGenericAll01_WildcardBound() throws CoreException {
926
	setUpTypeRefGeneric01();
926
	setUpTypeRefGeneric01();
927
	search("*", TYPE, WILDCARD_BOUND_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope());
927
	search("*", TYPE, WILDCARD_BOUND_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope());
928
	assertSearchResults(
928
	assertSearchResults(
929
		"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends Types & Comparable<Types> & Serializable, V extends A<? super §|Types|§>> {@178] EXACT_MATCH\n" +
929
		"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends Types & Comparable<Types> & Serializable, V extends A<? super !|Types|!>> {@178] EXACT_MATCH\n" +
930
		"src/test01/Generic.java test01.Generic.field [	Generic<? extends §|Types|§, ?, ?> field;@207] EXACT_MATCH\n" +
930
		"src/test01/Generic.java test01.Generic.field [	Generic<? extends !|Types|!, ?, ?> field;@207] EXACT_MATCH\n" +
931
		"src/test01/Generic.java test01.Generic.clazz [	Class<? extends §|Exception|§> clazz;@270] EXACT_MATCH"
931
		"src/test01/Generic.java test01.Generic.clazz [	Class<? extends !|Exception|!> clazz;@270] EXACT_MATCH"
932
	);
932
	);
933
}
933
}
934
/*
934
/*
Lines 977-1110 Link Here
977
	setUpTypeRefGeneric02();
977
	setUpTypeRefGeneric02();
978
	search("*", TYPE, REFERENCES, getJavaSearchWorkingCopiesScope());
978
	search("*", TYPE, REFERENCES, getJavaSearchWorkingCopiesScope());
979
	assertSearchResults(
979
	assertSearchResults(
980
		"src/test02/Test.java test02.Test.field:<anonymous>#1 [	Test<A, ? extends B, ? super C> field = new §|Test|§<A, Z<String>, X<String>> () {@91] EXACT_MATCH\n" +
980
		"src/test02/Test.java test02.Test.field:<anonymous>#1 [	Test<A, ? extends B, ? super C> field = new !|Test|!<A, Z<String>, X<String>> () {@91] EXACT_MATCH\n" +
981
		"src/test02/Test.java test02.Test.field:<anonymous>#1.x [		§|X|§<String> x;@128] EXACT_MATCH\n" +
981
		"src/test02/Test.java test02.Test.field:<anonymous>#1.x [		!|X|!<String> x;@128] EXACT_MATCH\n" +
982
		"src/test02/Test.java test02.Test.field:<anonymous>#1.x [		X<§|String|§> x;@130] EXACT_MATCH\n" +
982
		"src/test02/Test.java test02.Test.field:<anonymous>#1.x [		X<!|String|!> x;@130] EXACT_MATCH\n" +
983
		"src/test02/Test.java test02.Test.field:<anonymous>#1.t [		§|Test|§<A, B, C> t;@143] EXACT_MATCH\n" +
983
		"src/test02/Test.java test02.Test.field:<anonymous>#1.t [		!|Test|!<A, B, C> t;@143] EXACT_MATCH\n" +
984
		"src/test02/Test.java test02.Test.field:<anonymous>#1.t [		Test<§|A|§, B, C> t;@148] EXACT_MATCH\n" +
984
		"src/test02/Test.java test02.Test.field:<anonymous>#1.t [		Test<!|A|!, B, C> t;@148] EXACT_MATCH\n" +
985
		"src/test02/Test.java test02.Test.field:<anonymous>#1.t [		Test<A, §|B|§, C> t;@151] EXACT_MATCH\n" +
985
		"src/test02/Test.java test02.Test.field:<anonymous>#1.t [		Test<A, !|B|!, C> t;@151] EXACT_MATCH\n" +
986
		"src/test02/Test.java test02.Test.field:<anonymous>#1.t [		Test<A, B, §|C|§> t;@154] EXACT_MATCH\n" +
986
		"src/test02/Test.java test02.Test.field:<anonymous>#1.t [		Test<A, B, !|C|!> t;@154] EXACT_MATCH\n" +
987
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [		§|Test|§<X<Y<Z<String>>>, Y<Z<String>>, Z<String>> bar() {@162] EXACT_MATCH\n" +
987
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [		!|Test|!<X<Y<Z<String>>>, Y<Z<String>>, Z<String>> bar() {@162] EXACT_MATCH\n" +
988
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [		Test<§|X|§<Y<Z<String>>>, Y<Z<String>>, Z<String>> bar() {@167] EXACT_MATCH\n" +
988
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [		Test<!|X|!<Y<Z<String>>>, Y<Z<String>>, Z<String>> bar() {@167] EXACT_MATCH\n" +
989
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [		Test<X<§|Y|§<Z<String>>>, Y<Z<String>>, Z<String>> bar() {@169] EXACT_MATCH\n" +
989
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [		Test<X<!|Y|!<Z<String>>>, Y<Z<String>>, Z<String>> bar() {@169] EXACT_MATCH\n" +
990
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [		Test<X<Y<§|Z|§<String>>>, Y<Z<String>>, Z<String>> bar() {@171] EXACT_MATCH\n" +
990
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [		Test<X<Y<!|Z|!<String>>>, Y<Z<String>>, Z<String>> bar() {@171] EXACT_MATCH\n" +
991
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [		Test<X<Y<Z<§|String|§>>>, Y<Z<String>>, Z<String>> bar() {@173] EXACT_MATCH\n" +
991
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [		Test<X<Y<Z<!|String|!>>>, Y<Z<String>>, Z<String>> bar() {@173] EXACT_MATCH\n" +
992
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [		Test<X<Y<Z<String>>>, §|Y|§<Z<String>>, Z<String>> bar() {@184] EXACT_MATCH\n" +
992
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [		Test<X<Y<Z<String>>>, !|Y|!<Z<String>>, Z<String>> bar() {@184] EXACT_MATCH\n" +
993
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [		Test<X<Y<Z<String>>>, Y<§|Z|§<String>>, Z<String>> bar() {@186] EXACT_MATCH\n" +
993
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [		Test<X<Y<Z<String>>>, Y<!|Z|!<String>>, Z<String>> bar() {@186] EXACT_MATCH\n" +
994
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [		Test<X<Y<Z<String>>>, Y<Z<§|String|§>>, Z<String>> bar() {@188] EXACT_MATCH\n" +
994
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [		Test<X<Y<Z<String>>>, Y<Z<!|String|!>>, Z<String>> bar() {@188] EXACT_MATCH\n" +
995
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [		Test<X<Y<Z<String>>>, Y<Z<String>>, §|Z|§<String>> bar() {@198] EXACT_MATCH\n" +
995
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [		Test<X<Y<Z<String>>>, Y<Z<String>>, !|Z|!<String>> bar() {@198] EXACT_MATCH\n" +
996
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [		Test<X<Y<Z<String>>>, Y<Z<String>>, Z<§|String|§>> bar() {@200] EXACT_MATCH\n" +
996
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [		Test<X<Y<Z<String>>>, Y<Z<String>>, Z<!|String|!>> bar() {@200] EXACT_MATCH\n" +
997
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [			return new §|Test|§<X<Y<Z<String>>>, Y<Z<String>>, Z<String>>();@231] EXACT_MATCH\n" +
997
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [			return new !|Test|!<X<Y<Z<String>>>, Y<Z<String>>, Z<String>>();@231] EXACT_MATCH\n" +
998
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [			return new Test<§|X|§<Y<Z<String>>>, Y<Z<String>>, Z<String>>();@236] EXACT_MATCH\n" +
998
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [			return new Test<!|X|!<Y<Z<String>>>, Y<Z<String>>, Z<String>>();@236] EXACT_MATCH\n" +
999
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [			return new Test<X<§|Y|§<Z<String>>>, Y<Z<String>>, Z<String>>();@238] EXACT_MATCH\n" +
999
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [			return new Test<X<!|Y|!<Z<String>>>, Y<Z<String>>, Z<String>>();@238] EXACT_MATCH\n" +
1000
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [			return new Test<X<Y<§|Z|§<String>>>, Y<Z<String>>, Z<String>>();@240] EXACT_MATCH\n" +
1000
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [			return new Test<X<Y<!|Z|!<String>>>, Y<Z<String>>, Z<String>>();@240] EXACT_MATCH\n" +
1001
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [			return new Test<X<Y<Z<§|String|§>>>, Y<Z<String>>, Z<String>>();@242] EXACT_MATCH\n" +
1001
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [			return new Test<X<Y<Z<!|String|!>>>, Y<Z<String>>, Z<String>>();@242] EXACT_MATCH\n" +
1002
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [			return new Test<X<Y<Z<String>>>, §|Y|§<Z<String>>, Z<String>>();@253] EXACT_MATCH\n" +
1002
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [			return new Test<X<Y<Z<String>>>, !|Y|!<Z<String>>, Z<String>>();@253] EXACT_MATCH\n" +
1003
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [			return new Test<X<Y<Z<String>>>, Y<§|Z|§<String>>, Z<String>>();@255] EXACT_MATCH\n" +
1003
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [			return new Test<X<Y<Z<String>>>, Y<!|Z|!<String>>, Z<String>>();@255] EXACT_MATCH\n" +
1004
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [			return new Test<X<Y<Z<String>>>, Y<Z<§|String|§>>, Z<String>>();@257] EXACT_MATCH\n" +
1004
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [			return new Test<X<Y<Z<String>>>, Y<Z<!|String|!>>, Z<String>>();@257] EXACT_MATCH\n" +
1005
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [			return new Test<X<Y<Z<String>>>, Y<Z<String>>, §|Z|§<String>>();@267] EXACT_MATCH\n" +
1005
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [			return new Test<X<Y<Z<String>>>, Y<Z<String>>, !|Z|!<String>>();@267] EXACT_MATCH\n" +
1006
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [			return new Test<X<Y<Z<String>>>, Y<Z<String>>, Z<§|String|§>>();@269] EXACT_MATCH\n" +
1006
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [			return new Test<X<Y<Z<String>>>, Y<Z<String>>, Z<!|String|!>>();@269] EXACT_MATCH\n" +
1007
		"src/test02/Test.java test02.Test.field [	Test<A, ? extends B, ? super C> field = new Test<§|A|§, Z<String>, X<String>> () {@96] EXACT_MATCH\n" +
1007
		"src/test02/Test.java test02.Test.field [	Test<A, ? extends B, ? super C> field = new Test<!|A|!, Z<String>, X<String>> () {@96] EXACT_MATCH\n" +
1008
		"src/test02/Test.java test02.Test.field [	Test<A, ? extends B, ? super C> field = new Test<A, §|Z|§<String>, X<String>> () {@99] EXACT_MATCH\n" +
1008
		"src/test02/Test.java test02.Test.field [	Test<A, ? extends B, ? super C> field = new Test<A, !|Z|!<String>, X<String>> () {@99] EXACT_MATCH\n" +
1009
		"src/test02/Test.java test02.Test.field [	Test<A, ? extends B, ? super C> field = new Test<A, Z<§|String|§>, X<String>> () {@101] EXACT_MATCH\n" +
1009
		"src/test02/Test.java test02.Test.field [	Test<A, ? extends B, ? super C> field = new Test<A, Z<!|String|!>, X<String>> () {@101] EXACT_MATCH\n" +
1010
		"src/test02/Test.java test02.Test.field [	Test<A, ? extends B, ? super C> field = new Test<A, Z<String>, §|X|§<String>> () {@110] EXACT_MATCH\n" +
1010
		"src/test02/Test.java test02.Test.field [	Test<A, ? extends B, ? super C> field = new Test<A, Z<String>, !|X|!<String>> () {@110] EXACT_MATCH\n" +
1011
		"src/test02/Test.java test02.Test.field [	Test<A, ? extends B, ? super C> field = new Test<A, Z<String>, X<§|String|§>> () {@112] EXACT_MATCH\n" +
1011
		"src/test02/Test.java test02.Test.field [	Test<A, ? extends B, ? super C> field = new Test<A, Z<String>, X<!|String|!>> () {@112] EXACT_MATCH\n" +
1012
		"src/test02/Test.java test02.Test.field [	§|Test|§<A, ? extends B, ? super C> field = new Test<A, Z<String>, X<String>> () {@47] EXACT_MATCH\n" +
1012
		"src/test02/Test.java test02.Test.field [	!|Test|!<A, ? extends B, ? super C> field = new Test<A, Z<String>, X<String>> () {@47] EXACT_MATCH\n" +
1013
		"src/test02/Test.java test02.Test.field [	Test<§|A|§, ? extends B, ? super C> field = new Test<A, Z<String>, X<String>> () {@52] EXACT_MATCH\n" +
1013
		"src/test02/Test.java test02.Test.field [	Test<!|A|!, ? extends B, ? super C> field = new Test<A, Z<String>, X<String>> () {@52] EXACT_MATCH\n" +
1014
		"src/test02/Test.java test02.Test.field [	Test<A, ? extends §|B|§, ? super C> field = new Test<A, Z<String>, X<String>> () {@65] EXACT_MATCH\n" +
1014
		"src/test02/Test.java test02.Test.field [	Test<A, ? extends !|B|!, ? super C> field = new Test<A, Z<String>, X<String>> () {@65] EXACT_MATCH\n" +
1015
		"src/test02/Test.java test02.Test.field [	Test<A, ? extends B, ? super §|C|§> field = new Test<A, Z<String>, X<String>> () {@76] EXACT_MATCH\n" +
1015
		"src/test02/Test.java test02.Test.field [	Test<A, ? extends B, ? super !|C|!> field = new Test<A, Z<String>, X<String>> () {@76] EXACT_MATCH\n" +
1016
		"src/test02/Test.java Test<? super A,B,? extends C> test02.Test.foo(Test<? extends A,? super B,C>) [	§|Test|§<? super A, B, ? extends C> foo(Test<? extends A, ? super B, C> param) {@290] EXACT_MATCH\n" +
1016
		"src/test02/Test.java Test<? super A,B,? extends C> test02.Test.foo(Test<? extends A,? super B,C>) [	!|Test|!<? super A, B, ? extends C> foo(Test<? extends A, ? super B, C> param) {@290] EXACT_MATCH\n" +
1017
		"src/test02/Test.java Test<? super A,B,? extends C> test02.Test.foo(Test<? extends A,? super B,C>) [	Test<? super §|A|§, B, ? extends C> foo(Test<? extends A, ? super B, C> param) {@303] EXACT_MATCH\n" +
1017
		"src/test02/Test.java Test<? super A,B,? extends C> test02.Test.foo(Test<? extends A,? super B,C>) [	Test<? super !|A|!, B, ? extends C> foo(Test<? extends A, ? super B, C> param) {@303] EXACT_MATCH\n" +
1018
		"src/test02/Test.java Test<? super A,B,? extends C> test02.Test.foo(Test<? extends A,? super B,C>) [	Test<? super A, §|B|§, ? extends C> foo(Test<? extends A, ? super B, C> param) {@306] EXACT_MATCH\n" +
1018
		"src/test02/Test.java Test<? super A,B,? extends C> test02.Test.foo(Test<? extends A,? super B,C>) [	Test<? super A, !|B|!, ? extends C> foo(Test<? extends A, ? super B, C> param) {@306] EXACT_MATCH\n" +
1019
		"src/test02/Test.java Test<? super A,B,? extends C> test02.Test.foo(Test<? extends A,? super B,C>) [	Test<? super A, B, ? extends §|C|§> foo(Test<? extends A, ? super B, C> param) {@319] EXACT_MATCH\n" +
1019
		"src/test02/Test.java Test<? super A,B,? extends C> test02.Test.foo(Test<? extends A,? super B,C>) [	Test<? super A, B, ? extends !|C|!> foo(Test<? extends A, ? super B, C> param) {@319] EXACT_MATCH\n" +
1020
		"src/test02/Test.java Test<? super A,B,? extends C> test02.Test.foo(Test<? extends A,? super B,C>) [	Test<? super A, B, ? extends C> foo(§|Test|§<? extends A, ? super B, C> param) {@326] EXACT_MATCH\n" +
1020
		"src/test02/Test.java Test<? super A,B,? extends C> test02.Test.foo(Test<? extends A,? super B,C>) [	Test<? super A, B, ? extends C> foo(!|Test|!<? extends A, ? super B, C> param) {@326] EXACT_MATCH\n" +
1021
		"src/test02/Test.java Test<? super A,B,? extends C> test02.Test.foo(Test<? extends A,? super B,C>) [	Test<? super A, B, ? extends C> foo(Test<? extends §|A|§, ? super B, C> param) {@341] EXACT_MATCH\n" +
1021
		"src/test02/Test.java Test<? super A,B,? extends C> test02.Test.foo(Test<? extends A,? super B,C>) [	Test<? super A, B, ? extends C> foo(Test<? extends !|A|!, ? super B, C> param) {@341] EXACT_MATCH\n" +
1022
		"src/test02/Test.java Test<? super A,B,? extends C> test02.Test.foo(Test<? extends A,? super B,C>) [	Test<? super A, B, ? extends C> foo(Test<? extends A, ? super §|B|§, C> param) {@352] EXACT_MATCH\n" +
1022
		"src/test02/Test.java Test<? super A,B,? extends C> test02.Test.foo(Test<? extends A,? super B,C>) [	Test<? super A, B, ? extends C> foo(Test<? extends A, ? super !|B|!, C> param) {@352] EXACT_MATCH\n" +
1023
		"src/test02/Test.java Test<? super A,B,? extends C> test02.Test.foo(Test<? extends A,? super B,C>) [	Test<? super A, B, ? extends C> foo(Test<? extends A, ? super B, §|C|§> param) {@355] EXACT_MATCH\n" +
1023
		"src/test02/Test.java Test<? super A,B,? extends C> test02.Test.foo(Test<? extends A,? super B,C>) [	Test<? super A, B, ? extends C> foo(Test<? extends A, ? super B, !|C|!> param) {@355] EXACT_MATCH\n" +
1024
		"src/test02/Test.java test02.C [class C extends §|X|§<String> {}@426] EXACT_MATCH\n" +
1024
		"src/test02/Test.java test02.C [class C extends !|X|!<String> {}@426] EXACT_MATCH\n" +
1025
		"src/test02/Test.java test02.C [class C extends X<§|String|§> {}@428] EXACT_MATCH\n" +
1025
		"src/test02/Test.java test02.C [class C extends X<!|String|!> {}@428] EXACT_MATCH\n" +
1026
		"src/test02/Test.java test02.Y [class Y<S> extends §|A|§ {}@472] EXACT_MATCH\n" +
1026
		"src/test02/Test.java test02.Y [class Y<S> extends !|A|! {}@472] EXACT_MATCH\n" +
1027
		"src/test02/Test.java test02.Z [class Z<P> extends §|B|§ {}@496] EXACT_MATCH"
1027
		"src/test02/Test.java test02.Z [class Z<P> extends !|B|! {}@496] EXACT_MATCH"
1028
	);
1028
	);
1029
}
1029
}
1030
public void testTypeRefGenericAll02_AllGenericFlags() throws CoreException {
1030
public void testTypeRefGenericAll02_AllGenericFlags() throws CoreException {
1031
	setUpTypeRefGeneric02();
1031
	setUpTypeRefGeneric02();
1032
	search("*", TYPE, ALL_GENERIC_TYPE_FINE_GRAIN_FLAGS, getJavaSearchWorkingCopiesScope());
1032
	search("*", TYPE, ALL_GENERIC_TYPE_FINE_GRAIN_FLAGS, getJavaSearchWorkingCopiesScope());
1033
	assertSearchResults(
1033
	assertSearchResults(
1034
		"src/test02/Test.java test02.Test.field:<anonymous>#1.x [		X<§|String|§> x;@130] EXACT_MATCH\n" +
1034
		"src/test02/Test.java test02.Test.field:<anonymous>#1.x [		X<!|String|!> x;@130] EXACT_MATCH\n" +
1035
		"src/test02/Test.java test02.Test.field:<anonymous>#1.t [		Test<§|A|§, B, C> t;@148] EXACT_MATCH\n" +
1035
		"src/test02/Test.java test02.Test.field:<anonymous>#1.t [		Test<!|A|!, B, C> t;@148] EXACT_MATCH\n" +
1036
		"src/test02/Test.java test02.Test.field:<anonymous>#1.t [		Test<A, §|B|§, C> t;@151] EXACT_MATCH\n" +
1036
		"src/test02/Test.java test02.Test.field:<anonymous>#1.t [		Test<A, !|B|!, C> t;@151] EXACT_MATCH\n" +
1037
		"src/test02/Test.java test02.Test.field:<anonymous>#1.t [		Test<A, B, §|C|§> t;@154] EXACT_MATCH\n" +
1037
		"src/test02/Test.java test02.Test.field:<anonymous>#1.t [		Test<A, B, !|C|!> t;@154] EXACT_MATCH\n" +
1038
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [		Test<§|X|§<Y<Z<String>>>, Y<Z<String>>, Z<String>> bar() {@167] EXACT_MATCH\n" +
1038
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [		Test<!|X|!<Y<Z<String>>>, Y<Z<String>>, Z<String>> bar() {@167] EXACT_MATCH\n" +
1039
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [		Test<X<§|Y|§<Z<String>>>, Y<Z<String>>, Z<String>> bar() {@169] EXACT_MATCH\n" +
1039
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [		Test<X<!|Y|!<Z<String>>>, Y<Z<String>>, Z<String>> bar() {@169] EXACT_MATCH\n" +
1040
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [		Test<X<Y<§|Z|§<String>>>, Y<Z<String>>, Z<String>> bar() {@171] EXACT_MATCH\n" +
1040
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [		Test<X<Y<!|Z|!<String>>>, Y<Z<String>>, Z<String>> bar() {@171] EXACT_MATCH\n" +
1041
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [		Test<X<Y<Z<§|String|§>>>, Y<Z<String>>, Z<String>> bar() {@173] EXACT_MATCH\n" +
1041
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [		Test<X<Y<Z<!|String|!>>>, Y<Z<String>>, Z<String>> bar() {@173] EXACT_MATCH\n" +
1042
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [		Test<X<Y<Z<String>>>, §|Y|§<Z<String>>, Z<String>> bar() {@184] EXACT_MATCH\n" +
1042
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [		Test<X<Y<Z<String>>>, !|Y|!<Z<String>>, Z<String>> bar() {@184] EXACT_MATCH\n" +
1043
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [		Test<X<Y<Z<String>>>, Y<§|Z|§<String>>, Z<String>> bar() {@186] EXACT_MATCH\n" +
1043
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [		Test<X<Y<Z<String>>>, Y<!|Z|!<String>>, Z<String>> bar() {@186] EXACT_MATCH\n" +
1044
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [		Test<X<Y<Z<String>>>, Y<Z<§|String|§>>, Z<String>> bar() {@188] EXACT_MATCH\n" +
1044
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [		Test<X<Y<Z<String>>>, Y<Z<!|String|!>>, Z<String>> bar() {@188] EXACT_MATCH\n" +
1045
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [		Test<X<Y<Z<String>>>, Y<Z<String>>, §|Z|§<String>> bar() {@198] EXACT_MATCH\n" +
1045
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [		Test<X<Y<Z<String>>>, Y<Z<String>>, !|Z|!<String>> bar() {@198] EXACT_MATCH\n" +
1046
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [		Test<X<Y<Z<String>>>, Y<Z<String>>, Z<§|String|§>> bar() {@200] EXACT_MATCH\n" +
1046
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [		Test<X<Y<Z<String>>>, Y<Z<String>>, Z<!|String|!>> bar() {@200] EXACT_MATCH\n" +
1047
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [			return new Test<§|X|§<Y<Z<String>>>, Y<Z<String>>, Z<String>>();@236] EXACT_MATCH\n" +
1047
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [			return new Test<!|X|!<Y<Z<String>>>, Y<Z<String>>, Z<String>>();@236] EXACT_MATCH\n" +
1048
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [			return new Test<X<§|Y|§<Z<String>>>, Y<Z<String>>, Z<String>>();@238] EXACT_MATCH\n" +
1048
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [			return new Test<X<!|Y|!<Z<String>>>, Y<Z<String>>, Z<String>>();@238] EXACT_MATCH\n" +
1049
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [			return new Test<X<Y<§|Z|§<String>>>, Y<Z<String>>, Z<String>>();@240] EXACT_MATCH\n" +
1049
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [			return new Test<X<Y<!|Z|!<String>>>, Y<Z<String>>, Z<String>>();@240] EXACT_MATCH\n" +
1050
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [			return new Test<X<Y<Z<§|String|§>>>, Y<Z<String>>, Z<String>>();@242] EXACT_MATCH\n" +
1050
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [			return new Test<X<Y<Z<!|String|!>>>, Y<Z<String>>, Z<String>>();@242] EXACT_MATCH\n" +
1051
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [			return new Test<X<Y<Z<String>>>, §|Y|§<Z<String>>, Z<String>>();@253] EXACT_MATCH\n" +
1051
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [			return new Test<X<Y<Z<String>>>, !|Y|!<Z<String>>, Z<String>>();@253] EXACT_MATCH\n" +
1052
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [			return new Test<X<Y<Z<String>>>, Y<§|Z|§<String>>, Z<String>>();@255] EXACT_MATCH\n" +
1052
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [			return new Test<X<Y<Z<String>>>, Y<!|Z|!<String>>, Z<String>>();@255] EXACT_MATCH\n" +
1053
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [			return new Test<X<Y<Z<String>>>, Y<Z<§|String|§>>, Z<String>>();@257] EXACT_MATCH\n" +
1053
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [			return new Test<X<Y<Z<String>>>, Y<Z<!|String|!>>, Z<String>>();@257] EXACT_MATCH\n" +
1054
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [			return new Test<X<Y<Z<String>>>, Y<Z<String>>, §|Z|§<String>>();@267] EXACT_MATCH\n" +
1054
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [			return new Test<X<Y<Z<String>>>, Y<Z<String>>, !|Z|!<String>>();@267] EXACT_MATCH\n" +
1055
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [			return new Test<X<Y<Z<String>>>, Y<Z<String>>, Z<§|String|§>>();@269] EXACT_MATCH\n" +
1055
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [			return new Test<X<Y<Z<String>>>, Y<Z<String>>, Z<!|String|!>>();@269] EXACT_MATCH\n" +
1056
		"src/test02/Test.java test02.Test.field [	Test<A, ? extends B, ? super C> field = new Test<§|A|§, Z<String>, X<String>> () {@96] EXACT_MATCH\n" +
1056
		"src/test02/Test.java test02.Test.field [	Test<A, ? extends B, ? super C> field = new Test<!|A|!, Z<String>, X<String>> () {@96] EXACT_MATCH\n" +
1057
		"src/test02/Test.java test02.Test.field [	Test<A, ? extends B, ? super C> field = new Test<A, §|Z|§<String>, X<String>> () {@99] EXACT_MATCH\n" +
1057
		"src/test02/Test.java test02.Test.field [	Test<A, ? extends B, ? super C> field = new Test<A, !|Z|!<String>, X<String>> () {@99] EXACT_MATCH\n" +
1058
		"src/test02/Test.java test02.Test.field [	Test<A, ? extends B, ? super C> field = new Test<A, Z<§|String|§>, X<String>> () {@101] EXACT_MATCH\n" +
1058
		"src/test02/Test.java test02.Test.field [	Test<A, ? extends B, ? super C> field = new Test<A, Z<!|String|!>, X<String>> () {@101] EXACT_MATCH\n" +
1059
		"src/test02/Test.java test02.Test.field [	Test<A, ? extends B, ? super C> field = new Test<A, Z<String>, §|X|§<String>> () {@110] EXACT_MATCH\n" +
1059
		"src/test02/Test.java test02.Test.field [	Test<A, ? extends B, ? super C> field = new Test<A, Z<String>, !|X|!<String>> () {@110] EXACT_MATCH\n" +
1060
		"src/test02/Test.java test02.Test.field [	Test<A, ? extends B, ? super C> field = new Test<A, Z<String>, X<§|String|§>> () {@112] EXACT_MATCH\n" +
1060
		"src/test02/Test.java test02.Test.field [	Test<A, ? extends B, ? super C> field = new Test<A, Z<String>, X<!|String|!>> () {@112] EXACT_MATCH\n" +
1061
		"src/test02/Test.java test02.Test.field [	Test<§|A|§, ? extends B, ? super C> field = new Test<A, Z<String>, X<String>> () {@52] EXACT_MATCH\n" +
1061
		"src/test02/Test.java test02.Test.field [	Test<!|A|!, ? extends B, ? super C> field = new Test<A, Z<String>, X<String>> () {@52] EXACT_MATCH\n" +
1062
		"src/test02/Test.java test02.Test.field [	Test<A, ? extends §|B|§, ? super C> field = new Test<A, Z<String>, X<String>> () {@65] EXACT_MATCH\n" +
1062
		"src/test02/Test.java test02.Test.field [	Test<A, ? extends !|B|!, ? super C> field = new Test<A, Z<String>, X<String>> () {@65] EXACT_MATCH\n" +
1063
		"src/test02/Test.java test02.Test.field [	Test<A, ? extends B, ? super §|C|§> field = new Test<A, Z<String>, X<String>> () {@76] EXACT_MATCH\n" +
1063
		"src/test02/Test.java test02.Test.field [	Test<A, ? extends B, ? super !|C|!> field = new Test<A, Z<String>, X<String>> () {@76] EXACT_MATCH\n" +
1064
		"src/test02/Test.java Test<? super A,B,? extends C> test02.Test.foo(Test<? extends A,? super B,C>) [	Test<? super §|A|§, B, ? extends C> foo(Test<? extends A, ? super B, C> param) {@303] EXACT_MATCH\n" +
1064
		"src/test02/Test.java Test<? super A,B,? extends C> test02.Test.foo(Test<? extends A,? super B,C>) [	Test<? super !|A|!, B, ? extends C> foo(Test<? extends A, ? super B, C> param) {@303] EXACT_MATCH\n" +
1065
		"src/test02/Test.java Test<? super A,B,? extends C> test02.Test.foo(Test<? extends A,? super B,C>) [	Test<? super A, §|B|§, ? extends C> foo(Test<? extends A, ? super B, C> param) {@306] EXACT_MATCH\n" +
1065
		"src/test02/Test.java Test<? super A,B,? extends C> test02.Test.foo(Test<? extends A,? super B,C>) [	Test<? super A, !|B|!, ? extends C> foo(Test<? extends A, ? super B, C> param) {@306] EXACT_MATCH\n" +
1066
		"src/test02/Test.java Test<? super A,B,? extends C> test02.Test.foo(Test<? extends A,? super B,C>) [	Test<? super A, B, ? extends §|C|§> foo(Test<? extends A, ? super B, C> param) {@319] EXACT_MATCH\n" +
1066
		"src/test02/Test.java Test<? super A,B,? extends C> test02.Test.foo(Test<? extends A,? super B,C>) [	Test<? super A, B, ? extends !|C|!> foo(Test<? extends A, ? super B, C> param) {@319] EXACT_MATCH\n" +
1067
		"src/test02/Test.java Test<? super A,B,? extends C> test02.Test.foo(Test<? extends A,? super B,C>) [	Test<? super A, B, ? extends C> foo(Test<? extends §|A|§, ? super B, C> param) {@341] EXACT_MATCH\n" +
1067
		"src/test02/Test.java Test<? super A,B,? extends C> test02.Test.foo(Test<? extends A,? super B,C>) [	Test<? super A, B, ? extends C> foo(Test<? extends !|A|!, ? super B, C> param) {@341] EXACT_MATCH\n" +
1068
		"src/test02/Test.java Test<? super A,B,? extends C> test02.Test.foo(Test<? extends A,? super B,C>) [	Test<? super A, B, ? extends C> foo(Test<? extends A, ? super §|B|§, C> param) {@352] EXACT_MATCH\n" +
1068
		"src/test02/Test.java Test<? super A,B,? extends C> test02.Test.foo(Test<? extends A,? super B,C>) [	Test<? super A, B, ? extends C> foo(Test<? extends A, ? super !|B|!, C> param) {@352] EXACT_MATCH\n" +
1069
		"src/test02/Test.java Test<? super A,B,? extends C> test02.Test.foo(Test<? extends A,? super B,C>) [	Test<? super A, B, ? extends C> foo(Test<? extends A, ? super B, §|C|§> param) {@355] EXACT_MATCH\n" +
1069
		"src/test02/Test.java Test<? super A,B,? extends C> test02.Test.foo(Test<? extends A,? super B,C>) [	Test<? super A, B, ? extends C> foo(Test<? extends A, ? super B, !|C|!> param) {@355] EXACT_MATCH\n" +
1070
		"src/test02/Test.java test02.C [class C extends X<§|String|§> {}@428] EXACT_MATCH"
1070
		"src/test02/Test.java test02.C [class C extends X<!|String|!> {}@428] EXACT_MATCH"
1071
	);
1071
	);
1072
}
1072
}
1073
public void testTypeRefGenericAll02_TypeArgumentl() throws CoreException {
1073
public void testTypeRefGenericAll02_TypeArgumentl() throws CoreException {
1074
	setUpTypeRefGeneric02();
1074
	setUpTypeRefGeneric02();
1075
	search("*", TYPE, TYPE_ARGUMENT_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope());
1075
	search("*", TYPE, TYPE_ARGUMENT_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope());
1076
	assertSearchResults(
1076
	assertSearchResults(
1077
		"src/test02/Test.java test02.Test.field:<anonymous>#1.x [		X<§|String|§> x;@130] EXACT_MATCH\n" +
1077
		"src/test02/Test.java test02.Test.field:<anonymous>#1.x [		X<!|String|!> x;@130] EXACT_MATCH\n" +
1078
		"src/test02/Test.java test02.Test.field:<anonymous>#1.t [		Test<§|A|§, B, C> t;@148] EXACT_MATCH\n" +
1078
		"src/test02/Test.java test02.Test.field:<anonymous>#1.t [		Test<!|A|!, B, C> t;@148] EXACT_MATCH\n" +
1079
		"src/test02/Test.java test02.Test.field:<anonymous>#1.t [		Test<A, §|B|§, C> t;@151] EXACT_MATCH\n" +
1079
		"src/test02/Test.java test02.Test.field:<anonymous>#1.t [		Test<A, !|B|!, C> t;@151] EXACT_MATCH\n" +
1080
		"src/test02/Test.java test02.Test.field:<anonymous>#1.t [		Test<A, B, §|C|§> t;@154] EXACT_MATCH\n" +
1080
		"src/test02/Test.java test02.Test.field:<anonymous>#1.t [		Test<A, B, !|C|!> t;@154] EXACT_MATCH\n" +
1081
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [		Test<§|X|§<Y<Z<String>>>, Y<Z<String>>, Z<String>> bar() {@167] EXACT_MATCH\n" +
1081
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [		Test<!|X|!<Y<Z<String>>>, Y<Z<String>>, Z<String>> bar() {@167] EXACT_MATCH\n" +
1082
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [		Test<X<§|Y|§<Z<String>>>, Y<Z<String>>, Z<String>> bar() {@169] EXACT_MATCH\n" +
1082
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [		Test<X<!|Y|!<Z<String>>>, Y<Z<String>>, Z<String>> bar() {@169] EXACT_MATCH\n" +
1083
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [		Test<X<Y<§|Z|§<String>>>, Y<Z<String>>, Z<String>> bar() {@171] EXACT_MATCH\n" +
1083
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [		Test<X<Y<!|Z|!<String>>>, Y<Z<String>>, Z<String>> bar() {@171] EXACT_MATCH\n" +
1084
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [		Test<X<Y<Z<§|String|§>>>, Y<Z<String>>, Z<String>> bar() {@173] EXACT_MATCH\n" +
1084
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [		Test<X<Y<Z<!|String|!>>>, Y<Z<String>>, Z<String>> bar() {@173] EXACT_MATCH\n" +
1085
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [		Test<X<Y<Z<String>>>, §|Y|§<Z<String>>, Z<String>> bar() {@184] EXACT_MATCH\n" +
1085
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [		Test<X<Y<Z<String>>>, !|Y|!<Z<String>>, Z<String>> bar() {@184] EXACT_MATCH\n" +
1086
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [		Test<X<Y<Z<String>>>, Y<§|Z|§<String>>, Z<String>> bar() {@186] EXACT_MATCH\n" +
1086
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [		Test<X<Y<Z<String>>>, Y<!|Z|!<String>>, Z<String>> bar() {@186] EXACT_MATCH\n" +
1087
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [		Test<X<Y<Z<String>>>, Y<Z<§|String|§>>, Z<String>> bar() {@188] EXACT_MATCH\n" +
1087
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [		Test<X<Y<Z<String>>>, Y<Z<!|String|!>>, Z<String>> bar() {@188] EXACT_MATCH\n" +
1088
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [		Test<X<Y<Z<String>>>, Y<Z<String>>, §|Z|§<String>> bar() {@198] EXACT_MATCH\n" +
1088
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [		Test<X<Y<Z<String>>>, Y<Z<String>>, !|Z|!<String>> bar() {@198] EXACT_MATCH\n" +
1089
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [		Test<X<Y<Z<String>>>, Y<Z<String>>, Z<§|String|§>> bar() {@200] EXACT_MATCH\n" +
1089
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [		Test<X<Y<Z<String>>>, Y<Z<String>>, Z<!|String|!>> bar() {@200] EXACT_MATCH\n" +
1090
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [			return new Test<§|X|§<Y<Z<String>>>, Y<Z<String>>, Z<String>>();@236] EXACT_MATCH\n" +
1090
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [			return new Test<!|X|!<Y<Z<String>>>, Y<Z<String>>, Z<String>>();@236] EXACT_MATCH\n" +
1091
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [			return new Test<X<§|Y|§<Z<String>>>, Y<Z<String>>, Z<String>>();@238] EXACT_MATCH\n" +
1091
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [			return new Test<X<!|Y|!<Z<String>>>, Y<Z<String>>, Z<String>>();@238] EXACT_MATCH\n" +
1092
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [			return new Test<X<Y<§|Z|§<String>>>, Y<Z<String>>, Z<String>>();@240] EXACT_MATCH\n" +
1092
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [			return new Test<X<Y<!|Z|!<String>>>, Y<Z<String>>, Z<String>>();@240] EXACT_MATCH\n" +
1093
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [			return new Test<X<Y<Z<§|String|§>>>, Y<Z<String>>, Z<String>>();@242] EXACT_MATCH\n" +
1093
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [			return new Test<X<Y<Z<!|String|!>>>, Y<Z<String>>, Z<String>>();@242] EXACT_MATCH\n" +
1094
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [			return new Test<X<Y<Z<String>>>, §|Y|§<Z<String>>, Z<String>>();@253] EXACT_MATCH\n" +
1094
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [			return new Test<X<Y<Z<String>>>, !|Y|!<Z<String>>, Z<String>>();@253] EXACT_MATCH\n" +
1095
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [			return new Test<X<Y<Z<String>>>, Y<§|Z|§<String>>, Z<String>>();@255] EXACT_MATCH\n" +
1095
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [			return new Test<X<Y<Z<String>>>, Y<!|Z|!<String>>, Z<String>>();@255] EXACT_MATCH\n" +
1096
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [			return new Test<X<Y<Z<String>>>, Y<Z<§|String|§>>, Z<String>>();@257] EXACT_MATCH\n" +
1096
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [			return new Test<X<Y<Z<String>>>, Y<Z<!|String|!>>, Z<String>>();@257] EXACT_MATCH\n" +
1097
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [			return new Test<X<Y<Z<String>>>, Y<Z<String>>, §|Z|§<String>>();@267] EXACT_MATCH\n" +
1097
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [			return new Test<X<Y<Z<String>>>, Y<Z<String>>, !|Z|!<String>>();@267] EXACT_MATCH\n" +
1098
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [			return new Test<X<Y<Z<String>>>, Y<Z<String>>, Z<§|String|§>>();@269] EXACT_MATCH\n" +
1098
		"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [			return new Test<X<Y<Z<String>>>, Y<Z<String>>, Z<!|String|!>>();@269] EXACT_MATCH\n" +
1099
		"src/test02/Test.java test02.Test.field [	Test<A, ? extends B, ? super C> field = new Test<§|A|§, Z<String>, X<String>> () {@96] EXACT_MATCH\n" +
1099
		"src/test02/Test.java test02.Test.field [	Test<A, ? extends B, ? super C> field = new Test<!|A|!, Z<String>, X<String>> () {@96] EXACT_MATCH\n" +
1100
		"src/test02/Test.java test02.Test.field [	Test<A, ? extends B, ? super C> field = new Test<A, §|Z|§<String>, X<String>> () {@99] EXACT_MATCH\n" +
1100
		"src/test02/Test.java test02.Test.field [	Test<A, ? extends B, ? super C> field = new Test<A, !|Z|!<String>, X<String>> () {@99] EXACT_MATCH\n" +
1101
		"src/test02/Test.java test02.Test.field [	Test<A, ? extends B, ? super C> field = new Test<A, Z<§|String|§>, X<String>> () {@101] EXACT_MATCH\n" +
1101
		"src/test02/Test.java test02.Test.field [	Test<A, ? extends B, ? super C> field = new Test<A, Z<!|String|!>, X<String>> () {@101] EXACT_MATCH\n" +
1102
		"src/test02/Test.java test02.Test.field [	Test<A, ? extends B, ? super C> field = new Test<A, Z<String>, §|X|§<String>> () {@110] EXACT_MATCH\n" +
1102
		"src/test02/Test.java test02.Test.field [	Test<A, ? extends B, ? super C> field = new Test<A, Z<String>, !|X|!<String>> () {@110] EXACT_MATCH\n" +
1103
		"src/test02/Test.java test02.Test.field [	Test<A, ? extends B, ? super C> field = new Test<A, Z<String>, X<§|String|§>> () {@112] EXACT_MATCH\n" +
1103
		"src/test02/Test.java test02.Test.field [	Test<A, ? extends B, ? super C> field = new Test<A, Z<String>, X<!|String|!>> () {@112] EXACT_MATCH\n" +
1104
		"src/test02/Test.java test02.Test.field [	Test<§|A|§, ? extends B, ? super C> field = new Test<A, Z<String>, X<String>> () {@52] EXACT_MATCH\n" +
1104
		"src/test02/Test.java test02.Test.field [	Test<!|A|!, ? extends B, ? super C> field = new Test<A, Z<String>, X<String>> () {@52] EXACT_MATCH\n" +
1105
		"src/test02/Test.java Test<? super A,B,? extends C> test02.Test.foo(Test<? extends A,? super B,C>) [	Test<? super A, §|B|§, ? extends C> foo(Test<? extends A, ? super B, C> param) {@306] EXACT_MATCH\n" +
1105
		"src/test02/Test.java Test<? super A,B,? extends C> test02.Test.foo(Test<? extends A,? super B,C>) [	Test<? super A, !|B|!, ? extends C> foo(Test<? extends A, ? super B, C> param) {@306] EXACT_MATCH\n" +
1106
		"src/test02/Test.java Test<? super A,B,? extends C> test02.Test.foo(Test<? extends A,? super B,C>) [	Test<? super A, B, ? extends C> foo(Test<? extends A, ? super B, §|C|§> param) {@355] EXACT_MATCH\n" +
1106
		"src/test02/Test.java Test<? super A,B,? extends C> test02.Test.foo(Test<? extends A,? super B,C>) [	Test<? super A, B, ? extends C> foo(Test<? extends A, ? super B, !|C|!> param) {@355] EXACT_MATCH\n" +
1107
		"src/test02/Test.java test02.C [class C extends X<§|String|§> {}@428] EXACT_MATCH"
1107
		"src/test02/Test.java test02.C [class C extends X<!|String|!> {}@428] EXACT_MATCH"
1108
	);
1108
	);
1109
}
1109
}
1110
public void testTypeRefGenericAll02_TypeVariableBound() throws CoreException {
1110
public void testTypeRefGenericAll02_TypeVariableBound() throws CoreException {
Lines 1116-1127 Link Here
1116
	setUpTypeRefGeneric02();
1116
	setUpTypeRefGeneric02();
1117
	search("*", TYPE, WILDCARD_BOUND_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope());
1117
	search("*", TYPE, WILDCARD_BOUND_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope());
1118
	assertSearchResults(
1118
	assertSearchResults(
1119
		"src/test02/Test.java test02.Test.field [	Test<A, ? extends §|B|§, ? super C> field = new Test<A, Z<String>, X<String>> () {@65] EXACT_MATCH\n" +
1119
		"src/test02/Test.java test02.Test.field [	Test<A, ? extends !|B|!, ? super C> field = new Test<A, Z<String>, X<String>> () {@65] EXACT_MATCH\n" +
1120
		"src/test02/Test.java test02.Test.field [	Test<A, ? extends B, ? super §|C|§> field = new Test<A, Z<String>, X<String>> () {@76] EXACT_MATCH\n" +
1120
		"src/test02/Test.java test02.Test.field [	Test<A, ? extends B, ? super !|C|!> field = new Test<A, Z<String>, X<String>> () {@76] EXACT_MATCH\n" +
1121
		"src/test02/Test.java Test<? super A,B,? extends C> test02.Test.foo(Test<? extends A,? super B,C>) [	Test<? super §|A|§, B, ? extends C> foo(Test<? extends A, ? super B, C> param) {@303] EXACT_MATCH\n" +
1121
		"src/test02/Test.java Test<? super A,B,? extends C> test02.Test.foo(Test<? extends A,? super B,C>) [	Test<? super !|A|!, B, ? extends C> foo(Test<? extends A, ? super B, C> param) {@303] EXACT_MATCH\n" +
1122
		"src/test02/Test.java Test<? super A,B,? extends C> test02.Test.foo(Test<? extends A,? super B,C>) [	Test<? super A, B, ? extends §|C|§> foo(Test<? extends A, ? super B, C> param) {@319] EXACT_MATCH\n" +
1122
		"src/test02/Test.java Test<? super A,B,? extends C> test02.Test.foo(Test<? extends A,? super B,C>) [	Test<? super A, B, ? extends !|C|!> foo(Test<? extends A, ? super B, C> param) {@319] EXACT_MATCH\n" +
1123
		"src/test02/Test.java Test<? super A,B,? extends C> test02.Test.foo(Test<? extends A,? super B,C>) [	Test<? super A, B, ? extends C> foo(Test<? extends §|A|§, ? super B, C> param) {@341] EXACT_MATCH\n" +
1123
		"src/test02/Test.java Test<? super A,B,? extends C> test02.Test.foo(Test<? extends A,? super B,C>) [	Test<? super A, B, ? extends C> foo(Test<? extends !|A|!, ? super B, C> param) {@341] EXACT_MATCH\n" +
1124
		"src/test02/Test.java Test<? super A,B,? extends C> test02.Test.foo(Test<? extends A,? super B,C>) [	Test<? super A, B, ? extends C> foo(Test<? extends A, ? super §|B|§, C> param) {@352] EXACT_MATCH"
1124
		"src/test02/Test.java Test<? super A,B,? extends C> test02.Test.foo(Test<? extends A,? super B,C>) [	Test<? super A, B, ? extends C> foo(Test<? extends A, ? super !|B|!, C> param) {@352] EXACT_MATCH"
1125
	);
1125
	);
1126
}
1126
}
1127
1127
Lines 1160-1178 Link Here
1160
	setUpTypeRefGenericMethod();
1160
	setUpTypeRefGenericMethod();
1161
	search("*", TYPE, ALL_GENERIC_TYPE_FINE_GRAIN_FLAGS, getJavaSearchWorkingCopiesScope());
1161
	search("*", TYPE, ALL_GENERIC_TYPE_FINE_GRAIN_FLAGS, getJavaSearchWorkingCopiesScope());
1162
	assertSearchResults(
1162
	assertSearchResults(
1163
		"src/test/Test.java void test.Test.foo(A<String>) [	void foo(A<§|String|§> a) {@46] EXACT_MATCH\n" +
1163
		"src/test/Test.java void test.Test.foo(A<String>) [	void foo(A<!|String|!> a) {@46] EXACT_MATCH\n" +
1164
		"src/test/Test.java void test.Test.foo(A<String>) [		a.<§|String|§>foo();@64] EXACT_MATCH\n" +
1164
		"src/test/Test.java void test.Test.foo(A<String>) [		a.<!|String|!>foo();@64] EXACT_MATCH\n" +
1165
		"src/test/Test.java void test.Test.foo(A<String>) [		a.<§|A|§<? extends Exception>>foo();@83] EXACT_MATCH\n" +
1165
		"src/test/Test.java void test.Test.foo(A<String>) [		a.<!|A|!<? extends Exception>>foo();@83] EXACT_MATCH\n" +
1166
		"src/test/Test.java void test.Test.foo(A<String>) [		a.<A<? extends §|Exception|§>>foo();@95] EXACT_MATCH"
1166
		"src/test/Test.java void test.Test.foo(A<String>) [		a.<A<? extends !|Exception|!>>foo();@95] EXACT_MATCH"
1167
	);
1167
	);
1168
}
1168
}
1169
public void testTypeRefGenericMethod_TypeArgument() throws CoreException {
1169
public void testTypeRefGenericMethod_TypeArgument() throws CoreException {
1170
	setUpTypeRefGenericMethod();
1170
	setUpTypeRefGenericMethod();
1171
	search("*", TYPE, TYPE_ARGUMENT_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope());
1171
	search("*", TYPE, TYPE_ARGUMENT_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope());
1172
	assertSearchResults(
1172
	assertSearchResults(
1173
		"src/test/Test.java void test.Test.foo(A<String>) [	void foo(A<§|String|§> a) {@46] EXACT_MATCH\n" +
1173
		"src/test/Test.java void test.Test.foo(A<String>) [	void foo(A<!|String|!> a) {@46] EXACT_MATCH\n" +
1174
		"src/test/Test.java void test.Test.foo(A<String>) [		a.<§|String|§>foo();@64] EXACT_MATCH\n" +
1174
		"src/test/Test.java void test.Test.foo(A<String>) [		a.<!|String|!>foo();@64] EXACT_MATCH\n" +
1175
		"src/test/Test.java void test.Test.foo(A<String>) [		a.<§|A|§<? extends Exception>>foo();@83] EXACT_MATCH"
1175
		"src/test/Test.java void test.Test.foo(A<String>) [		a.<!|A|!<? extends Exception>>foo();@83] EXACT_MATCH"
1176
	);
1176
	);
1177
}
1177
}
1178
public void testTypeRefGenericMethod_TypeVariableBound() throws CoreException {
1178
public void testTypeRefGenericMethod_TypeVariableBound() throws CoreException {
Lines 1184-1190 Link Here
1184
	setUpTypeRefGenericMethod();
1184
	setUpTypeRefGenericMethod();
1185
	search("*", TYPE, WILDCARD_BOUND_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope());
1185
	search("*", TYPE, WILDCARD_BOUND_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope());
1186
	assertSearchResults(
1186
	assertSearchResults(
1187
		"src/test/Test.java void test.Test.foo(A<String>) [		a.<A<? extends §|Exception|§>>foo();@95] EXACT_MATCH"
1187
		"src/test/Test.java void test.Test.foo(A<String>) [		a.<A<? extends !|Exception|!>>foo();@95] EXACT_MATCH"
1188
	);
1188
	);
1189
}
1189
}
1190
1190
Lines 1285-1342 Link Here
1285
	setUpTypeRefQualifiedAll();
1285
	setUpTypeRefQualifiedAll();
1286
	search("*", TYPE, CLASS_INSTANCE_CREATION_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope());
1286
	search("*", TYPE, CLASS_INSTANCE_CREATION_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope());
1287
	assertSearchResults(
1287
	assertSearchResults(
1288
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.field [	type.def.Types field = new §|type.def.Types|§(), local, other = new type.def.Types();@158] EXACT_MATCH\n" +
1288
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.field [	type.def.Types field = new !|type.def.Types|!(), local, other = new type.def.Types();@158] EXACT_MATCH\n" +
1289
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.other [	type.def.Types field = new type.def.Types(), local, other = new §|type.def.Types|§();@195] EXACT_MATCH\n" +
1289
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.other [	type.def.Types field = new type.def.Types(), local, other = new !|type.def.Types|!();@195] EXACT_MATCH\n" +
1290
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.{} [				t = new §|TestTypes|§();@297] EXACT_MATCH\n" +
1290
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.{} [				t = new !|TestTypes|!();@297] EXACT_MATCH\n" +
1291
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.{} [				t = new §|type.def.Types|§();@356] EXACT_MATCH\n" +
1291
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.{} [				t = new !|type.def.Types|!();@356] EXACT_MATCH\n" +
1292
		"src/all/types/ref/TestTypes.java type.def.Types all.types.ref.TestTypes.method(type.def.Types) [		Object obj = new §|type.def.Types|§();@591] EXACT_MATCH\n" +
1292
		"src/all/types/ref/TestTypes.java type.def.Types all.types.ref.TestTypes.method(type.def.Types) [		Object obj = new !|type.def.Types|!();@591] EXACT_MATCH\n" +
1293
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes() [			this.str = new §|String|§();@1032] EXACT_MATCH\n" +
1293
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes() [			this.str = new !|String|!();@1032] EXACT_MATCH\n" +
1294
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes() [			this.object = new §|Object|§();@1063] EXACT_MATCH"
1294
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes() [			this.object = new !|Object|!();@1063] EXACT_MATCH"
1295
	);
1295
	);
1296
}
1296
}
1297
public void testTypeRefQualifiedAll_Annotation() throws CoreException {
1297
public void testTypeRefQualifiedAll_Annotation() throws CoreException {
1298
	setUpTypeRefQualifiedAll();
1298
	setUpTypeRefQualifiedAll();
1299
	search("*", TYPE, ANNOTATION_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope());
1299
	search("*", TYPE, ANNOTATION_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope());
1300
	assertSearchResults(
1300
	assertSearchResults(
1301
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes [@§|type.def.Bug|§(num=155013)@25] EXACT_MATCH\n" +
1301
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes [@!|type.def.Bug|!(num=155013)@25] EXACT_MATCH\n" +
1302
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.field [	@§|type.def.Bug|§(comment=\"field\")@100] EXACT_MATCH\n" +
1302
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.field [	@!|type.def.Bug|!(comment=\"field\")@100] EXACT_MATCH\n" +
1303
		"src/all/types/ref/TestTypes.java type.def.Types all.types.ref.TestTypes.method(type.def.Types) [	@§|type.def.Bug|§(comment=\"method\", num=155013)@460] EXACT_MATCH\n" +
1303
		"src/all/types/ref/TestTypes.java type.def.Types all.types.ref.TestTypes.method(type.def.Types) [	@!|type.def.Bug|!(comment=\"method\", num=155013)@460] EXACT_MATCH\n" +
1304
		"src/type/def/Types.java type.def.Types [@§|Bug|§@19] EXACT_MATCH\n" +
1304
		"src/type/def/Types.java type.def.Types [@!|Bug|!@19] EXACT_MATCH\n" +
1305
		"src/type/def/Types.java type.def.Types [@§|ATest|§@24] EXACT_MATCH\n" +
1305
		"src/type/def/Types.java type.def.Types [@!|ATest|!@24] EXACT_MATCH\n" +
1306
		"src/type/def/Types.java type.def.ITest1 [@§|Bug|§@128] EXACT_MATCH\n" +
1306
		"src/type/def/Types.java type.def.ITest1 [@!|Bug|!@128] EXACT_MATCH\n" +
1307
		"src/type/def/Types.java type.def.ITest2 [@§|ATest|§@153] EXACT_MATCH\n" +
1307
		"src/type/def/Types.java type.def.ITest2 [@!|ATest|!@153] EXACT_MATCH\n" +
1308
		"src/type/def/Types.java type.def.ETest [@§|Bug|§@195] EXACT_MATCH\n" +
1308
		"src/type/def/Types.java type.def.ETest [@!|Bug|!@195] EXACT_MATCH\n" +
1309
		"src/type/def/Types.java type.def.ETest [@§|ATest|§@200] EXACT_MATCH\n" +
1309
		"src/type/def/Types.java type.def.ETest [@!|ATest|!@200] EXACT_MATCH\n" +
1310
		"src/type/def/Types.java type.def.ATest [@§|Bug|§@221] EXACT_MATCH"
1310
		"src/type/def/Types.java type.def.ATest [@!|Bug|!@221] EXACT_MATCH"
1311
	);
1311
	);
1312
}
1312
}
1313
public void testTypeRefQualifiedAll_Cast() throws CoreException {
1313
public void testTypeRefQualifiedAll_Cast() throws CoreException {
1314
	setUpTypeRefQualifiedAll();
1314
	setUpTypeRefQualifiedAll();
1315
	search("*", TYPE, CAST_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope());
1315
	search("*", TYPE, CAST_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope());
1316
	assertSearchResults(
1316
	assertSearchResults(
1317
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.{} [			t = (§|type.def.Types|§) o;@418] EXACT_MATCH\n" +
1317
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.{} [			t = (!|type.def.Types|!) o;@418] EXACT_MATCH\n" +
1318
		"src/all/types/ref/TestTypes.java type.def.Types all.types.ref.TestTypes.method(type.def.Types) [		type.def.Types local = (§|type.def.Types|§) obj;@635] EXACT_MATCH\n" +
1318
		"src/all/types/ref/TestTypes.java type.def.Types all.types.ref.TestTypes.method(type.def.Types) [		type.def.Types local = (!|type.def.Types|!) obj;@635] EXACT_MATCH\n" +
1319
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes() [			this.str = (§|String|§) this.object;@982] EXACT_MATCH"
1319
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes() [			this.str = (!|String|!) this.object;@982] EXACT_MATCH"
1320
	);
1320
	);
1321
}
1321
}
1322
public void testTypeRefQualifiedAll_Catch() throws CoreException {
1322
public void testTypeRefQualifiedAll_Catch() throws CoreException {
1323
	setUpTypeRefQualifiedAll();
1323
	setUpTypeRefQualifiedAll();
1324
	search("*", TYPE, CATCH_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope());
1324
	search("*", TYPE, CATCH_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope());
1325
	assertSearchResults(
1325
	assertSearchResults(
1326
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.{} [			} catch (§|RuntimeException|§ e) {@322] EXACT_MATCH\n" +
1326
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.{} [			} catch (!|RuntimeException|! e) {@322] EXACT_MATCH\n" +
1327
		"src/all/types/ref/TestTypes.java type.def.Bug all.types.ref.TestTypes.bar(type.def.Bug) [		catch (§|type.def.Types|§ ex) {}@751] EXACT_MATCH\n" +
1327
		"src/all/types/ref/TestTypes.java type.def.Bug all.types.ref.TestTypes.bar(type.def.Bug) [		catch (!|type.def.Types|! ex) {}@751] EXACT_MATCH\n" +
1328
		"src/all/types/ref/TestTypes.java type.def.Bug all.types.ref.TestTypes.bar(type.def.Bug) [		catch (§|Exception|§ ex) {}@782] EXACT_MATCH"
1328
		"src/all/types/ref/TestTypes.java type.def.Bug all.types.ref.TestTypes.bar(type.def.Bug) [		catch (!|Exception|! ex) {}@782] EXACT_MATCH"
1329
	);
1329
	);
1330
}
1330
}
1331
public void testTypeRefQualifiedAll_Field() throws CoreException {
1331
public void testTypeRefQualifiedAll_Field() throws CoreException {
1332
	setUpTypeRefQualifiedAll();
1332
	setUpTypeRefQualifiedAll();
1333
	search("*", TYPE, FIELD_DECLARATION_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope());
1333
	search("*", TYPE, FIELD_DECLARATION_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope());
1334
	assertSearchResults(
1334
	assertSearchResults(
1335
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.field [	§|type.def.Types|§ field = new type.def.Types(), local, other = new type.def.Types();@131] EXACT_MATCH\n" +
1335
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.field [	!|type.def.Types|! field = new type.def.Types(), local, other = new type.def.Types();@131] EXACT_MATCH\n" +
1336
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.object [	§|Object|§ object;@845] EXACT_MATCH\n" +
1336
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.object [	!|Object|! object;@845] EXACT_MATCH\n" +
1337
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.str [	§|String|§ str;@861] EXACT_MATCH\n" +
1337
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.str [	!|String|! str;@861] EXACT_MATCH\n" +
1338
		"src/type/def/Types.java type.def.Types.test1 [	§|ITest1|§ test1;@96] EXACT_MATCH\n" +
1338
		"src/type/def/Types.java type.def.Types.test1 [	!|ITest1|! test1;@96] EXACT_MATCH\n" +
1339
		"src/type/def/Types.java type.def.Types.test2 [	§|ITest2|§ test2;@111] EXACT_MATCH"
1339
		"src/type/def/Types.java type.def.Types.test2 [	!|ITest2|! test2;@111] EXACT_MATCH"
1340
	);
1340
	);
1341
}
1341
}
1342
public void testTypeRefQualifiedAll_Import() throws CoreException {
1342
public void testTypeRefQualifiedAll_Import() throws CoreException {
Lines 1348-1395 Link Here
1348
	setUpTypeRefQualifiedAll();
1348
	setUpTypeRefQualifiedAll();
1349
	search("*", TYPE, PARAMETER_DECLARATION_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope());
1349
	search("*", TYPE, PARAMETER_DECLARATION_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope());
1350
	assertSearchResults(
1350
	assertSearchResults(
1351
		"src/all/types/ref/TestTypes.java type.def.Types all.types.ref.TestTypes.method(type.def.Types) [	type.def.Types method(§|type.def.Types|§ param) throws type.def.Types {@526] EXACT_MATCH\n" +
1351
		"src/all/types/ref/TestTypes.java type.def.Types all.types.ref.TestTypes.method(type.def.Types) [	type.def.Types method(!|type.def.Types|! param) throws type.def.Types {@526] EXACT_MATCH\n" +
1352
		"src/all/types/ref/TestTypes.java type.def.Bug all.types.ref.TestTypes.bar(type.def.Bug) [	type.def.Bug bar(§|type.def.Bug|§ bug) {@693] EXACT_MATCH"
1352
		"src/all/types/ref/TestTypes.java type.def.Bug all.types.ref.TestTypes.bar(type.def.Bug) [	type.def.Bug bar(!|type.def.Bug|! bug) {@693] EXACT_MATCH"
1353
	);
1353
	);
1354
}
1354
}
1355
public void testTypeRefQualifiedAll_Return() throws CoreException {
1355
public void testTypeRefQualifiedAll_Return() throws CoreException {
1356
	setUpTypeRefQualifiedAll();
1356
	setUpTypeRefQualifiedAll();
1357
	search("*", TYPE, RETURN_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope());
1357
	search("*", TYPE, RETURN_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope());
1358
	assertSearchResults(
1358
	assertSearchResults(
1359
		"src/all/types/ref/TestTypes.java type.def.Types all.types.ref.TestTypes.method(type.def.Types) [	§|type.def.Types|§ method(type.def.Types param) throws type.def.Types {@504] EXACT_MATCH\n" +
1359
		"src/all/types/ref/TestTypes.java type.def.Types all.types.ref.TestTypes.method(type.def.Types) [	!|type.def.Types|! method(type.def.Types param) throws type.def.Types {@504] EXACT_MATCH\n" +
1360
		"src/all/types/ref/TestTypes.java type.def.Bug all.types.ref.TestTypes.bar(type.def.Bug) [	§|type.def.Bug|§ bar(type.def.Bug bug) {@676] EXACT_MATCH\n" +
1360
		"src/all/types/ref/TestTypes.java type.def.Bug all.types.ref.TestTypes.bar(type.def.Bug) [	!|type.def.Bug|! bar(type.def.Bug bug) {@676] EXACT_MATCH\n" +
1361
		"src/type/def/Bug.java int type.def.Bug.num() [	§|int|§ num() default 0;@43] EXACT_MATCH\n" +
1361
		"src/type/def/Bug.java int type.def.Bug.num() [	!|int|! num() default 0;@43] EXACT_MATCH\n" +
1362
		"src/type/def/Bug.java String type.def.Bug.comment() [	§|String|§ comment() default \"\";@65] EXACT_MATCH"
1362
		"src/type/def/Bug.java String type.def.Bug.comment() [	!|String|! comment() default \"\";@65] EXACT_MATCH"
1363
	);
1363
	);
1364
}
1364
}
1365
public void testTypeRefQualifiedAll_Supertype() throws CoreException {
1365
public void testTypeRefQualifiedAll_Supertype() throws CoreException {
1366
	setUpTypeRefQualifiedAll();
1366
	setUpTypeRefQualifiedAll();
1367
	search("*", TYPE, SUPERTYPE_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope());
1367
	search("*", TYPE, SUPERTYPE_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope());
1368
	assertSearchResults(
1368
	assertSearchResults(
1369
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes [public class TestTypes extends §|type.def.Types|§ {@81] EXACT_MATCH\n" +
1369
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes [public class TestTypes extends !|type.def.Types|! {@81] EXACT_MATCH\n" +
1370
		"src/type/def/Types.java type.def.Types [public class Types extends §|Exception|§ implements ITest1, ITest2 {@57] EXACT_MATCH\n" +
1370
		"src/type/def/Types.java type.def.Types [public class Types extends !|Exception|! implements ITest1, ITest2 {@57] EXACT_MATCH\n" +
1371
		"src/type/def/Types.java type.def.Types [public class Types extends Exception implements §|ITest1|§, ITest2 {@78] EXACT_MATCH\n" +
1371
		"src/type/def/Types.java type.def.Types [public class Types extends Exception implements !|ITest1|!, ITest2 {@78] EXACT_MATCH\n" +
1372
		"src/type/def/Types.java type.def.Types [public class Types extends Exception implements ITest1, §|ITest2|§ {@86] EXACT_MATCH\n" +
1372
		"src/type/def/Types.java type.def.Types [public class Types extends Exception implements ITest1, !|ITest2|! {@86] EXACT_MATCH\n" +
1373
		"src/type/def/Types.java type.def.ITest2 [interface ITest2 extends §|ITest1|§ {}@184] EXACT_MATCH"
1373
		"src/type/def/Types.java type.def.ITest2 [interface ITest2 extends !|ITest1|! {}@184] EXACT_MATCH"
1374
	);
1374
	);
1375
}
1375
}
1376
public void testTypeRefQualifiedAll_Throws() throws CoreException {
1376
public void testTypeRefQualifiedAll_Throws() throws CoreException {
1377
	setUpTypeRefQualifiedAll();
1377
	setUpTypeRefQualifiedAll();
1378
	search("*", TYPE, THROWS_CLAUSE_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope());
1378
	search("*", TYPE, THROWS_CLAUSE_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope());
1379
	assertSearchResults(
1379
	assertSearchResults(
1380
		"src/all/types/ref/TestTypes.java type.def.Types all.types.ref.TestTypes.method(type.def.Types) [	type.def.Types method(type.def.Types param) throws §|type.def.Types|§ {@555] EXACT_MATCH\n" +
1380
		"src/all/types/ref/TestTypes.java type.def.Types all.types.ref.TestTypes.method(type.def.Types) [	type.def.Types method(type.def.Types param) throws !|type.def.Types|! {@555] EXACT_MATCH\n" +
1381
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes() [	TestTypes() throws §|type.def.Types|§, RuntimeException {@893] EXACT_MATCH\n" +
1381
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes() [	TestTypes() throws !|type.def.Types|!, RuntimeException {@893] EXACT_MATCH\n" +
1382
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes() [	TestTypes() throws type.def.Types, §|RuntimeException|§ {@909] EXACT_MATCH"
1382
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes() [	TestTypes() throws type.def.Types, !|RuntimeException|! {@909] EXACT_MATCH"
1383
	);
1383
	);
1384
}
1384
}
1385
public void testTypeRefQualifiedAll_Variable() throws CoreException {
1385
public void testTypeRefQualifiedAll_Variable() throws CoreException {
1386
	setUpTypeRefQualifiedAll();
1386
	setUpTypeRefQualifiedAll();
1387
	search("*", TYPE, LOCAL_VARIABLE_DECLARATION_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope());
1387
	search("*", TYPE, LOCAL_VARIABLE_DECLARATION_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope());
1388
	assertSearchResults(
1388
	assertSearchResults(
1389
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.{} [		§|Object|§ o;@218] EXACT_MATCH\n" +
1389
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.{} [		!|Object|! o;@218] EXACT_MATCH\n" +
1390
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.{} [		§|type.def.Types|§ t;@230] EXACT_MATCH\n" +
1390
		"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.{} [		!|type.def.Types|! t;@230] EXACT_MATCH\n" +
1391
		"src/all/types/ref/TestTypes.java type.def.Types all.types.ref.TestTypes.method(type.def.Types) [		§|Object|§ obj = new type.def.Types();@574] EXACT_MATCH\n" +
1391
		"src/all/types/ref/TestTypes.java type.def.Types all.types.ref.TestTypes.method(type.def.Types) [		!|Object|! obj = new type.def.Types();@574] EXACT_MATCH\n" +
1392
		"src/all/types/ref/TestTypes.java type.def.Types all.types.ref.TestTypes.method(type.def.Types) [		§|type.def.Types|§ local = (type.def.Types) obj;@611] EXACT_MATCH"
1392
		"src/all/types/ref/TestTypes.java type.def.Types all.types.ref.TestTypes.method(type.def.Types) [		!|type.def.Types|! local = (type.def.Types) obj;@611] EXACT_MATCH"
1393
	);
1393
	);
1394
}
1394
}
1395
1395
Lines 1401-1414 Link Here
1401
	IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] { type });
1401
	IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] { type });
1402
	search("*", TYPE, TYPE_ARGUMENT_TYPE_REFERENCE, scope);
1402
	search("*", TYPE, TYPE_ARGUMENT_TYPE_REFERENCE, scope);
1403
	assertSearchResults(
1403
	assertSearchResults(
1404
		"src/g1/t/s/ref/R3.java g1.t.s.ref.R3.gen_obj [	public Generic<§|Object|§>.MemberGeneric<Object> gen_obj;@393] EXACT_MATCH\n" +
1404
		"src/g1/t/s/ref/R3.java g1.t.s.ref.R3.gen_obj [	public Generic<!|Object|!>.MemberGeneric<Object> gen_obj;@393] EXACT_MATCH\n" +
1405
		"src/g1/t/s/ref/R3.java g1.t.s.ref.R3.gen_obj [	public Generic<Object>.MemberGeneric<§|Object|§> gen_obj;@415] EXACT_MATCH\n" +
1405
		"src/g1/t/s/ref/R3.java g1.t.s.ref.R3.gen_obj [	public Generic<Object>.MemberGeneric<!|Object|!> gen_obj;@415] EXACT_MATCH\n" +
1406
		"src/g1/t/s/ref/R3.java g1.t.s.ref.R3.gen_exc [	public Generic<§|Exception|§>.MemberGeneric<Exception> gen_exc;@448] EXACT_MATCH\n" +
1406
		"src/g1/t/s/ref/R3.java g1.t.s.ref.R3.gen_exc [	public Generic<!|Exception|!>.MemberGeneric<Exception> gen_exc;@448] EXACT_MATCH\n" +
1407
		"src/g1/t/s/ref/R3.java g1.t.s.ref.R3.gen_exc [	public Generic<Exception>.MemberGeneric<§|Exception|§> gen_exc;@473] EXACT_MATCH\n" +
1407
		"src/g1/t/s/ref/R3.java g1.t.s.ref.R3.gen_exc [	public Generic<Exception>.MemberGeneric<!|Exception|!> gen_exc;@473] EXACT_MATCH\n" +
1408
		"src/g1/t/s/ref/R3.java g1.t.s.ref.R3.qgen_obj [	public g1.t.s.def.Generic<§|Object|§>.MemberGeneric<Object> qgen_obj;@803] EXACT_MATCH\n" +
1408
		"src/g1/t/s/ref/R3.java g1.t.s.ref.R3.qgen_obj [	public g1.t.s.def.Generic<!|Object|!>.MemberGeneric<Object> qgen_obj;@803] EXACT_MATCH\n" +
1409
		"src/g1/t/s/ref/R3.java g1.t.s.ref.R3.qgen_obj [	public g1.t.s.def.Generic<Object>.MemberGeneric<§|Object|§> qgen_obj;@825] EXACT_MATCH\n" +
1409
		"src/g1/t/s/ref/R3.java g1.t.s.ref.R3.qgen_obj [	public g1.t.s.def.Generic<Object>.MemberGeneric<!|Object|!> qgen_obj;@825] EXACT_MATCH\n" +
1410
		"src/g1/t/s/ref/R3.java g1.t.s.ref.R3.qgen_exc [	public g1.t.s.def.Generic<§|Exception|§>.MemberGeneric<Exception> qgen_exc;@870] EXACT_MATCH\n" +
1410
		"src/g1/t/s/ref/R3.java g1.t.s.ref.R3.qgen_exc [	public g1.t.s.def.Generic<!|Exception|!>.MemberGeneric<Exception> qgen_exc;@870] EXACT_MATCH\n" +
1411
		"src/g1/t/s/ref/R3.java g1.t.s.ref.R3.qgen_exc [	public g1.t.s.def.Generic<Exception>.MemberGeneric<§|Exception|§> qgen_exc;@895] EXACT_MATCH"
1411
		"src/g1/t/s/ref/R3.java g1.t.s.ref.R3.qgen_exc [	public g1.t.s.def.Generic<Exception>.MemberGeneric<!|Exception|!> qgen_exc;@895] EXACT_MATCH"
1412
	);
1412
	);
1413
}
1413
}
1414
public void testTypeRefGenericAllG1_WildcardBounds() throws CoreException {
1414
public void testTypeRefGenericAllG1_WildcardBounds() throws CoreException {
Lines 1416-1429 Link Here
1416
	IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] { type });
1416
	IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] { type });
1417
	search("*", TYPE, WILDCARD_BOUND_TYPE_REFERENCE, scope);
1417
	search("*", TYPE, WILDCARD_BOUND_TYPE_REFERENCE, scope);
1418
	assertSearchResults(
1418
	assertSearchResults(
1419
		"src/g1/t/s/ref/R3.java g1.t.s.ref.R3.gen_thr [	public Generic<? extends §|Throwable|§>.MemberGeneric<? super RuntimeException> gen_thr;@564] EXACT_MATCH\n" +
1419
		"src/g1/t/s/ref/R3.java g1.t.s.ref.R3.gen_thr [	public Generic<? extends !|Throwable|!>.MemberGeneric<? super RuntimeException> gen_thr;@564] EXACT_MATCH\n" +
1420
		"src/g1/t/s/ref/R3.java g1.t.s.ref.R3.gen_thr [	public Generic<? extends Throwable>.MemberGeneric<? super §|RuntimeException|§> gen_thr;@597] EXACT_MATCH\n" +
1420
		"src/g1/t/s/ref/R3.java g1.t.s.ref.R3.gen_thr [	public Generic<? extends Throwable>.MemberGeneric<? super !|RuntimeException|!> gen_thr;@597] EXACT_MATCH\n" +
1421
		"src/g1/t/s/ref/R3.java g1.t.s.ref.R3.gen_run [	public Generic<? super §|RuntimeException|§>.MemberGeneric<? extends Throwable> gen_run;@648] EXACT_MATCH\n" +
1421
		"src/g1/t/s/ref/R3.java g1.t.s.ref.R3.gen_run [	public Generic<? super !|RuntimeException|!>.MemberGeneric<? extends Throwable> gen_run;@648] EXACT_MATCH\n" +
1422
		"src/g1/t/s/ref/R3.java g1.t.s.ref.R3.gen_run [	public Generic<? super RuntimeException>.MemberGeneric<? extends §|Throwable|§> gen_run;@690] EXACT_MATCH\n" +
1422
		"src/g1/t/s/ref/R3.java g1.t.s.ref.R3.gen_run [	public Generic<? super RuntimeException>.MemberGeneric<? extends !|Throwable|!> gen_run;@690] EXACT_MATCH\n" +
1423
		"src/g1/t/s/ref/R3.java g1.t.s.ref.R3.qgen_thr [	public g1.t.s.def.Generic<? extends §|Throwable|§>.MemberGeneric<? super RuntimeException> qgen_thr;@1010] EXACT_MATCH\n" +
1423
		"src/g1/t/s/ref/R3.java g1.t.s.ref.R3.qgen_thr [	public g1.t.s.def.Generic<? extends !|Throwable|!>.MemberGeneric<? super RuntimeException> qgen_thr;@1010] EXACT_MATCH\n" +
1424
		"src/g1/t/s/ref/R3.java g1.t.s.ref.R3.qgen_thr [	public g1.t.s.def.Generic<? extends Throwable>.MemberGeneric<? super §|RuntimeException|§> qgen_thr;@1043] EXACT_MATCH\n" +
1424
		"src/g1/t/s/ref/R3.java g1.t.s.ref.R3.qgen_thr [	public g1.t.s.def.Generic<? extends Throwable>.MemberGeneric<? super !|RuntimeException|!> qgen_thr;@1043] EXACT_MATCH\n" +
1425
		"src/g1/t/s/ref/R3.java g1.t.s.ref.R3.qgen_run [	public g1.t.s.def.Generic<? super §|RuntimeException|§>.MemberGeneric<? extends Throwable> qgen_run;@1106] EXACT_MATCH\n" +
1425
		"src/g1/t/s/ref/R3.java g1.t.s.ref.R3.qgen_run [	public g1.t.s.def.Generic<? super !|RuntimeException|!>.MemberGeneric<? extends Throwable> qgen_run;@1106] EXACT_MATCH\n" +
1426
		"src/g1/t/s/ref/R3.java g1.t.s.ref.R3.qgen_run [	public g1.t.s.def.Generic<? super RuntimeException>.MemberGeneric<? extends §|Throwable|§> qgen_run;@1148] EXACT_MATCH"
1426
		"src/g1/t/s/ref/R3.java g1.t.s.ref.R3.qgen_run [	public g1.t.s.def.Generic<? super RuntimeException>.MemberGeneric<? extends !|Throwable|!> qgen_run;@1148] EXACT_MATCH"
1427
	);
1427
	);
1428
}
1428
}
1429
public void testTypeRefGenericAllG2_TypeArgument() throws CoreException {
1429
public void testTypeRefGenericAllG2_TypeArgument() throws CoreException {
Lines 1432-1453 Link Here
1432
	IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] { type });
1432
	IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] { type });
1433
	search("*", TYPE, TYPE_ARGUMENT_TYPE_REFERENCE, scope);
1433
	search("*", TYPE, TYPE_ARGUMENT_TYPE_REFERENCE, scope);
1434
	assertSearchResults(
1434
	assertSearchResults(
1435
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<§|Object|§>.MemberGeneric<Object> member = new Generic<Object>().new MemberGeneric<Object>();@177] EXACT_MATCH\n" +
1435
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<!|Object|!>.MemberGeneric<Object> member = new Generic<Object>().new MemberGeneric<Object>();@177] EXACT_MATCH\n" +
1436
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<Object>.MemberGeneric<§|Object|§> member = new Generic<Object>().new MemberGeneric<Object>();@199] EXACT_MATCH\n" +
1436
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<Object>.MemberGeneric<!|Object|!> member = new Generic<Object>().new MemberGeneric<Object>();@199] EXACT_MATCH\n" +
1437
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<Object>.MemberGeneric<Object> member = new Generic<§|Object|§>().new MemberGeneric<Object>();@228] EXACT_MATCH\n" +
1437
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<Object>.MemberGeneric<Object> member = new Generic<!|Object|!>().new MemberGeneric<Object>();@228] EXACT_MATCH\n" +
1438
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<Object>.MemberGeneric<Object> member = new Generic<Object>().new MemberGeneric<§|Object|§>();@256] EXACT_MATCH\n" +
1438
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<Object>.MemberGeneric<Object> member = new Generic<Object>().new MemberGeneric<!|Object|!>();@256] EXACT_MATCH\n" +
1439
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<§|Exception|§>.MemberGeneric<Exception> member = new Generic<Exception>().new MemberGeneric<Exception>();@306] EXACT_MATCH\n" +
1439
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<!|Exception|!>.MemberGeneric<Exception> member = new Generic<Exception>().new MemberGeneric<Exception>();@306] EXACT_MATCH\n" +
1440
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<Exception>.MemberGeneric<§|Exception|§> member = new Generic<Exception>().new MemberGeneric<Exception>();@331] EXACT_MATCH\n" +
1440
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<Exception>.MemberGeneric<!|Exception|!> member = new Generic<Exception>().new MemberGeneric<Exception>();@331] EXACT_MATCH\n" +
1441
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<Exception>.MemberGeneric<Exception> member = new Generic<§|Exception|§>().new MemberGeneric<Exception>();@363] EXACT_MATCH\n" +
1441
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<Exception>.MemberGeneric<Exception> member = new Generic<!|Exception|!>().new MemberGeneric<Exception>();@363] EXACT_MATCH\n" +
1442
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<Exception>.MemberGeneric<Exception> member = new Generic<Exception>().new MemberGeneric<§|Exception|§>();@394] EXACT_MATCH\n" +
1442
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<Exception>.MemberGeneric<Exception> member = new Generic<Exception>().new MemberGeneric<!|Exception|!>();@394] EXACT_MATCH\n" +
1443
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<? extends Throwable>.MemberGeneric<? extends Throwable> member = new Generic<§|Exception|§>().new MemberGeneric<Exception>();@633] EXACT_MATCH\n" +
1443
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<? extends Throwable>.MemberGeneric<? extends Throwable> member = new Generic<!|Exception|!>().new MemberGeneric<Exception>();@633] EXACT_MATCH\n" +
1444
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<? extends Throwable>.MemberGeneric<? extends Throwable> member = new Generic<Exception>().new MemberGeneric<§|Exception|§>();@664] EXACT_MATCH\n" +
1444
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<? extends Throwable>.MemberGeneric<? extends Throwable> member = new Generic<Exception>().new MemberGeneric<!|Exception|!>();@664] EXACT_MATCH\n" +
1445
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<? extends Throwable>.MemberGeneric<? extends Throwable> member = new Generic<§|Exception|§>().new MemberGeneric<? extends Throwable>();@794] EXACT_MATCH\n" +
1445
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<? extends Throwable>.MemberGeneric<? extends Throwable> member = new Generic<!|Exception|!>().new MemberGeneric<? extends Throwable>();@794] EXACT_MATCH\n" +
1446
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<? extends Throwable>.MemberGeneric<? extends Throwable> member = new Generic<? extends Throwable>().new MemberGeneric<§|Exception|§>();@1006] EXACT_MATCH\n" +
1446
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<? extends Throwable>.MemberGeneric<? extends Throwable> member = new Generic<? extends Throwable>().new MemberGeneric<!|Exception|!>();@1006] EXACT_MATCH\n" +
1447
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<? super RuntimeException>.MemberGeneric<? super RuntimeException> member = new Generic<§|Exception|§>().new MemberGeneric<Exception>();@1327] EXACT_MATCH\n" +
1447
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<? super RuntimeException>.MemberGeneric<? super RuntimeException> member = new Generic<!|Exception|!>().new MemberGeneric<Exception>();@1327] EXACT_MATCH\n" +
1448
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<? super RuntimeException>.MemberGeneric<? super RuntimeException> member = new Generic<Exception>().new MemberGeneric<§|Exception|§>();@1358] EXACT_MATCH\n" +
1448
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<? super RuntimeException>.MemberGeneric<? super RuntimeException> member = new Generic<Exception>().new MemberGeneric<!|Exception|!>();@1358] EXACT_MATCH\n" +
1449
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<? super RuntimeException>.MemberGeneric<? super RuntimeException> member = new Generic<§|Exception|§>().new MemberGeneric<? super RuntimeException>();@1498] EXACT_MATCH\n" +
1449
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<? super RuntimeException>.MemberGeneric<? super RuntimeException> member = new Generic<!|Exception|!>().new MemberGeneric<? super RuntimeException>();@1498] EXACT_MATCH\n" +
1450
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<? super RuntimeException>.MemberGeneric<? super RuntimeException> member = new Generic<? super RuntimeException>().new MemberGeneric<§|Exception|§>();@1730] EXACT_MATCH"
1450
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<? super RuntimeException>.MemberGeneric<? super RuntimeException> member = new Generic<? super RuntimeException>().new MemberGeneric<!|Exception|!>();@1730] EXACT_MATCH"
1451
	);
1451
	);
1452
}
1452
}
1453
public void testTypeRefGenericAllG2_WildcardBounds() throws CoreException {
1453
public void testTypeRefGenericAllG2_WildcardBounds() throws CoreException {
Lines 1456-1485 Link Here
1456
	IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] { type });
1456
	IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] { type });
1457
	search("*", TYPE, WILDCARD_BOUND_TYPE_REFERENCE, scope);
1457
	search("*", TYPE, WILDCARD_BOUND_TYPE_REFERENCE, scope);
1458
	assertSearchResults(
1458
	assertSearchResults(
1459
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<? extends §|Throwable|§>.MemberGeneric<? extends Throwable> member = new Generic<Exception>().new MemberGeneric<Exception>();@566] EXACT_MATCH\n" +
1459
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<? extends !|Throwable|!>.MemberGeneric<? extends Throwable> member = new Generic<Exception>().new MemberGeneric<Exception>();@566] EXACT_MATCH\n" +
1460
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<? extends Throwable>.MemberGeneric<? extends §|Throwable|§> member = new Generic<Exception>().new MemberGeneric<Exception>();@601] EXACT_MATCH\n" +
1460
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<? extends Throwable>.MemberGeneric<? extends !|Throwable|!> member = new Generic<Exception>().new MemberGeneric<Exception>();@601] EXACT_MATCH\n" +
1461
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<? extends §|Throwable|§>.MemberGeneric<? extends Throwable> member = new Generic<Exception>().new MemberGeneric<? extends Throwable>();@727] EXACT_MATCH\n" +
1461
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<? extends !|Throwable|!>.MemberGeneric<? extends Throwable> member = new Generic<Exception>().new MemberGeneric<? extends Throwable>();@727] EXACT_MATCH\n" +
1462
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<? extends Throwable>.MemberGeneric<? extends §|Throwable|§> member = new Generic<Exception>().new MemberGeneric<? extends Throwable>();@762] EXACT_MATCH\n" +
1462
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<? extends Throwable>.MemberGeneric<? extends !|Throwable|!> member = new Generic<Exception>().new MemberGeneric<? extends Throwable>();@762] EXACT_MATCH\n" +
1463
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<? extends Throwable>.MemberGeneric<? extends Throwable> member = new Generic<Exception>().new MemberGeneric<? extends §|Throwable|§>();@835] EXACT_MATCH\n" +
1463
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<? extends Throwable>.MemberGeneric<? extends Throwable> member = new Generic<Exception>().new MemberGeneric<? extends !|Throwable|!>();@835] EXACT_MATCH\n" +
1464
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<? extends §|Throwable|§>.MemberGeneric<? extends Throwable> member = new Generic<? extends Throwable>().new MemberGeneric<Exception>();@898] EXACT_MATCH\n" +
1464
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<? extends !|Throwable|!>.MemberGeneric<? extends Throwable> member = new Generic<? extends Throwable>().new MemberGeneric<Exception>();@898] EXACT_MATCH\n" +
1465
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<? extends Throwable>.MemberGeneric<? extends §|Throwable|§> member = new Generic<? extends Throwable>().new MemberGeneric<Exception>();@933] EXACT_MATCH\n" +
1465
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<? extends Throwable>.MemberGeneric<? extends !|Throwable|!> member = new Generic<? extends Throwable>().new MemberGeneric<Exception>();@933] EXACT_MATCH\n" +
1466
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<? extends Throwable>.MemberGeneric<? extends Throwable> member = new Generic<? extends §|Throwable|§>().new MemberGeneric<Exception>();@975] EXACT_MATCH\n" +
1466
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<? extends Throwable>.MemberGeneric<? extends Throwable> member = new Generic<? extends !|Throwable|!>().new MemberGeneric<Exception>();@975] EXACT_MATCH\n" +
1467
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<? extends §|Throwable|§>.MemberGeneric<? extends Throwable> member = new Generic<? extends Throwable>().new MemberGeneric<? extends Throwable>();@1069] EXACT_MATCH\n" +
1467
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<? extends !|Throwable|!>.MemberGeneric<? extends Throwable> member = new Generic<? extends Throwable>().new MemberGeneric<? extends Throwable>();@1069] EXACT_MATCH\n" +
1468
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<? extends Throwable>.MemberGeneric<? extends §|Throwable|§> member = new Generic<? extends Throwable>().new MemberGeneric<? extends Throwable>();@1104] EXACT_MATCH\n" +
1468
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<? extends Throwable>.MemberGeneric<? extends !|Throwable|!> member = new Generic<? extends Throwable>().new MemberGeneric<? extends Throwable>();@1104] EXACT_MATCH\n" +
1469
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<? extends Throwable>.MemberGeneric<? extends Throwable> member = new Generic<? extends §|Throwable|§>().new MemberGeneric<? extends Throwable>();@1146] EXACT_MATCH\n" +
1469
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<? extends Throwable>.MemberGeneric<? extends Throwable> member = new Generic<? extends !|Throwable|!>().new MemberGeneric<? extends Throwable>();@1146] EXACT_MATCH\n" +
1470
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<? extends Throwable>.MemberGeneric<? extends Throwable> member = new Generic<? extends Throwable>().new MemberGeneric<? extends §|Throwable|§>();@1187] EXACT_MATCH\n" +
1470
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<? extends Throwable>.MemberGeneric<? extends Throwable> member = new Generic<? extends Throwable>().new MemberGeneric<? extends !|Throwable|!>();@1187] EXACT_MATCH\n" +
1471
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<? super §|RuntimeException|§>.MemberGeneric<? super RuntimeException> member = new Generic<Exception>().new MemberGeneric<Exception>();@1248] EXACT_MATCH\n" +
1471
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<? super !|RuntimeException|!>.MemberGeneric<? super RuntimeException> member = new Generic<Exception>().new MemberGeneric<Exception>();@1248] EXACT_MATCH\n" +
1472
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<? super RuntimeException>.MemberGeneric<? super §|RuntimeException|§> member = new Generic<Exception>().new MemberGeneric<Exception>();@1288] EXACT_MATCH\n" +
1472
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<? super RuntimeException>.MemberGeneric<? super !|RuntimeException|!> member = new Generic<Exception>().new MemberGeneric<Exception>();@1288] EXACT_MATCH\n" +
1473
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<? super §|RuntimeException|§>.MemberGeneric<? super RuntimeException> member = new Generic<Exception>().new MemberGeneric<? super RuntimeException>();@1419] EXACT_MATCH\n" +
1473
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<? super !|RuntimeException|!>.MemberGeneric<? super RuntimeException> member = new Generic<Exception>().new MemberGeneric<? super RuntimeException>();@1419] EXACT_MATCH\n" +
1474
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<? super RuntimeException>.MemberGeneric<? super §|RuntimeException|§> member = new Generic<Exception>().new MemberGeneric<? super RuntimeException>();@1459] EXACT_MATCH\n" +
1474
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<? super RuntimeException>.MemberGeneric<? super !|RuntimeException|!> member = new Generic<Exception>().new MemberGeneric<? super RuntimeException>();@1459] EXACT_MATCH\n" +
1475
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<? super RuntimeException>.MemberGeneric<? super RuntimeException> member = new Generic<Exception>().new MemberGeneric<? super §|RuntimeException|§>();@1537] EXACT_MATCH\n" +
1475
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<? super RuntimeException>.MemberGeneric<? super RuntimeException> member = new Generic<Exception>().new MemberGeneric<? super !|RuntimeException|!>();@1537] EXACT_MATCH\n" +
1476
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<? super §|RuntimeException|§>.MemberGeneric<? super RuntimeException> member = new Generic<? super RuntimeException>().new MemberGeneric<Exception>();@1605] EXACT_MATCH\n" +
1476
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<? super !|RuntimeException|!>.MemberGeneric<? super RuntimeException> member = new Generic<? super RuntimeException>().new MemberGeneric<Exception>();@1605] EXACT_MATCH\n" +
1477
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<? super RuntimeException>.MemberGeneric<? super §|RuntimeException|§> member = new Generic<? super RuntimeException>().new MemberGeneric<Exception>();@1645] EXACT_MATCH\n" +
1477
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<? super RuntimeException>.MemberGeneric<? super !|RuntimeException|!> member = new Generic<? super RuntimeException>().new MemberGeneric<Exception>();@1645] EXACT_MATCH\n" +
1478
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<? super RuntimeException>.MemberGeneric<? super RuntimeException> member = new Generic<? super §|RuntimeException|§>().new MemberGeneric<Exception>();@1692] EXACT_MATCH\n" +
1478
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<? super RuntimeException>.MemberGeneric<? super RuntimeException> member = new Generic<? super !|RuntimeException|!>().new MemberGeneric<Exception>();@1692] EXACT_MATCH\n" +
1479
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<? super §|RuntimeException|§>.MemberGeneric<? super RuntimeException> member = new Generic<? super RuntimeException>().new MemberGeneric<? super RuntimeException>();@1791] EXACT_MATCH\n" +
1479
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<? super !|RuntimeException|!>.MemberGeneric<? super RuntimeException> member = new Generic<? super RuntimeException>().new MemberGeneric<? super RuntimeException>();@1791] EXACT_MATCH\n" +
1480
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<? super RuntimeException>.MemberGeneric<? super §|RuntimeException|§> member = new Generic<? super RuntimeException>().new MemberGeneric<? super RuntimeException>();@1831] EXACT_MATCH\n" +
1480
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<? super RuntimeException>.MemberGeneric<? super !|RuntimeException|!> member = new Generic<? super RuntimeException>().new MemberGeneric<? super RuntimeException>();@1831] EXACT_MATCH\n" +
1481
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<? super RuntimeException>.MemberGeneric<? super RuntimeException> member = new Generic<? super §|RuntimeException|§>().new MemberGeneric<? super RuntimeException>();@1878] EXACT_MATCH\n" +
1481
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<? super RuntimeException>.MemberGeneric<? super RuntimeException> member = new Generic<? super !|RuntimeException|!>().new MemberGeneric<? super RuntimeException>();@1878] EXACT_MATCH\n" +
1482
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<? super RuntimeException>.MemberGeneric<? super RuntimeException> member = new Generic<? super RuntimeException>().new MemberGeneric<? super §|RuntimeException|§>();@1924] EXACT_MATCH"
1482
		"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [		Generic<? super RuntimeException>.MemberGeneric<? super RuntimeException> member = new Generic<? super RuntimeException>().new MemberGeneric<? super !|RuntimeException|!>();@1924] EXACT_MATCH"
1483
	);
1483
	);
1484
}
1484
}
1485
public void testTypeRefGenericAllG3R3_TypeArgument() throws CoreException {
1485
public void testTypeRefGenericAllG3R3_TypeArgument() throws CoreException {
Lines 1487-1544 Link Here
1487
	IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] { type });
1487
	IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] { type });
1488
	search("*", TYPE, TYPE_ARGUMENT_TYPE_REFERENCE, SearchPattern.R_ERASURE_MATCH, scope);
1488
	search("*", TYPE, TYPE_ARGUMENT_TYPE_REFERENCE, SearchPattern.R_ERASURE_MATCH, scope);
1489
	assertSearchResults(
1489
	assertSearchResults(
1490
		"src/g3/t/ref/R3.java g3.t.ref.R3.sgsm_wld [	public GS<§|GM<?, ?, ?>.Generic|§<?, ?, ?>>.Generic<?> sgsm_wld;@321] EXACT_MATCH\n" +
1490
		"src/g3/t/ref/R3.java g3.t.ref.R3.sgsm_wld [	public GS<!|GM<?, ?, ?>.Generic|!<?, ?, ?>>.Generic<?> sgsm_wld;@321] EXACT_MATCH\n" +
1491
		"src/g3/t/ref/R3.java g3.t.ref.R3.sgsm_www [	public GS<§|GM<GM<?, ?, ?>.Generic<?,?,?>,GM<?, ?, ?>.Generic<?,?,?>,GM<?, ?, ?>.Generic<?,?,?>>.Generic|§<?,?,?>>.Generic<?> sgsm_www;@383] EXACT_MATCH\n" +
1491
		"src/g3/t/ref/R3.java g3.t.ref.R3.sgsm_www [	public GS<!|GM<GM<?, ?, ?>.Generic<?,?,?>,GM<?, ?, ?>.Generic<?,?,?>,GM<?, ?, ?>.Generic<?,?,?>>.Generic|!<?,?,?>>.Generic<?> sgsm_www;@383] EXACT_MATCH\n" +
1492
		"src/g3/t/ref/R3.java g3.t.ref.R3.sgsm_www [	public GS<GM<§|GM<?, ?, ?>.Generic|§<?,?,?>,GM<?, ?, ?>.Generic<?,?,?>,GM<?, ?, ?>.Generic<?,?,?>>.Generic<?,?,?>>.Generic<?> sgsm_www;@386] EXACT_MATCH\n" +
1492
		"src/g3/t/ref/R3.java g3.t.ref.R3.sgsm_www [	public GS<GM<!|GM<?, ?, ?>.Generic|!<?,?,?>,GM<?, ?, ?>.Generic<?,?,?>,GM<?, ?, ?>.Generic<?,?,?>>.Generic<?,?,?>>.Generic<?> sgsm_www;@386] EXACT_MATCH\n" +
1493
		"src/g3/t/ref/R3.java g3.t.ref.R3.sgsm_www [	public GS<GM<GM<?, ?, ?>.Generic<?,?,?>,§|GM<?, ?, ?>.Generic|§<?,?,?>,GM<?, ?, ?>.Generic<?,?,?>>.Generic<?,?,?>>.Generic<?> sgsm_www;@413] EXACT_MATCH\n" +
1493
		"src/g3/t/ref/R3.java g3.t.ref.R3.sgsm_www [	public GS<GM<GM<?, ?, ?>.Generic<?,?,?>,!|GM<?, ?, ?>.Generic|!<?,?,?>,GM<?, ?, ?>.Generic<?,?,?>>.Generic<?,?,?>>.Generic<?> sgsm_www;@413] EXACT_MATCH\n" +
1494
		"src/g3/t/ref/R3.java g3.t.ref.R3.sgsm_www [	public GS<GM<GM<?, ?, ?>.Generic<?,?,?>,GM<?, ?, ?>.Generic<?,?,?>,§|GM<?, ?, ?>.Generic|§<?,?,?>>.Generic<?,?,?>>.Generic<?> sgsm_www;@440] EXACT_MATCH\n" +
1494
		"src/g3/t/ref/R3.java g3.t.ref.R3.sgsm_www [	public GS<GM<GM<?, ?, ?>.Generic<?,?,?>,GM<?, ?, ?>.Generic<?,?,?>,!|GM<?, ?, ?>.Generic|!<?,?,?>>.Generic<?,?,?>>.Generic<?> sgsm_www;@440] EXACT_MATCH\n" +
1495
		"src/g3/t/ref/R3.java g3.t.ref.R3.sgsm_obj [	public GS<§|GM<Object, Exception, RuntimeException>.Generic|§<Object, Exception, RuntimeException>>.Generic<Exception> sgsm_obj;@516] EXACT_MATCH\n" +
1495
		"src/g3/t/ref/R3.java g3.t.ref.R3.sgsm_obj [	public GS<!|GM<Object, Exception, RuntimeException>.Generic|!<Object, Exception, RuntimeException>>.Generic<Exception> sgsm_obj;@516] EXACT_MATCH\n" +
1496
		"src/g3/t/ref/R3.java g3.t.ref.R3.sgsm_obj [	public GS<GM<§|Object|§, Exception, RuntimeException>.Generic<Object, Exception, RuntimeException>>.Generic<Exception> sgsm_obj;@519] EXACT_MATCH\n" +
1496
		"src/g3/t/ref/R3.java g3.t.ref.R3.sgsm_obj [	public GS<GM<!|Object|!, Exception, RuntimeException>.Generic<Object, Exception, RuntimeException>>.Generic<Exception> sgsm_obj;@519] EXACT_MATCH\n" +
1497
		"src/g3/t/ref/R3.java g3.t.ref.R3.sgsm_obj [	public GS<GM<Object, §|Exception|§, RuntimeException>.Generic<Object, Exception, RuntimeException>>.Generic<Exception> sgsm_obj;@527] EXACT_MATCH\n" +
1497
		"src/g3/t/ref/R3.java g3.t.ref.R3.sgsm_obj [	public GS<GM<Object, !|Exception|!, RuntimeException>.Generic<Object, Exception, RuntimeException>>.Generic<Exception> sgsm_obj;@527] EXACT_MATCH\n" +
1498
		"src/g3/t/ref/R3.java g3.t.ref.R3.sgsm_obj [	public GS<GM<Object, Exception, §|RuntimeException|§>.Generic<Object, Exception, RuntimeException>>.Generic<Exception> sgsm_obj;@538] EXACT_MATCH\n" +
1498
		"src/g3/t/ref/R3.java g3.t.ref.R3.sgsm_obj [	public GS<GM<Object, Exception, !|RuntimeException|!>.Generic<Object, Exception, RuntimeException>>.Generic<Exception> sgsm_obj;@538] EXACT_MATCH\n" +
1499
		"src/g3/t/ref/R3.java g3.t.ref.R3.sgsm_obj [	public GS<GM<Object, Exception, RuntimeException>.Generic<§|Object|§, Exception, RuntimeException>>.Generic<Exception> sgsm_obj;@564] EXACT_MATCH\n" +
1499
		"src/g3/t/ref/R3.java g3.t.ref.R3.sgsm_obj [	public GS<GM<Object, Exception, RuntimeException>.Generic<!|Object|!, Exception, RuntimeException>>.Generic<Exception> sgsm_obj;@564] EXACT_MATCH\n" +
1500
		"src/g3/t/ref/R3.java g3.t.ref.R3.sgsm_obj [	public GS<GM<Object, Exception, RuntimeException>.Generic<Object, §|Exception|§, RuntimeException>>.Generic<Exception> sgsm_obj;@572] EXACT_MATCH\n" +
1500
		"src/g3/t/ref/R3.java g3.t.ref.R3.sgsm_obj [	public GS<GM<Object, Exception, RuntimeException>.Generic<Object, !|Exception|!, RuntimeException>>.Generic<Exception> sgsm_obj;@572] EXACT_MATCH\n" +
1501
		"src/g3/t/ref/R3.java g3.t.ref.R3.sgsm_obj [	public GS<GM<Object, Exception, RuntimeException>.Generic<Object, Exception, §|RuntimeException|§>>.Generic<Exception> sgsm_obj;@583] EXACT_MATCH\n" +
1501
		"src/g3/t/ref/R3.java g3.t.ref.R3.sgsm_obj [	public GS<GM<Object, Exception, RuntimeException>.Generic<Object, Exception, !|RuntimeException|!>>.Generic<Exception> sgsm_obj;@583] EXACT_MATCH\n" +
1502
		"src/g3/t/ref/R3.java g3.t.ref.R3.sgsm_obj [	public GS<GM<Object, Exception, RuntimeException>.Generic<Object, Exception, RuntimeException>>.Generic<§|Exception|§> sgsm_obj;@610] EXACT_MATCH\n" +
1502
		"src/g3/t/ref/R3.java g3.t.ref.R3.sgsm_obj [	public GS<GM<Object, Exception, RuntimeException>.Generic<Object, Exception, RuntimeException>>.Generic<!|Exception|!> sgsm_obj;@610] EXACT_MATCH\n" +
1503
		"src/g3/t/ref/R3.java g3.t.ref.R3.sgms_wld [	public GM<§|GS<?>.Generic|§<?>, GS<?>.Generic<?>, GS<?>.Generic<?>>.Generic<?,?,?> sgms_wld;@642] EXACT_MATCH\n" +
1503
		"src/g3/t/ref/R3.java g3.t.ref.R3.sgms_wld [	public GM<!|GS<?>.Generic|!<?>, GS<?>.Generic<?>, GS<?>.Generic<?>>.Generic<?,?,?> sgms_wld;@642] EXACT_MATCH\n" +
1504
		"src/g3/t/ref/R3.java g3.t.ref.R3.sgms_wld [	public GM<GS<?>.Generic<?>, §|GS<?>.Generic|§<?>, GS<?>.Generic<?>>.Generic<?,?,?> sgms_wld;@660] EXACT_MATCH\n" +
1504
		"src/g3/t/ref/R3.java g3.t.ref.R3.sgms_wld [	public GM<GS<?>.Generic<?>, !|GS<?>.Generic|!<?>, GS<?>.Generic<?>>.Generic<?,?,?> sgms_wld;@660] EXACT_MATCH\n" +
1505
		"src/g3/t/ref/R3.java g3.t.ref.R3.sgms_wld [	public GM<GS<?>.Generic<?>, GS<?>.Generic<?>, §|GS<?>.Generic|§<?>>.Generic<?,?,?> sgms_wld;@678] EXACT_MATCH\n" +
1505
		"src/g3/t/ref/R3.java g3.t.ref.R3.sgms_wld [	public GM<GS<?>.Generic<?>, GS<?>.Generic<?>, !|GS<?>.Generic|!<?>>.Generic<?,?,?> sgms_wld;@678] EXACT_MATCH\n" +
1506
		"src/g3/t/ref/R3.java g3.t.ref.R3.sgms_www [	public GM<§|GS<?>.Generic|§<?>, GS<GS<?>.Generic<?>>.Generic<?>, GS<GS<GS<?>.Generic<?>>.Generic<?>>.Generic<?>>.Generic<?,?,?> sgms_www;@732] EXACT_MATCH\n" +
1506
		"src/g3/t/ref/R3.java g3.t.ref.R3.sgms_www [	public GM<!|GS<?>.Generic|!<?>, GS<GS<?>.Generic<?>>.Generic<?>, GS<GS<GS<?>.Generic<?>>.Generic<?>>.Generic<?>>.Generic<?,?,?> sgms_www;@732] EXACT_MATCH\n" +
1507
		"src/g3/t/ref/R3.java g3.t.ref.R3.sgms_www [	public GM<GS<?>.Generic<?>, §|GS<GS<?>.Generic<?>>.Generic|§<?>, GS<GS<GS<?>.Generic<?>>.Generic<?>>.Generic<?>>.Generic<?,?,?> sgms_www;@750] EXACT_MATCH\n" +
1507
		"src/g3/t/ref/R3.java g3.t.ref.R3.sgms_www [	public GM<GS<?>.Generic<?>, !|GS<GS<?>.Generic<?>>.Generic|!<?>, GS<GS<GS<?>.Generic<?>>.Generic<?>>.Generic<?>>.Generic<?,?,?> sgms_www;@750] EXACT_MATCH\n" +
1508
		"src/g3/t/ref/R3.java g3.t.ref.R3.sgms_www [	public GM<GS<?>.Generic<?>, GS<§|GS<?>.Generic|§<?>>.Generic<?>, GS<GS<GS<?>.Generic<?>>.Generic<?>>.Generic<?>>.Generic<?,?,?> sgms_www;@753] EXACT_MATCH\n" +
1508
		"src/g3/t/ref/R3.java g3.t.ref.R3.sgms_www [	public GM<GS<?>.Generic<?>, GS<!|GS<?>.Generic|!<?>>.Generic<?>, GS<GS<GS<?>.Generic<?>>.Generic<?>>.Generic<?>>.Generic<?,?,?> sgms_www;@753] EXACT_MATCH\n" +
1509
		"src/g3/t/ref/R3.java g3.t.ref.R3.sgms_www [	public GM<GS<?>.Generic<?>, GS<GS<?>.Generic<?>>.Generic<?>, §|GS<GS<GS<?>.Generic<?>>.Generic<?>>.Generic|§<?>>.Generic<?,?,?> sgms_www;@783] EXACT_MATCH\n" +
1509
		"src/g3/t/ref/R3.java g3.t.ref.R3.sgms_www [	public GM<GS<?>.Generic<?>, GS<GS<?>.Generic<?>>.Generic<?>, !|GS<GS<GS<?>.Generic<?>>.Generic<?>>.Generic|!<?>>.Generic<?,?,?> sgms_www;@783] EXACT_MATCH\n" +
1510
		"src/g3/t/ref/R3.java g3.t.ref.R3.sgms_www [	public GM<GS<?>.Generic<?>, GS<GS<?>.Generic<?>>.Generic<?>, GS<§|GS<GS<?>.Generic<?>>.Generic|§<?>>.Generic<?>>.Generic<?,?,?> sgms_www;@786] EXACT_MATCH\n" +
1510
		"src/g3/t/ref/R3.java g3.t.ref.R3.sgms_www [	public GM<GS<?>.Generic<?>, GS<GS<?>.Generic<?>>.Generic<?>, GS<!|GS<GS<?>.Generic<?>>.Generic|!<?>>.Generic<?>>.Generic<?,?,?> sgms_www;@786] EXACT_MATCH\n" +
1511
		"src/g3/t/ref/R3.java g3.t.ref.R3.sgms_www [	public GM<GS<?>.Generic<?>, GS<GS<?>.Generic<?>>.Generic<?>, GS<GS<§|GS<?>.Generic|§<?>>.Generic<?>>.Generic<?>>.Generic<?,?,?> sgms_www;@789] EXACT_MATCH\n" +
1511
		"src/g3/t/ref/R3.java g3.t.ref.R3.sgms_www [	public GM<GS<?>.Generic<?>, GS<GS<?>.Generic<?>>.Generic<?>, GS<GS<!|GS<?>.Generic|!<?>>.Generic<?>>.Generic<?>>.Generic<?,?,?> sgms_www;@789] EXACT_MATCH\n" +
1512
		"src/g3/t/ref/R3.java g3.t.ref.R3.sgms_obj [	public GM<§|GS<Object>.Generic|§<?>, GS<? extends Throwable>.Generic<?>, GS<? super RuntimeException>.Generic<?>>.Generic<?,?,?> sgms_obj;@867] EXACT_MATCH\n" +
1512
		"src/g3/t/ref/R3.java g3.t.ref.R3.sgms_obj [	public GM<!|GS<Object>.Generic|!<?>, GS<? extends Throwable>.Generic<?>, GS<? super RuntimeException>.Generic<?>>.Generic<?,?,?> sgms_obj;@867] EXACT_MATCH\n" +
1513
		"src/g3/t/ref/R3.java g3.t.ref.R3.sgms_obj [	public GM<GS<§|Object|§>.Generic<?>, GS<? extends Throwable>.Generic<?>, GS<? super RuntimeException>.Generic<?>>.Generic<?,?,?> sgms_obj;@870] EXACT_MATCH\n" +
1513
		"src/g3/t/ref/R3.java g3.t.ref.R3.sgms_obj [	public GM<GS<!|Object|!>.Generic<?>, GS<? extends Throwable>.Generic<?>, GS<? super RuntimeException>.Generic<?>>.Generic<?,?,?> sgms_obj;@870] EXACT_MATCH\n" +
1514
		"src/g3/t/ref/R3.java g3.t.ref.R3.sgms_obj [	public GM<GS<Object>.Generic<?>, §|GS<? extends Throwable>.Generic|§<?>, GS<? super RuntimeException>.Generic<?>>.Generic<?,?,?> sgms_obj;@890] EXACT_MATCH\n" +
1514
		"src/g3/t/ref/R3.java g3.t.ref.R3.sgms_obj [	public GM<GS<Object>.Generic<?>, !|GS<? extends Throwable>.Generic|!<?>, GS<? super RuntimeException>.Generic<?>>.Generic<?,?,?> sgms_obj;@890] EXACT_MATCH\n" +
1515
		"src/g3/t/ref/R3.java g3.t.ref.R3.sgms_obj [	public GM<GS<Object>.Generic<?>, GS<? extends Throwable>.Generic<?>, §|GS<? super RuntimeException>.Generic|§<?>>.Generic<?,?,?> sgms_obj;@926] EXACT_MATCH\n" +
1515
		"src/g3/t/ref/R3.java g3.t.ref.R3.sgms_obj [	public GM<GS<Object>.Generic<?>, GS<? extends Throwable>.Generic<?>, !|GS<? super RuntimeException>.Generic|!<?>>.Generic<?,?,?> sgms_obj;@926] EXACT_MATCH\n" +
1516
		"src/g3/t/ref/R3.java g3.t.ref.R3.qgsm_wld [	public g3.t.def.GS<§|g3.t.def.GM<?, ?, ?>.Generic|§<?, ?, ?>>.Generic<?> qgsm_wld;@1031] EXACT_MATCH\n" +
1516
		"src/g3/t/ref/R3.java g3.t.ref.R3.qgsm_wld [	public g3.t.def.GS<!|g3.t.def.GM<?, ?, ?>.Generic|!<?, ?, ?>>.Generic<?> qgsm_wld;@1031] EXACT_MATCH\n" +
1517
		"src/g3/t/ref/R3.java g3.t.ref.R3.qgsm_www [	public g3.t.def.GS<§|g3.t.def.GM<g3.t.def.GM<?, ?, ?>.Generic<?,?,?>,g3.t.def.GM<?, ?, ?>.Generic<?,?,?>,g3.t.def.GM<?, ?, ?>.Generic<?,?,?>>.Generic|§<?,?,?>>.Generic<?> qgsm_www;@1111] EXACT_MATCH\n" +
1517
		"src/g3/t/ref/R3.java g3.t.ref.R3.qgsm_www [	public g3.t.def.GS<!|g3.t.def.GM<g3.t.def.GM<?, ?, ?>.Generic<?,?,?>,g3.t.def.GM<?, ?, ?>.Generic<?,?,?>,g3.t.def.GM<?, ?, ?>.Generic<?,?,?>>.Generic|!<?,?,?>>.Generic<?> qgsm_www;@1111] EXACT_MATCH\n" +
1518
		"src/g3/t/ref/R3.java g3.t.ref.R3.qgsm_www [	public g3.t.def.GS<g3.t.def.GM<§|g3.t.def.GM<?, ?, ?>.Generic|§<?,?,?>,g3.t.def.GM<?, ?, ?>.Generic<?,?,?>,g3.t.def.GM<?, ?, ?>.Generic<?,?,?>>.Generic<?,?,?>>.Generic<?> qgsm_www;@1123] EXACT_MATCH\n" +
1518
		"src/g3/t/ref/R3.java g3.t.ref.R3.qgsm_www [	public g3.t.def.GS<g3.t.def.GM<!|g3.t.def.GM<?, ?, ?>.Generic|!<?,?,?>,g3.t.def.GM<?, ?, ?>.Generic<?,?,?>,g3.t.def.GM<?, ?, ?>.Generic<?,?,?>>.Generic<?,?,?>>.Generic<?> qgsm_www;@1123] EXACT_MATCH\n" +
1519
		"src/g3/t/ref/R3.java g3.t.ref.R3.qgsm_www [	public g3.t.def.GS<g3.t.def.GM<g3.t.def.GM<?, ?, ?>.Generic<?,?,?>,§|g3.t.def.GM<?, ?, ?>.Generic|§<?,?,?>,g3.t.def.GM<?, ?, ?>.Generic<?,?,?>>.Generic<?,?,?>>.Generic<?> qgsm_www;@1159] EXACT_MATCH\n" +
1519
		"src/g3/t/ref/R3.java g3.t.ref.R3.qgsm_www [	public g3.t.def.GS<g3.t.def.GM<g3.t.def.GM<?, ?, ?>.Generic<?,?,?>,!|g3.t.def.GM<?, ?, ?>.Generic|!<?,?,?>,g3.t.def.GM<?, ?, ?>.Generic<?,?,?>>.Generic<?,?,?>>.Generic<?> qgsm_www;@1159] EXACT_MATCH\n" +
1520
		"src/g3/t/ref/R3.java g3.t.ref.R3.qgsm_www [	public g3.t.def.GS<g3.t.def.GM<g3.t.def.GM<?, ?, ?>.Generic<?,?,?>,g3.t.def.GM<?, ?, ?>.Generic<?,?,?>,§|g3.t.def.GM<?, ?, ?>.Generic|§<?,?,?>>.Generic<?,?,?>>.Generic<?> qgsm_www;@1195] EXACT_MATCH\n" +
1520
		"src/g3/t/ref/R3.java g3.t.ref.R3.qgsm_www [	public g3.t.def.GS<g3.t.def.GM<g3.t.def.GM<?, ?, ?>.Generic<?,?,?>,g3.t.def.GM<?, ?, ?>.Generic<?,?,?>,!|g3.t.def.GM<?, ?, ?>.Generic|!<?,?,?>>.Generic<?,?,?>>.Generic<?> qgsm_www;@1195] EXACT_MATCH\n" +
1521
		"src/g3/t/ref/R3.java g3.t.ref.R3.qgsm_obj [	public g3.t.def.GS<§|g3.t.def.GM<Object, Exception, RuntimeException>.Generic|§<Object, Exception, RuntimeException>>.Generic<Exception> qgsm_obj;@1289] EXACT_MATCH\n" +
1521
		"src/g3/t/ref/R3.java g3.t.ref.R3.qgsm_obj [	public g3.t.def.GS<!|g3.t.def.GM<Object, Exception, RuntimeException>.Generic|!<Object, Exception, RuntimeException>>.Generic<Exception> qgsm_obj;@1289] EXACT_MATCH\n" +
1522
		"src/g3/t/ref/R3.java g3.t.ref.R3.qgsm_obj [	public g3.t.def.GS<g3.t.def.GM<§|Object|§, Exception, RuntimeException>.Generic<Object, Exception, RuntimeException>>.Generic<Exception> qgsm_obj;@1301] EXACT_MATCH\n" +
1522
		"src/g3/t/ref/R3.java g3.t.ref.R3.qgsm_obj [	public g3.t.def.GS<g3.t.def.GM<!|Object|!, Exception, RuntimeException>.Generic<Object, Exception, RuntimeException>>.Generic<Exception> qgsm_obj;@1301] EXACT_MATCH\n" +
1523
		"src/g3/t/ref/R3.java g3.t.ref.R3.qgsm_obj [	public g3.t.def.GS<g3.t.def.GM<Object, §|Exception|§, RuntimeException>.Generic<Object, Exception, RuntimeException>>.Generic<Exception> qgsm_obj;@1309] EXACT_MATCH\n" +
1523
		"src/g3/t/ref/R3.java g3.t.ref.R3.qgsm_obj [	public g3.t.def.GS<g3.t.def.GM<Object, !|Exception|!, RuntimeException>.Generic<Object, Exception, RuntimeException>>.Generic<Exception> qgsm_obj;@1309] EXACT_MATCH\n" +
1524
		"src/g3/t/ref/R3.java g3.t.ref.R3.qgsm_obj [	public g3.t.def.GS<g3.t.def.GM<Object, Exception, §|RuntimeException|§>.Generic<Object, Exception, RuntimeException>>.Generic<Exception> qgsm_obj;@1320] EXACT_MATCH\n" +
1524
		"src/g3/t/ref/R3.java g3.t.ref.R3.qgsm_obj [	public g3.t.def.GS<g3.t.def.GM<Object, Exception, !|RuntimeException|!>.Generic<Object, Exception, RuntimeException>>.Generic<Exception> qgsm_obj;@1320] EXACT_MATCH\n" +
1525
		"src/g3/t/ref/R3.java g3.t.ref.R3.qgsm_obj [	public g3.t.def.GS<g3.t.def.GM<Object, Exception, RuntimeException>.Generic<§|Object|§, Exception, RuntimeException>>.Generic<Exception> qgsm_obj;@1346] EXACT_MATCH\n" +
1525
		"src/g3/t/ref/R3.java g3.t.ref.R3.qgsm_obj [	public g3.t.def.GS<g3.t.def.GM<Object, Exception, RuntimeException>.Generic<!|Object|!, Exception, RuntimeException>>.Generic<Exception> qgsm_obj;@1346] EXACT_MATCH\n" +
1526
		"src/g3/t/ref/R3.java g3.t.ref.R3.qgsm_obj [	public g3.t.def.GS<g3.t.def.GM<Object, Exception, RuntimeException>.Generic<Object, §|Exception|§, RuntimeException>>.Generic<Exception> qgsm_obj;@1354] EXACT_MATCH\n" +
1526
		"src/g3/t/ref/R3.java g3.t.ref.R3.qgsm_obj [	public g3.t.def.GS<g3.t.def.GM<Object, Exception, RuntimeException>.Generic<Object, !|Exception|!, RuntimeException>>.Generic<Exception> qgsm_obj;@1354] EXACT_MATCH\n" +
1527
		"src/g3/t/ref/R3.java g3.t.ref.R3.qgsm_obj [	public g3.t.def.GS<g3.t.def.GM<Object, Exception, RuntimeException>.Generic<Object, Exception, §|RuntimeException|§>>.Generic<Exception> qgsm_obj;@1365] EXACT_MATCH\n" +
1527
		"src/g3/t/ref/R3.java g3.t.ref.R3.qgsm_obj [	public g3.t.def.GS<g3.t.def.GM<Object, Exception, RuntimeException>.Generic<Object, Exception, !|RuntimeException|!>>.Generic<Exception> qgsm_obj;@1365] EXACT_MATCH\n" +
1528
		"src/g3/t/ref/R3.java g3.t.ref.R3.qgsm_obj [	public g3.t.def.GS<g3.t.def.GM<Object, Exception, RuntimeException>.Generic<Object, Exception, RuntimeException>>.Generic<§|Exception|§> qgsm_obj;@1392] EXACT_MATCH\n" +
1528
		"src/g3/t/ref/R3.java g3.t.ref.R3.qgsm_obj [	public g3.t.def.GS<g3.t.def.GM<Object, Exception, RuntimeException>.Generic<Object, Exception, RuntimeException>>.Generic<!|Exception|!> qgsm_obj;@1392] EXACT_MATCH\n" +
1529
		"src/g3/t/ref/R3.java g3.t.ref.R3.qgms_wld [	public g3.t.def.GM<§|g3.t.def.GS<?>.Generic|§<?>, g3.t.def.GS<?>.Generic<?>, g3.t.def.GS<?>.Generic<?>>.Generic<?,?,?> qgms_wld;@1433] EXACT_MATCH\n" +
1529
		"src/g3/t/ref/R3.java g3.t.ref.R3.qgms_wld [	public g3.t.def.GM<!|g3.t.def.GS<?>.Generic|!<?>, g3.t.def.GS<?>.Generic<?>, g3.t.def.GS<?>.Generic<?>>.Generic<?,?,?> qgms_wld;@1433] EXACT_MATCH\n" +
1530
		"src/g3/t/ref/R3.java g3.t.ref.R3.qgms_wld [	public g3.t.def.GM<g3.t.def.GS<?>.Generic<?>, §|g3.t.def.GS<?>.Generic|§<?>, g3.t.def.GS<?>.Generic<?>>.Generic<?,?,?> qgms_wld;@1460] EXACT_MATCH\n" +
1530
		"src/g3/t/ref/R3.java g3.t.ref.R3.qgms_wld [	public g3.t.def.GM<g3.t.def.GS<?>.Generic<?>, !|g3.t.def.GS<?>.Generic|!<?>, g3.t.def.GS<?>.Generic<?>>.Generic<?,?,?> qgms_wld;@1460] EXACT_MATCH\n" +
1531
		"src/g3/t/ref/R3.java g3.t.ref.R3.qgms_wld [	public g3.t.def.GM<g3.t.def.GS<?>.Generic<?>, g3.t.def.GS<?>.Generic<?>, §|g3.t.def.GS<?>.Generic|§<?>>.Generic<?,?,?> qgms_wld;@1487] EXACT_MATCH\n" +
1531
		"src/g3/t/ref/R3.java g3.t.ref.R3.qgms_wld [	public g3.t.def.GM<g3.t.def.GS<?>.Generic<?>, g3.t.def.GS<?>.Generic<?>, !|g3.t.def.GS<?>.Generic|!<?>>.Generic<?,?,?> qgms_wld;@1487] EXACT_MATCH\n" +
1532
		"src/g3/t/ref/R3.java g3.t.ref.R3.qgms_www [	public g3.t.def.GM<§|g3.t.def.GS<?>.Generic|§<?>, g3.t.def.GS<g3.t.def.GS<?>.Generic<?>>.Generic<?>, g3.t.def.GS<g3.t.def.GS<g3.t.def.GS<?>.Generic<?>>.Generic<?>>.Generic<?>>.Generic<?,?,?> qgms_www;@1559] EXACT_MATCH\n" +
1532
		"src/g3/t/ref/R3.java g3.t.ref.R3.qgms_www [	public g3.t.def.GM<!|g3.t.def.GS<?>.Generic|!<?>, g3.t.def.GS<g3.t.def.GS<?>.Generic<?>>.Generic<?>, g3.t.def.GS<g3.t.def.GS<g3.t.def.GS<?>.Generic<?>>.Generic<?>>.Generic<?>>.Generic<?,?,?> qgms_www;@1559] EXACT_MATCH\n" +
1533
		"src/g3/t/ref/R3.java g3.t.ref.R3.qgms_www [	public g3.t.def.GM<g3.t.def.GS<?>.Generic<?>, §|g3.t.def.GS<g3.t.def.GS<?>.Generic<?>>.Generic|§<?>, g3.t.def.GS<g3.t.def.GS<g3.t.def.GS<?>.Generic<?>>.Generic<?>>.Generic<?>>.Generic<?,?,?> qgms_www;@1586] EXACT_MATCH\n" +
1533
		"src/g3/t/ref/R3.java g3.t.ref.R3.qgms_www [	public g3.t.def.GM<g3.t.def.GS<?>.Generic<?>, !|g3.t.def.GS<g3.t.def.GS<?>.Generic<?>>.Generic|!<?>, g3.t.def.GS<g3.t.def.GS<g3.t.def.GS<?>.Generic<?>>.Generic<?>>.Generic<?>>.Generic<?,?,?> qgms_www;@1586] EXACT_MATCH\n" +
1534
		"src/g3/t/ref/R3.java g3.t.ref.R3.qgms_www [	public g3.t.def.GM<g3.t.def.GS<?>.Generic<?>, g3.t.def.GS<§|g3.t.def.GS<?>.Generic|§<?>>.Generic<?>, g3.t.def.GS<g3.t.def.GS<g3.t.def.GS<?>.Generic<?>>.Generic<?>>.Generic<?>>.Generic<?,?,?> qgms_www;@1598] EXACT_MATCH\n" +
1534
		"src/g3/t/ref/R3.java g3.t.ref.R3.qgms_www [	public g3.t.def.GM<g3.t.def.GS<?>.Generic<?>, g3.t.def.GS<!|g3.t.def.GS<?>.Generic|!<?>>.Generic<?>, g3.t.def.GS<g3.t.def.GS<g3.t.def.GS<?>.Generic<?>>.Generic<?>>.Generic<?>>.Generic<?,?,?> qgms_www;@1598] EXACT_MATCH\n" +
1535
		"src/g3/t/ref/R3.java g3.t.ref.R3.qgms_www [	public g3.t.def.GM<g3.t.def.GS<?>.Generic<?>, g3.t.def.GS<g3.t.def.GS<?>.Generic<?>>.Generic<?>, §|g3.t.def.GS<g3.t.def.GS<g3.t.def.GS<?>.Generic<?>>.Generic<?>>.Generic|§<?>>.Generic<?,?,?> qgms_www;@1637] EXACT_MATCH\n" +
1535
		"src/g3/t/ref/R3.java g3.t.ref.R3.qgms_www [	public g3.t.def.GM<g3.t.def.GS<?>.Generic<?>, g3.t.def.GS<g3.t.def.GS<?>.Generic<?>>.Generic<?>, !|g3.t.def.GS<g3.t.def.GS<g3.t.def.GS<?>.Generic<?>>.Generic<?>>.Generic|!<?>>.Generic<?,?,?> qgms_www;@1637] EXACT_MATCH\n" +
1536
		"src/g3/t/ref/R3.java g3.t.ref.R3.qgms_www [	public g3.t.def.GM<g3.t.def.GS<?>.Generic<?>, g3.t.def.GS<g3.t.def.GS<?>.Generic<?>>.Generic<?>, g3.t.def.GS<§|g3.t.def.GS<g3.t.def.GS<?>.Generic<?>>.Generic|§<?>>.Generic<?>>.Generic<?,?,?> qgms_www;@1649] EXACT_MATCH\n" +
1536
		"src/g3/t/ref/R3.java g3.t.ref.R3.qgms_www [	public g3.t.def.GM<g3.t.def.GS<?>.Generic<?>, g3.t.def.GS<g3.t.def.GS<?>.Generic<?>>.Generic<?>, g3.t.def.GS<!|g3.t.def.GS<g3.t.def.GS<?>.Generic<?>>.Generic|!<?>>.Generic<?>>.Generic<?,?,?> qgms_www;@1649] EXACT_MATCH\n" +
1537
		"src/g3/t/ref/R3.java g3.t.ref.R3.qgms_www [	public g3.t.def.GM<g3.t.def.GS<?>.Generic<?>, g3.t.def.GS<g3.t.def.GS<?>.Generic<?>>.Generic<?>, g3.t.def.GS<g3.t.def.GS<§|g3.t.def.GS<?>.Generic|§<?>>.Generic<?>>.Generic<?>>.Generic<?,?,?> qgms_www;@1661] EXACT_MATCH\n" +
1537
		"src/g3/t/ref/R3.java g3.t.ref.R3.qgms_www [	public g3.t.def.GM<g3.t.def.GS<?>.Generic<?>, g3.t.def.GS<g3.t.def.GS<?>.Generic<?>>.Generic<?>, g3.t.def.GS<g3.t.def.GS<!|g3.t.def.GS<?>.Generic|!<?>>.Generic<?>>.Generic<?>>.Generic<?,?,?> qgms_www;@1661] EXACT_MATCH\n" +
1538
		"src/g3/t/ref/R3.java g3.t.ref.R3.qgms_obj [	public g3.t.def.GM<§|g3.t.def.GS<Object>.Generic|§<?>, g3.t.def.GS<? extends Throwable>.Generic<?>, g3.t.def.GS<? super RuntimeException>.Generic<?>>.Generic<?,?,?> qgms_obj;@1757] EXACT_MATCH\n" +
1538
		"src/g3/t/ref/R3.java g3.t.ref.R3.qgms_obj [	public g3.t.def.GM<!|g3.t.def.GS<Object>.Generic|!<?>, g3.t.def.GS<? extends Throwable>.Generic<?>, g3.t.def.GS<? super RuntimeException>.Generic<?>>.Generic<?,?,?> qgms_obj;@1757] EXACT_MATCH\n" +
1539
		"src/g3/t/ref/R3.java g3.t.ref.R3.qgms_obj [	public g3.t.def.GM<g3.t.def.GS<§|Object|§>.Generic<?>, g3.t.def.GS<? extends Throwable>.Generic<?>, g3.t.def.GS<? super RuntimeException>.Generic<?>>.Generic<?,?,?> qgms_obj;@1769] EXACT_MATCH\n" +
1539
		"src/g3/t/ref/R3.java g3.t.ref.R3.qgms_obj [	public g3.t.def.GM<g3.t.def.GS<!|Object|!>.Generic<?>, g3.t.def.GS<? extends Throwable>.Generic<?>, g3.t.def.GS<? super RuntimeException>.Generic<?>>.Generic<?,?,?> qgms_obj;@1769] EXACT_MATCH\n" +
1540
		"src/g3/t/ref/R3.java g3.t.ref.R3.qgms_obj [	public g3.t.def.GM<g3.t.def.GS<Object>.Generic<?>, §|g3.t.def.GS<? extends Throwable>.Generic|§<?>, g3.t.def.GS<? super RuntimeException>.Generic<?>>.Generic<?,?,?> qgms_obj;@1789] EXACT_MATCH\n" +
1540
		"src/g3/t/ref/R3.java g3.t.ref.R3.qgms_obj [	public g3.t.def.GM<g3.t.def.GS<Object>.Generic<?>, !|g3.t.def.GS<? extends Throwable>.Generic|!<?>, g3.t.def.GS<? super RuntimeException>.Generic<?>>.Generic<?,?,?> qgms_obj;@1789] EXACT_MATCH\n" +
1541
		"src/g3/t/ref/R3.java g3.t.ref.R3.qgms_obj [	public g3.t.def.GM<g3.t.def.GS<Object>.Generic<?>, g3.t.def.GS<? extends Throwable>.Generic<?>, §|g3.t.def.GS<? super RuntimeException>.Generic|§<?>>.Generic<?,?,?> qgms_obj;@1834] EXACT_MATCH"
1541
		"src/g3/t/ref/R3.java g3.t.ref.R3.qgms_obj [	public g3.t.def.GM<g3.t.def.GS<Object>.Generic<?>, g3.t.def.GS<? extends Throwable>.Generic<?>, !|g3.t.def.GS<? super RuntimeException>.Generic|!<?>>.Generic<?,?,?> qgms_obj;@1834] EXACT_MATCH"
1542
	);
1542
	);
1543
}
1543
}
1544
public void testTypeRefGenericAllG3R3_WildcardBounds() throws CoreException {
1544
public void testTypeRefGenericAllG3R3_WildcardBounds() throws CoreException {
Lines 1546-1555 Link Here
1546
	IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] { type });
1546
	IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] { type });
1547
	search("*", TYPE, WILDCARD_BOUND_TYPE_REFERENCE, SearchPattern.R_ERASURE_MATCH, scope);
1547
	search("*", TYPE, WILDCARD_BOUND_TYPE_REFERENCE, SearchPattern.R_ERASURE_MATCH, scope);
1548
	assertSearchResults(
1548
	assertSearchResults(
1549
		"src/g3/t/ref/R3.java g3.t.ref.R3.sgms_obj [	public GM<GS<Object>.Generic<?>, GS<? extends §|Throwable|§>.Generic<?>, GS<? super RuntimeException>.Generic<?>>.Generic<?,?,?> sgms_obj;@903] EXACT_MATCH\n" +
1549
		"src/g3/t/ref/R3.java g3.t.ref.R3.sgms_obj [	public GM<GS<Object>.Generic<?>, GS<? extends !|Throwable|!>.Generic<?>, GS<? super RuntimeException>.Generic<?>>.Generic<?,?,?> sgms_obj;@903] EXACT_MATCH\n" +
1550
		"src/g3/t/ref/R3.java g3.t.ref.R3.sgms_obj [	public GM<GS<Object>.Generic<?>, GS<? extends Throwable>.Generic<?>, GS<? super §|RuntimeException|§>.Generic<?>>.Generic<?,?,?> sgms_obj;@937] EXACT_MATCH\n" +
1550
		"src/g3/t/ref/R3.java g3.t.ref.R3.sgms_obj [	public GM<GS<Object>.Generic<?>, GS<? extends Throwable>.Generic<?>, GS<? super !|RuntimeException|!>.Generic<?>>.Generic<?,?,?> sgms_obj;@937] EXACT_MATCH\n" +
1551
		"src/g3/t/ref/R3.java g3.t.ref.R3.qgms_obj [	public g3.t.def.GM<g3.t.def.GS<Object>.Generic<?>, g3.t.def.GS<? extends §|Throwable|§>.Generic<?>, g3.t.def.GS<? super RuntimeException>.Generic<?>>.Generic<?,?,?> qgms_obj;@1811] EXACT_MATCH\n" +
1551
		"src/g3/t/ref/R3.java g3.t.ref.R3.qgms_obj [	public g3.t.def.GM<g3.t.def.GS<Object>.Generic<?>, g3.t.def.GS<? extends !|Throwable|!>.Generic<?>, g3.t.def.GS<? super RuntimeException>.Generic<?>>.Generic<?,?,?> qgms_obj;@1811] EXACT_MATCH\n" +
1552
		"src/g3/t/ref/R3.java g3.t.ref.R3.qgms_obj [	public g3.t.def.GM<g3.t.def.GS<Object>.Generic<?>, g3.t.def.GS<? extends Throwable>.Generic<?>, g3.t.def.GS<? super §|RuntimeException|§>.Generic<?>>.Generic<?,?,?> qgms_obj;@1854] EXACT_MATCH"
1552
		"src/g3/t/ref/R3.java g3.t.ref.R3.qgms_obj [	public g3.t.def.GM<g3.t.def.GS<Object>.Generic<?>, g3.t.def.GS<? extends Throwable>.Generic<?>, g3.t.def.GS<? super !|RuntimeException|!>.Generic<?>>.Generic<?,?,?> qgms_obj;@1854] EXACT_MATCH"
1553
	);
1553
	);
1554
}
1554
}
1555
public void testTypeRefGenericAllG3R3_TypeVariableBounds() throws CoreException {
1555
public void testTypeRefGenericAllG3R3_TypeVariableBounds() throws CoreException {
Lines 1563-1612 Link Here
1563
	IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] { type });
1563
	IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] { type });
1564
	search("*", TYPE, TYPE_ARGUMENT_TYPE_REFERENCE, SearchPattern.R_ERASURE_MATCH, scope);
1564
	search("*", TYPE, TYPE_ARGUMENT_TYPE_REFERENCE, SearchPattern.R_ERASURE_MATCH, scope);
1565
	assertSearchResults(
1565
	assertSearchResults(
1566
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.test() [		Multiple<§|Object|§, Exception, RuntimeException> gm = new Multiple<Object, Exception, RuntimeException>();@115] EXACT_MATCH\n" +
1566
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.test() [		Multiple<!|Object|!, Exception, RuntimeException> gm = new Multiple<Object, Exception, RuntimeException>();@115] EXACT_MATCH\n" +
1567
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.test() [		Multiple<Object, §|Exception|§, RuntimeException> gm = new Multiple<Object, Exception, RuntimeException>();@123] EXACT_MATCH\n" +
1567
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.test() [		Multiple<Object, !|Exception|!, RuntimeException> gm = new Multiple<Object, Exception, RuntimeException>();@123] EXACT_MATCH\n" +
1568
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.test() [		Multiple<Object, Exception, §|RuntimeException|§> gm = new Multiple<Object, Exception, RuntimeException>();@134] EXACT_MATCH\n" +
1568
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.test() [		Multiple<Object, Exception, !|RuntimeException|!> gm = new Multiple<Object, Exception, RuntimeException>();@134] EXACT_MATCH\n" +
1569
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.test() [		Multiple<Object, Exception, RuntimeException> gm = new Multiple<§|Object|§, Exception, RuntimeException>();@170] EXACT_MATCH\n" +
1569
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.test() [		Multiple<Object, Exception, RuntimeException> gm = new Multiple<!|Object|!, Exception, RuntimeException>();@170] EXACT_MATCH\n" +
1570
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.test() [		Multiple<Object, Exception, RuntimeException> gm = new Multiple<Object, §|Exception|§, RuntimeException>();@178] EXACT_MATCH\n" +
1570
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.test() [		Multiple<Object, Exception, RuntimeException> gm = new Multiple<Object, !|Exception|!, RuntimeException>();@178] EXACT_MATCH\n" +
1571
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.test() [		Multiple<Object, Exception, RuntimeException> gm = new Multiple<Object, Exception, §|RuntimeException|§>();@189] EXACT_MATCH\n" +
1571
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.test() [		Multiple<Object, Exception, RuntimeException> gm = new Multiple<Object, Exception, !|RuntimeException|!>();@189] EXACT_MATCH\n" +
1572
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.test() [		gm.<§|Object|§, Exception, RuntimeException>generic(new Object(), new Exception(), new RuntimeException());@367] EXACT_MATCH\n" +
1572
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.test() [		gm.<!|Object|!, Exception, RuntimeException>generic(new Object(), new Exception(), new RuntimeException());@367] EXACT_MATCH\n" +
1573
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.test() [		gm.<Object, §|Exception|§, RuntimeException>generic(new Object(), new Exception(), new RuntimeException());@375] EXACT_MATCH\n" +
1573
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.test() [		gm.<Object, !|Exception|!, RuntimeException>generic(new Object(), new Exception(), new RuntimeException());@375] EXACT_MATCH\n" +
1574
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.test() [		gm.<Object, Exception, §|RuntimeException|§>generic(new Object(), new Exception(), new RuntimeException());@386] EXACT_MATCH\n" +
1574
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.test() [		gm.<Object, Exception, !|RuntimeException|!>generic(new Object(), new Exception(), new RuntimeException());@386] EXACT_MATCH\n" +
1575
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.test() [		gm.paramTypesArgs(new Single<§|Object|§>(), new Single<Exception>(), new Single<RuntimeException>(), gm);@656] EXACT_MATCH\n" +
1575
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.test() [		gm.paramTypesArgs(new Single<!|Object|!>(), new Single<Exception>(), new Single<RuntimeException>(), gm);@656] EXACT_MATCH\n" +
1576
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.test() [		gm.paramTypesArgs(new Single<Object>(), new Single<§|Exception|§>(), new Single<RuntimeException>(), gm);@678] EXACT_MATCH\n" +
1576
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.test() [		gm.paramTypesArgs(new Single<Object>(), new Single<!|Exception|!>(), new Single<RuntimeException>(), gm);@678] EXACT_MATCH\n" +
1577
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.test() [		gm.paramTypesArgs(new Single<Object>(), new Single<Exception>(), new Single<§|RuntimeException|§>(), gm);@703] EXACT_MATCH\n" +
1577
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.test() [		gm.paramTypesArgs(new Single<Object>(), new Single<Exception>(), new Single<!|RuntimeException|!>(), gm);@703] EXACT_MATCH\n" +
1578
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.test() [		gm = gm.<§|Object|§, Exception, RuntimeException>complete(new Object(), new Exception(), new RuntimeException(), gm);@838] EXACT_MATCH\n" +
1578
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.test() [		gm = gm.<!|Object|!, Exception, RuntimeException>complete(new Object(), new Exception(), new RuntimeException(), gm);@838] EXACT_MATCH\n" +
1579
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.test() [		gm = gm.<Object, §|Exception|§, RuntimeException>complete(new Object(), new Exception(), new RuntimeException(), gm);@846] EXACT_MATCH\n" +
1579
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.test() [		gm = gm.<Object, !|Exception|!, RuntimeException>complete(new Object(), new Exception(), new RuntimeException(), gm);@846] EXACT_MATCH\n" +
1580
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.test() [		gm = gm.<Object, Exception, §|RuntimeException|§>complete(new Object(), new Exception(), new RuntimeException(), gm);@857] EXACT_MATCH\n" +
1580
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.test() [		gm = gm.<Object, Exception, !|RuntimeException|!>complete(new Object(), new Exception(), new RuntimeException(), gm);@857] EXACT_MATCH\n" +
1581
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testUnbound() [		gm.paramTypesArgs(new Single<§|Object|§>(), new Single<Object>(), new Single<Object>(), gm);@1095] EXACT_MATCH\n" +
1581
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testUnbound() [		gm.paramTypesArgs(new Single<!|Object|!>(), new Single<Object>(), new Single<Object>(), gm);@1095] EXACT_MATCH\n" +
1582
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testUnbound() [		gm.paramTypesArgs(new Single<Object>(), new Single<§|Object|§>(), new Single<Object>(), gm);@1117] EXACT_MATCH\n" +
1582
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testUnbound() [		gm.paramTypesArgs(new Single<Object>(), new Single<!|Object|!>(), new Single<Object>(), gm);@1117] EXACT_MATCH\n" +
1583
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testUnbound() [		gm.paramTypesArgs(new Single<Object>(), new Single<Object>(), new Single<§|Object|§>(), gm);@1139] EXACT_MATCH\n" +
1583
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testUnbound() [		gm.paramTypesArgs(new Single<Object>(), new Single<Object>(), new Single<!|Object|!>(), gm);@1139] EXACT_MATCH\n" +
1584
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testExtends() [		Multiple<§|Object|§, ? extends Throwable, ? extends Exception> gm = new Multiple<Object, Exception, RuntimeException>();@1295] EXACT_MATCH\n" +
1584
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testExtends() [		Multiple<!|Object|!, ? extends Throwable, ? extends Exception> gm = new Multiple<Object, Exception, RuntimeException>();@1295] EXACT_MATCH\n" +
1585
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testExtends() [		Multiple<Object, ? extends Throwable, ? extends Exception> gm = new Multiple<§|Object|§, Exception, RuntimeException>();@1363] EXACT_MATCH\n" +
1585
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testExtends() [		Multiple<Object, ? extends Throwable, ? extends Exception> gm = new Multiple<!|Object|!, Exception, RuntimeException>();@1363] EXACT_MATCH\n" +
1586
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testExtends() [		Multiple<Object, ? extends Throwable, ? extends Exception> gm = new Multiple<Object, §|Exception|§, RuntimeException>();@1371] EXACT_MATCH\n" +
1586
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testExtends() [		Multiple<Object, ? extends Throwable, ? extends Exception> gm = new Multiple<Object, !|Exception|!, RuntimeException>();@1371] EXACT_MATCH\n" +
1587
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testExtends() [		Multiple<Object, ? extends Throwable, ? extends Exception> gm = new Multiple<Object, Exception, §|RuntimeException|§>();@1382] EXACT_MATCH\n" +
1587
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testExtends() [		Multiple<Object, ? extends Throwable, ? extends Exception> gm = new Multiple<Object, Exception, !|RuntimeException|!>();@1382] EXACT_MATCH\n" +
1588
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testExtends() [		gm.<§|Object|§, RuntimeException, RuntimeException>generic(new Object(), new RuntimeException(), new RuntimeException());@1409] EXACT_MATCH\n" +
1588
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testExtends() [		gm.<!|Object|!, RuntimeException, RuntimeException>generic(new Object(), new RuntimeException(), new RuntimeException());@1409] EXACT_MATCH\n" +
1589
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testExtends() [		gm.<Object, §|RuntimeException|§, RuntimeException>generic(new Object(), new RuntimeException(), new RuntimeException());@1417] EXACT_MATCH\n" +
1589
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testExtends() [		gm.<Object, !|RuntimeException|!, RuntimeException>generic(new Object(), new RuntimeException(), new RuntimeException());@1417] EXACT_MATCH\n" +
1590
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testExtends() [		gm.<Object, RuntimeException, §|RuntimeException|§>generic(new Object(), new RuntimeException(), new RuntimeException());@1435] EXACT_MATCH\n" +
1590
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testExtends() [		gm.<Object, RuntimeException, !|RuntimeException|!>generic(new Object(), new RuntimeException(), new RuntimeException());@1435] EXACT_MATCH\n" +
1591
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testExtends() [		gm.paramTypesArgs(new Single<§|Object|§>(), new Single<Throwable>(), new Single<Exception>(), gm);@1554] EXACT_MATCH\n" +
1591
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testExtends() [		gm.paramTypesArgs(new Single<!|Object|!>(), new Single<Throwable>(), new Single<Exception>(), gm);@1554] EXACT_MATCH\n" +
1592
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testExtends() [		gm.paramTypesArgs(new Single<Object>(), new Single<§|Throwable|§>(), new Single<Exception>(), gm);@1576] EXACT_MATCH\n" +
1592
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testExtends() [		gm.paramTypesArgs(new Single<Object>(), new Single<!|Throwable|!>(), new Single<Exception>(), gm);@1576] EXACT_MATCH\n" +
1593
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testExtends() [		gm.paramTypesArgs(new Single<Object>(), new Single<Throwable>(), new Single<§|Exception|§>(), gm);@1601] EXACT_MATCH\n" +
1593
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testExtends() [		gm.paramTypesArgs(new Single<Object>(), new Single<Throwable>(), new Single<!|Exception|!>(), gm);@1601] EXACT_MATCH\n" +
1594
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testExtends() [		gm = gm.<§|Object|§, RuntimeException, RuntimeException>complete(new Object(), new RuntimeException(), new RuntimeException(), gm);@1660] EXACT_MATCH\n" +
1594
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testExtends() [		gm = gm.<!|Object|!, RuntimeException, RuntimeException>complete(new Object(), new RuntimeException(), new RuntimeException(), gm);@1660] EXACT_MATCH\n" +
1595
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testExtends() [		gm = gm.<Object, §|RuntimeException|§, RuntimeException>complete(new Object(), new RuntimeException(), new RuntimeException(), gm);@1668] EXACT_MATCH\n" +
1595
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testExtends() [		gm = gm.<Object, !|RuntimeException|!, RuntimeException>complete(new Object(), new RuntimeException(), new RuntimeException(), gm);@1668] EXACT_MATCH\n" +
1596
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testExtends() [		gm = gm.<Object, RuntimeException, §|RuntimeException|§>complete(new Object(), new RuntimeException(), new RuntimeException(), gm);@1686] EXACT_MATCH\n" +
1596
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testExtends() [		gm = gm.<Object, RuntimeException, !|RuntimeException|!>complete(new Object(), new RuntimeException(), new RuntimeException(), gm);@1686] EXACT_MATCH\n" +
1597
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testSuper() [		Multiple<§|Object|§, ? super RuntimeException, ? super IllegalMonitorStateException> gm = new Multiple<Object, Exception, RuntimeException>();@1893] EXACT_MATCH\n" +
1597
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testSuper() [		Multiple<!|Object|!, ? super RuntimeException, ? super IllegalMonitorStateException> gm = new Multiple<Object, Exception, RuntimeException>();@1893] EXACT_MATCH\n" +
1598
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testSuper() [		Multiple<Object, ? super RuntimeException, ? super IllegalMonitorStateException> gm = new Multiple<§|Object|§, Exception, RuntimeException>();@1983] EXACT_MATCH\n" +
1598
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testSuper() [		Multiple<Object, ? super RuntimeException, ? super IllegalMonitorStateException> gm = new Multiple<!|Object|!, Exception, RuntimeException>();@1983] EXACT_MATCH\n" +
1599
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testSuper() [		Multiple<Object, ? super RuntimeException, ? super IllegalMonitorStateException> gm = new Multiple<Object, §|Exception|§, RuntimeException>();@1991] EXACT_MATCH\n" +
1599
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testSuper() [		Multiple<Object, ? super RuntimeException, ? super IllegalMonitorStateException> gm = new Multiple<Object, !|Exception|!, RuntimeException>();@1991] EXACT_MATCH\n" +
1600
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testSuper() [		Multiple<Object, ? super RuntimeException, ? super IllegalMonitorStateException> gm = new Multiple<Object, Exception, §|RuntimeException|§>();@2002] EXACT_MATCH\n" +
1600
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testSuper() [		Multiple<Object, ? super RuntimeException, ? super IllegalMonitorStateException> gm = new Multiple<Object, Exception, !|RuntimeException|!>();@2002] EXACT_MATCH\n" +
1601
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testSuper() [		gm.<§|Object|§, RuntimeException, IllegalMonitorStateException>generic(new Object(), new RuntimeException(), new IllegalMonitorStateException());@2029] EXACT_MATCH\n" +
1601
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testSuper() [		gm.<!|Object|!, RuntimeException, IllegalMonitorStateException>generic(new Object(), new RuntimeException(), new IllegalMonitorStateException());@2029] EXACT_MATCH\n" +
1602
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testSuper() [		gm.<Object, §|RuntimeException|§, IllegalMonitorStateException>generic(new Object(), new RuntimeException(), new IllegalMonitorStateException());@2037] EXACT_MATCH\n" +
1602
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testSuper() [		gm.<Object, !|RuntimeException|!, IllegalMonitorStateException>generic(new Object(), new RuntimeException(), new IllegalMonitorStateException());@2037] EXACT_MATCH\n" +
1603
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testSuper() [		gm.<Object, RuntimeException, §|IllegalMonitorStateException|§>generic(new Object(), new RuntimeException(), new IllegalMonitorStateException());@2055] EXACT_MATCH\n" +
1603
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testSuper() [		gm.<Object, RuntimeException, !|IllegalMonitorStateException|!>generic(new Object(), new RuntimeException(), new IllegalMonitorStateException());@2055] EXACT_MATCH\n" +
1604
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testSuper() [		gm.paramTypesArgs(new Single<§|Object|§>(), new Single<RuntimeException>(), new Single<RuntimeException>(), gm);@2198] EXACT_MATCH\n" +
1604
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testSuper() [		gm.paramTypesArgs(new Single<!|Object|!>(), new Single<RuntimeException>(), new Single<RuntimeException>(), gm);@2198] EXACT_MATCH\n" +
1605
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testSuper() [		gm.paramTypesArgs(new Single<Object>(), new Single<§|RuntimeException|§>(), new Single<RuntimeException>(), gm);@2220] EXACT_MATCH\n" +
1605
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testSuper() [		gm.paramTypesArgs(new Single<Object>(), new Single<!|RuntimeException|!>(), new Single<RuntimeException>(), gm);@2220] EXACT_MATCH\n" +
1606
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testSuper() [		gm.paramTypesArgs(new Single<Object>(), new Single<RuntimeException>(), new Single<§|RuntimeException|§>(), gm);@2252] EXACT_MATCH\n" +
1606
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testSuper() [		gm.paramTypesArgs(new Single<Object>(), new Single<RuntimeException>(), new Single<!|RuntimeException|!>(), gm);@2252] EXACT_MATCH\n" +
1607
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testSuper() [		gm = gm.<§|Object|§, RuntimeException, IllegalMonitorStateException>complete(new Object(), new RuntimeException(), new IllegalMonitorStateException(), gm);@2318] EXACT_MATCH\n" +
1607
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testSuper() [		gm = gm.<!|Object|!, RuntimeException, IllegalMonitorStateException>complete(new Object(), new RuntimeException(), new IllegalMonitorStateException(), gm);@2318] EXACT_MATCH\n" +
1608
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testSuper() [		gm = gm.<Object, §|RuntimeException|§, IllegalMonitorStateException>complete(new Object(), new RuntimeException(), new IllegalMonitorStateException(), gm);@2326] EXACT_MATCH\n" +
1608
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testSuper() [		gm = gm.<Object, !|RuntimeException|!, IllegalMonitorStateException>complete(new Object(), new RuntimeException(), new IllegalMonitorStateException(), gm);@2326] EXACT_MATCH\n" +
1609
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testSuper() [		gm = gm.<Object, RuntimeException, §|IllegalMonitorStateException|§>complete(new Object(), new RuntimeException(), new IllegalMonitorStateException(), gm);@2344] EXACT_MATCH"
1609
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testSuper() [		gm = gm.<Object, RuntimeException, !|IllegalMonitorStateException|!>complete(new Object(), new RuntimeException(), new IllegalMonitorStateException(), gm);@2344] EXACT_MATCH"
1610
	);
1610
	);
1611
}
1611
}
1612
public void testTypeRefGenericAllG5_WildcardBounds() throws CoreException {
1612
public void testTypeRefGenericAllG5_WildcardBounds() throws CoreException {
Lines 1614-1623 Link Here
1614
	IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] { type });
1614
	IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] { type });
1615
	search("*", TYPE, WILDCARD_BOUND_TYPE_REFERENCE, SearchPattern.R_ERASURE_MATCH, scope);
1615
	search("*", TYPE, WILDCARD_BOUND_TYPE_REFERENCE, SearchPattern.R_ERASURE_MATCH, scope);
1616
	assertSearchResults(
1616
	assertSearchResults(
1617
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testExtends() [		Multiple<Object, ? extends §|Throwable|§, ? extends Exception> gm = new Multiple<Object, Exception, RuntimeException>();@1313] EXACT_MATCH\n" +
1617
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testExtends() [		Multiple<Object, ? extends !|Throwable|!, ? extends Exception> gm = new Multiple<Object, Exception, RuntimeException>();@1313] EXACT_MATCH\n" +
1618
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testExtends() [		Multiple<Object, ? extends Throwable, ? extends §|Exception|§> gm = new Multiple<Object, Exception, RuntimeException>();@1334] EXACT_MATCH\n" +
1618
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testExtends() [		Multiple<Object, ? extends Throwable, ? extends !|Exception|!> gm = new Multiple<Object, Exception, RuntimeException>();@1334] EXACT_MATCH\n" +
1619
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testSuper() [		Multiple<Object, ? super §|RuntimeException|§, ? super IllegalMonitorStateException> gm = new Multiple<Object, Exception, RuntimeException>();@1909] EXACT_MATCH\n" +
1619
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testSuper() [		Multiple<Object, ? super !|RuntimeException|!, ? super IllegalMonitorStateException> gm = new Multiple<Object, Exception, RuntimeException>();@1909] EXACT_MATCH\n" +
1620
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testSuper() [		Multiple<Object, ? super RuntimeException, ? super §|IllegalMonitorStateException|§> gm = new Multiple<Object, Exception, RuntimeException>();@1935] EXACT_MATCH"
1620
		"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testSuper() [		Multiple<Object, ? super RuntimeException, ? super !|IllegalMonitorStateException|!> gm = new Multiple<Object, Exception, RuntimeException>();@1935] EXACT_MATCH"
1621
	);
1621
	);
1622
}
1622
}
1623
public void testTypeRefGenericAllG5_TypeVariableBounds() throws CoreException {
1623
public void testTypeRefGenericAllG5_TypeVariableBounds() throws CoreException {
Lines 1631-1656 Link Here
1631
	IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] { type });
1631
	IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] { type });
1632
	search("*", TYPE, TYPE_ARGUMENT_TYPE_REFERENCE, SearchPattern.R_ERASURE_MATCH, scope);
1632
	search("*", TYPE, TYPE_ARGUMENT_TYPE_REFERENCE, SearchPattern.R_ERASURE_MATCH, scope);
1633
	assertSearchResults(
1633
	assertSearchResults(
1634
		"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.entryException [	g6.t.def.Table<§|String|§, Exception>.Entry<String, Exception> entryException;@64] EXACT_MATCH\n" +
1634
		"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.entryException [	g6.t.def.Table<!|String|!, Exception>.Entry<String, Exception> entryException;@64] EXACT_MATCH\n" +
1635
		"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.entryException [	g6.t.def.Table<String, §|Exception|§>.Entry<String, Exception> entryException;@72] EXACT_MATCH\n" +
1635
		"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.entryException [	g6.t.def.Table<String, !|Exception|!>.Entry<String, Exception> entryException;@72] EXACT_MATCH\n" +
1636
		"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.entryException [	g6.t.def.Table<String, Exception>.Entry<§|String|§, Exception> entryException;@89] EXACT_MATCH\n" +
1636
		"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.entryException [	g6.t.def.Table<String, Exception>.Entry<!|String|!, Exception> entryException;@89] EXACT_MATCH\n" +
1637
		"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.entryException [	g6.t.def.Table<String, Exception>.Entry<String, §|Exception|§> entryException;@97] EXACT_MATCH\n" +
1637
		"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.entryException [	g6.t.def.Table<String, Exception>.Entry<String, !|Exception|!> entryException;@97] EXACT_MATCH\n" +
1638
		"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.entryExceptionArray [	g6.t.def.Table<§|String|§, Exception>.Entry<String, Exception>[] entryExceptionArray;@140] EXACT_MATCH\n" +
1638
		"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.entryExceptionArray [	g6.t.def.Table<!|String|!, Exception>.Entry<String, Exception>[] entryExceptionArray;@140] EXACT_MATCH\n" +
1639
		"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.entryExceptionArray [	g6.t.def.Table<String, §|Exception|§>.Entry<String, Exception>[] entryExceptionArray;@148] EXACT_MATCH\n" +
1639
		"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.entryExceptionArray [	g6.t.def.Table<String, !|Exception|!>.Entry<String, Exception>[] entryExceptionArray;@148] EXACT_MATCH\n" +
1640
		"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.entryExceptionArray [	g6.t.def.Table<String, Exception>.Entry<§|String|§, Exception>[] entryExceptionArray;@165] EXACT_MATCH\n" +
1640
		"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.entryExceptionArray [	g6.t.def.Table<String, Exception>.Entry<!|String|!, Exception>[] entryExceptionArray;@165] EXACT_MATCH\n" +
1641
		"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.entryExceptionArray [	g6.t.def.Table<String, Exception>.Entry<String, §|Exception|§>[] entryExceptionArray;@173] EXACT_MATCH\n" +
1641
		"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.entryExceptionArray [	g6.t.def.Table<String, Exception>.Entry<String, !|Exception|!>[] entryExceptionArray;@173] EXACT_MATCH\n" +
1642
		"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.tableOfEntryExceptionArray [	g6.t.def.Table<§|String|§, g6.t.def.Table<String, Exception>.Entry<String, Exception>[]>.Entry<String, g6.t.def.Table<String, Exception>.Entry<String, Exception>[]> tableOfEntryExceptionArray;@223] EXACT_MATCH\n" +
1642
		"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.tableOfEntryExceptionArray [	g6.t.def.Table<!|String|!, g6.t.def.Table<String, Exception>.Entry<String, Exception>[]>.Entry<String, g6.t.def.Table<String, Exception>.Entry<String, Exception>[]> tableOfEntryExceptionArray;@223] EXACT_MATCH\n" +
1643
		"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.tableOfEntryExceptionArray [	g6.t.def.Table<String, §|g6.t.def.Table<String, Exception>.Entry<String, Exception>[]|§>.Entry<String, g6.t.def.Table<String, Exception>.Entry<String, Exception>[]> tableOfEntryExceptionArray;@231] EXACT_MATCH\n" +
1643
		"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.tableOfEntryExceptionArray [	g6.t.def.Table<String, !|g6.t.def.Table<String, Exception>.Entry<String, Exception>[]|!>.Entry<String, g6.t.def.Table<String, Exception>.Entry<String, Exception>[]> tableOfEntryExceptionArray;@231] EXACT_MATCH\n" +
1644
		"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.tableOfEntryExceptionArray [	g6.t.def.Table<String, g6.t.def.Table<§|String|§, Exception>.Entry<String, Exception>[]>.Entry<String, g6.t.def.Table<String, Exception>.Entry<String, Exception>[]> tableOfEntryExceptionArray;@246] EXACT_MATCH\n" +
1644
		"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.tableOfEntryExceptionArray [	g6.t.def.Table<String, g6.t.def.Table<!|String|!, Exception>.Entry<String, Exception>[]>.Entry<String, g6.t.def.Table<String, Exception>.Entry<String, Exception>[]> tableOfEntryExceptionArray;@246] EXACT_MATCH\n" +
1645
		"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.tableOfEntryExceptionArray [	g6.t.def.Table<String, g6.t.def.Table<String, §|Exception|§>.Entry<String, Exception>[]>.Entry<String, g6.t.def.Table<String, Exception>.Entry<String, Exception>[]> tableOfEntryExceptionArray;@254] EXACT_MATCH\n" +
1645
		"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.tableOfEntryExceptionArray [	g6.t.def.Table<String, g6.t.def.Table<String, !|Exception|!>.Entry<String, Exception>[]>.Entry<String, g6.t.def.Table<String, Exception>.Entry<String, Exception>[]> tableOfEntryExceptionArray;@254] EXACT_MATCH\n" +
1646
		"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.tableOfEntryExceptionArray [	g6.t.def.Table<String, g6.t.def.Table<String, Exception>.Entry<§|String|§, Exception>[]>.Entry<String, g6.t.def.Table<String, Exception>.Entry<String, Exception>[]> tableOfEntryExceptionArray;@271] EXACT_MATCH\n" +
1646
		"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.tableOfEntryExceptionArray [	g6.t.def.Table<String, g6.t.def.Table<String, Exception>.Entry<!|String|!, Exception>[]>.Entry<String, g6.t.def.Table<String, Exception>.Entry<String, Exception>[]> tableOfEntryExceptionArray;@271] EXACT_MATCH\n" +
1647
		"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.tableOfEntryExceptionArray [	g6.t.def.Table<String, g6.t.def.Table<String, Exception>.Entry<String, §|Exception|§>[]>.Entry<String, g6.t.def.Table<String, Exception>.Entry<String, Exception>[]> tableOfEntryExceptionArray;@279] EXACT_MATCH\n" +
1647
		"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.tableOfEntryExceptionArray [	g6.t.def.Table<String, g6.t.def.Table<String, Exception>.Entry<String, !|Exception|!>[]>.Entry<String, g6.t.def.Table<String, Exception>.Entry<String, Exception>[]> tableOfEntryExceptionArray;@279] EXACT_MATCH\n" +
1648
		"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.tableOfEntryExceptionArray [	g6.t.def.Table<String, g6.t.def.Table<String, Exception>.Entry<String, Exception>[]>.Entry<§|String|§, g6.t.def.Table<String, Exception>.Entry<String, Exception>[]> tableOfEntryExceptionArray;@299] EXACT_MATCH\n" +
1648
		"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.tableOfEntryExceptionArray [	g6.t.def.Table<String, g6.t.def.Table<String, Exception>.Entry<String, Exception>[]>.Entry<!|String|!, g6.t.def.Table<String, Exception>.Entry<String, Exception>[]> tableOfEntryExceptionArray;@299] EXACT_MATCH\n" +
1649
		"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.tableOfEntryExceptionArray [	g6.t.def.Table<String, g6.t.def.Table<String, Exception>.Entry<String, Exception>[]>.Entry<String, §|g6.t.def.Table<String, Exception>.Entry<String, Exception>[]|§> tableOfEntryExceptionArray;@307] EXACT_MATCH\n" +
1649
		"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.tableOfEntryExceptionArray [	g6.t.def.Table<String, g6.t.def.Table<String, Exception>.Entry<String, Exception>[]>.Entry<String, !|g6.t.def.Table<String, Exception>.Entry<String, Exception>[]|!> tableOfEntryExceptionArray;@307] EXACT_MATCH\n" +
1650
		"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.tableOfEntryExceptionArray [	g6.t.def.Table<String, g6.t.def.Table<String, Exception>.Entry<String, Exception>[]>.Entry<String, g6.t.def.Table<§|String|§, Exception>.Entry<String, Exception>[]> tableOfEntryExceptionArray;@322] EXACT_MATCH\n" +
1650
		"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.tableOfEntryExceptionArray [	g6.t.def.Table<String, g6.t.def.Table<String, Exception>.Entry<String, Exception>[]>.Entry<String, g6.t.def.Table<!|String|!, Exception>.Entry<String, Exception>[]> tableOfEntryExceptionArray;@322] EXACT_MATCH\n" +
1651
		"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.tableOfEntryExceptionArray [	g6.t.def.Table<String, g6.t.def.Table<String, Exception>.Entry<String, Exception>[]>.Entry<String, g6.t.def.Table<String, §|Exception|§>.Entry<String, Exception>[]> tableOfEntryExceptionArray;@330] EXACT_MATCH\n" +
1651
		"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.tableOfEntryExceptionArray [	g6.t.def.Table<String, g6.t.def.Table<String, Exception>.Entry<String, Exception>[]>.Entry<String, g6.t.def.Table<String, !|Exception|!>.Entry<String, Exception>[]> tableOfEntryExceptionArray;@330] EXACT_MATCH\n" +
1652
		"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.tableOfEntryExceptionArray [	g6.t.def.Table<String, g6.t.def.Table<String, Exception>.Entry<String, Exception>[]>.Entry<String, g6.t.def.Table<String, Exception>.Entry<§|String|§, Exception>[]> tableOfEntryExceptionArray;@347] EXACT_MATCH\n" +
1652
		"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.tableOfEntryExceptionArray [	g6.t.def.Table<String, g6.t.def.Table<String, Exception>.Entry<String, Exception>[]>.Entry<String, g6.t.def.Table<String, Exception>.Entry<!|String|!, Exception>[]> tableOfEntryExceptionArray;@347] EXACT_MATCH\n" +
1653
		"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.tableOfEntryExceptionArray [	g6.t.def.Table<String, g6.t.def.Table<String, Exception>.Entry<String, Exception>[]>.Entry<String, g6.t.def.Table<String, Exception>.Entry<String, §|Exception|§>[]> tableOfEntryExceptionArray;@355] EXACT_MATCH"
1653
		"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.tableOfEntryExceptionArray [	g6.t.def.Table<String, g6.t.def.Table<String, Exception>.Entry<String, Exception>[]>.Entry<String, g6.t.def.Table<String, Exception>.Entry<String, !|Exception|!>[]> tableOfEntryExceptionArray;@355] EXACT_MATCH"
1654
	);
1654
	);
1655
}
1655
}
1656
public void testTypeRefGenericAllG6_WildcardBounds() throws CoreException {
1656
public void testTypeRefGenericAllG6_WildcardBounds() throws CoreException {
Lines 1658-1666 Link Here
1658
	IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] { type });
1658
	IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] { type });
1659
	search("*", TYPE, FIELD_DECLARATION_TYPE_REFERENCE, SearchPattern.R_ERASURE_MATCH, scope);
1659
	search("*", TYPE, FIELD_DECLARATION_TYPE_REFERENCE, SearchPattern.R_ERASURE_MATCH, scope);
1660
	assertSearchResults(
1660
	assertSearchResults(
1661
		"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.entryException [	§|g6.t.def.Table<String, Exception>.Entry|§<String, Exception> entryException;@49] EXACT_MATCH\n" +
1661
		"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.entryException [	!|g6.t.def.Table<String, Exception>.Entry|!<String, Exception> entryException;@49] EXACT_MATCH\n" +
1662
		"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.entryExceptionArray [	§|g6.t.def.Table<String, Exception>.Entry<String, Exception>[]|§ entryExceptionArray;@125] EXACT_MATCH\n" +
1662
		"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.entryExceptionArray [	!|g6.t.def.Table<String, Exception>.Entry<String, Exception>[]|! entryExceptionArray;@125] EXACT_MATCH\n" +
1663
		"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.tableOfEntryExceptionArray [	§|g6.t.def.Table<String, g6.t.def.Table<String, Exception>.Entry<String, Exception>[]>.Entry|§<String, g6.t.def.Table<String, Exception>.Entry<String, Exception>[]> tableOfEntryExceptionArray;@208] EXACT_MATCH"
1663
		"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.tableOfEntryExceptionArray [	!|g6.t.def.Table<String, g6.t.def.Table<String, Exception>.Entry<String, Exception>[]>.Entry|!<String, g6.t.def.Table<String, Exception>.Entry<String, Exception>[]> tableOfEntryExceptionArray;@208] EXACT_MATCH"
1664
	);
1664
	);
1665
}
1665
}
1666
public void testTypeRefGenericAllG6_TypeVariableBounds() throws CoreException {
1666
public void testTypeRefGenericAllG6_TypeVariableBounds() throws CoreException {
Lines 1686-1695 Link Here
1686
	IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] { type });
1686
	IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] { type });
1687
	search("*", TYPE, TYPE_ARGUMENT_TYPE_REFERENCE, SearchPattern.R_ERASURE_MATCH, scope);
1687
	search("*", TYPE, TYPE_ARGUMENT_TYPE_REFERENCE, SearchPattern.R_ERASURE_MATCH, scope);
1688
	assertSearchResults(
1688
	assertSearchResults(
1689
		"src/test06/Test.java test06.Test.x [	X<§|Exception|§> x; @39] EXACT_MATCH\n" +
1689
		"src/test06/Test.java test06.Test.x [	X<!|Exception|!> x; @39] EXACT_MATCH\n" +
1690
		"src/test06/Test.java test06.Test.y [	Y<§|Object|§, String, Exception> y; @57] EXACT_MATCH\n" +
1690
		"src/test06/Test.java test06.Test.y [	Y<!|Object|!, String, Exception> y; @57] EXACT_MATCH\n" +
1691
		"src/test06/Test.java test06.Test.y [	Y<Object, §|String|§, Exception> y; @65] EXACT_MATCH\n" +
1691
		"src/test06/Test.java test06.Test.y [	Y<Object, !|String|!, Exception> y; @65] EXACT_MATCH\n" +
1692
		"src/test06/Test.java test06.Test.y [	Y<Object, String, §|Exception|§> y; @73] EXACT_MATCH"
1692
		"src/test06/Test.java test06.Test.y [	Y<Object, String, !|Exception|!> y; @73] EXACT_MATCH"
1693
	);
1693
	);
1694
}
1694
}
1695
public void testTypeRefGenericsTest07_TypeArgument() throws CoreException {
1695
public void testTypeRefGenericsTest07_TypeArgument() throws CoreException {
Lines 1709-1738 Link Here
1709
	IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] { type });
1709
	IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] { type });
1710
	search("*", TYPE, TYPE_ARGUMENT_TYPE_REFERENCE, SearchPattern.R_ERASURE_MATCH, scope);
1710
	search("*", TYPE, TYPE_ARGUMENT_TYPE_REFERENCE, SearchPattern.R_ERASURE_MATCH, scope);
1711
	assertSearchResults(
1711
	assertSearchResults(
1712
		"src/test07/Test.java test07.Test.y1 [	Y<§|Y|§<Exception>> y1;@39] EXACT_MATCH\n" +
1712
		"src/test07/Test.java test07.Test.y1 [	Y<!|Y|!<Exception>> y1;@39] EXACT_MATCH\n" +
1713
		"src/test07/Test.java test07.Test.y1 [	Y<Y<§|Exception|§>> y1;@41] EXACT_MATCH\n" +
1713
		"src/test07/Test.java test07.Test.y1 [	Y<Y<!|Exception|!>> y1;@41] EXACT_MATCH\n" +
1714
		"src/test07/Test.java test07.Test.y2 [	Y<§|X|§<Object, String, Exception>> y2;@60] EXACT_MATCH\n" +
1714
		"src/test07/Test.java test07.Test.y2 [	Y<!|X|!<Object, String, Exception>> y2;@60] EXACT_MATCH\n" +
1715
		"src/test07/Test.java test07.Test.y2 [	Y<X<§|Object|§, String, Exception>> y2;@62] EXACT_MATCH\n" +
1715
		"src/test07/Test.java test07.Test.y2 [	Y<X<!|Object|!, String, Exception>> y2;@62] EXACT_MATCH\n" +
1716
		"src/test07/Test.java test07.Test.y2 [	Y<X<Object, §|String|§, Exception>> y2;@70] EXACT_MATCH\n" +
1716
		"src/test07/Test.java test07.Test.y2 [	Y<X<Object, !|String|!, Exception>> y2;@70] EXACT_MATCH\n" +
1717
		"src/test07/Test.java test07.Test.y2 [	Y<X<Object, String, §|Exception|§>> y2;@78] EXACT_MATCH\n" +
1717
		"src/test07/Test.java test07.Test.y2 [	Y<X<Object, String, !|Exception|!>> y2;@78] EXACT_MATCH\n" +
1718
		"src/test07/Test.java test07.Test.x1 [	X<§|Y|§<Object>, Y<String>, Y<Exception>> x1;@97] EXACT_MATCH\n" +
1718
		"src/test07/Test.java test07.Test.x1 [	X<!|Y|!<Object>, Y<String>, Y<Exception>> x1;@97] EXACT_MATCH\n" +
1719
		"src/test07/Test.java test07.Test.x1 [	X<Y<§|Object|§>, Y<String>, Y<Exception>> x1;@99] EXACT_MATCH\n" +
1719
		"src/test07/Test.java test07.Test.x1 [	X<Y<!|Object|!>, Y<String>, Y<Exception>> x1;@99] EXACT_MATCH\n" +
1720
		"src/test07/Test.java test07.Test.x1 [	X<Y<Object>, §|Y|§<String>, Y<Exception>> x1;@108] EXACT_MATCH\n" +
1720
		"src/test07/Test.java test07.Test.x1 [	X<Y<Object>, !|Y|!<String>, Y<Exception>> x1;@108] EXACT_MATCH\n" +
1721
		"src/test07/Test.java test07.Test.x1 [	X<Y<Object>, Y<§|String|§>, Y<Exception>> x1;@110] EXACT_MATCH\n" +
1721
		"src/test07/Test.java test07.Test.x1 [	X<Y<Object>, Y<!|String|!>, Y<Exception>> x1;@110] EXACT_MATCH\n" +
1722
		"src/test07/Test.java test07.Test.x1 [	X<Y<Object>, Y<String>, §|Y|§<Exception>> x1;@119] EXACT_MATCH\n" +
1722
		"src/test07/Test.java test07.Test.x1 [	X<Y<Object>, Y<String>, !|Y|!<Exception>> x1;@119] EXACT_MATCH\n" +
1723
		"src/test07/Test.java test07.Test.x1 [	X<Y<Object>, Y<String>, Y<§|Exception|§>> x1;@121] EXACT_MATCH\n" +
1723
		"src/test07/Test.java test07.Test.x1 [	X<Y<Object>, Y<String>, Y<!|Exception|!>> x1;@121] EXACT_MATCH\n" +
1724
		"src/test07/Test.java test07.Test.x2 [	X<§|X|§<Object, Object, Object>, X<String, String, String>, X<Exception, Exception, Exception>> x2;@140] EXACT_MATCH\n" +
1724
		"src/test07/Test.java test07.Test.x2 [	X<!|X|!<Object, Object, Object>, X<String, String, String>, X<Exception, Exception, Exception>> x2;@140] EXACT_MATCH\n" +
1725
		"src/test07/Test.java test07.Test.x2 [	X<X<§|Object|§, Object, Object>, X<String, String, String>, X<Exception, Exception, Exception>> x2;@142] EXACT_MATCH\n" +
1725
		"src/test07/Test.java test07.Test.x2 [	X<X<!|Object|!, Object, Object>, X<String, String, String>, X<Exception, Exception, Exception>> x2;@142] EXACT_MATCH\n" +
1726
		"src/test07/Test.java test07.Test.x2 [	X<X<Object, §|Object|§, Object>, X<String, String, String>, X<Exception, Exception, Exception>> x2;@150] EXACT_MATCH\n" +
1726
		"src/test07/Test.java test07.Test.x2 [	X<X<Object, !|Object|!, Object>, X<String, String, String>, X<Exception, Exception, Exception>> x2;@150] EXACT_MATCH\n" +
1727
		"src/test07/Test.java test07.Test.x2 [	X<X<Object, Object, §|Object|§>, X<String, String, String>, X<Exception, Exception, Exception>> x2;@158] EXACT_MATCH\n" +
1727
		"src/test07/Test.java test07.Test.x2 [	X<X<Object, Object, !|Object|!>, X<String, String, String>, X<Exception, Exception, Exception>> x2;@158] EXACT_MATCH\n" +
1728
		"src/test07/Test.java test07.Test.x2 [	X<X<Object, Object, Object>, §|X|§<String, String, String>, X<Exception, Exception, Exception>> x2;@167] EXACT_MATCH\n" +
1728
		"src/test07/Test.java test07.Test.x2 [	X<X<Object, Object, Object>, !|X|!<String, String, String>, X<Exception, Exception, Exception>> x2;@167] EXACT_MATCH\n" +
1729
		"src/test07/Test.java test07.Test.x2 [	X<X<Object, Object, Object>, X<§|String|§, String, String>, X<Exception, Exception, Exception>> x2;@169] EXACT_MATCH\n" +
1729
		"src/test07/Test.java test07.Test.x2 [	X<X<Object, Object, Object>, X<!|String|!, String, String>, X<Exception, Exception, Exception>> x2;@169] EXACT_MATCH\n" +
1730
		"src/test07/Test.java test07.Test.x2 [	X<X<Object, Object, Object>, X<String, §|String|§, String>, X<Exception, Exception, Exception>> x2;@177] EXACT_MATCH\n" +
1730
		"src/test07/Test.java test07.Test.x2 [	X<X<Object, Object, Object>, X<String, !|String|!, String>, X<Exception, Exception, Exception>> x2;@177] EXACT_MATCH\n" +
1731
		"src/test07/Test.java test07.Test.x2 [	X<X<Object, Object, Object>, X<String, String, §|String|§>, X<Exception, Exception, Exception>> x2;@185] EXACT_MATCH\n" +
1731
		"src/test07/Test.java test07.Test.x2 [	X<X<Object, Object, Object>, X<String, String, !|String|!>, X<Exception, Exception, Exception>> x2;@185] EXACT_MATCH\n" +
1732
		"src/test07/Test.java test07.Test.x2 [	X<X<Object, Object, Object>, X<String, String, String>, §|X|§<Exception, Exception, Exception>> x2;@194] EXACT_MATCH\n" +
1732
		"src/test07/Test.java test07.Test.x2 [	X<X<Object, Object, Object>, X<String, String, String>, !|X|!<Exception, Exception, Exception>> x2;@194] EXACT_MATCH\n" +
1733
		"src/test07/Test.java test07.Test.x2 [	X<X<Object, Object, Object>, X<String, String, String>, X<§|Exception|§, Exception, Exception>> x2;@196] EXACT_MATCH\n" +
1733
		"src/test07/Test.java test07.Test.x2 [	X<X<Object, Object, Object>, X<String, String, String>, X<!|Exception|!, Exception, Exception>> x2;@196] EXACT_MATCH\n" +
1734
		"src/test07/Test.java test07.Test.x2 [	X<X<Object, Object, Object>, X<String, String, String>, X<Exception, §|Exception|§, Exception>> x2;@207] EXACT_MATCH\n" +
1734
		"src/test07/Test.java test07.Test.x2 [	X<X<Object, Object, Object>, X<String, String, String>, X<Exception, !|Exception|!, Exception>> x2;@207] EXACT_MATCH\n" +
1735
		"src/test07/Test.java test07.Test.x2 [	X<X<Object, Object, Object>, X<String, String, String>, X<Exception, Exception, §|Exception|§>> x2;@218] EXACT_MATCH"
1735
		"src/test07/Test.java test07.Test.x2 [	X<X<Object, Object, Object>, X<String, String, String>, X<Exception, Exception, !|Exception|!>> x2;@218] EXACT_MATCH"
1736
	);
1736
	);
1737
}
1737
}
1738
public void testTypeRefGenericsTest08_TypeArgument() throws CoreException {
1738
public void testTypeRefGenericsTest08_TypeArgument() throws CoreException {
Lines 1754-1788 Link Here
1754
	IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] { type });
1754
	IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] { type });
1755
	search("*", TYPE, TYPE_ARGUMENT_TYPE_REFERENCE, SearchPattern.R_ERASURE_MATCH, scope);
1755
	search("*", TYPE, TYPE_ARGUMENT_TYPE_REFERENCE, SearchPattern.R_ERASURE_MATCH, scope);
1756
	assertSearchResults(
1756
	assertSearchResults(
1757
		"src/test08/Test.java test08.Test.z [		§|Y|§<X<Object>, X<String>, X<Exception>>,@42] EXACT_MATCH\n" +
1757
		"src/test08/Test.java test08.Test.z [		!|Y|!<X<Object>, X<String>, X<Exception>>,@42] EXACT_MATCH\n" +
1758
		"src/test08/Test.java test08.Test.z [		Y<§|X|§<Object>, X<String>, X<Exception>>,@44] EXACT_MATCH\n" +
1758
		"src/test08/Test.java test08.Test.z [		Y<!|X|!<Object>, X<String>, X<Exception>>,@44] EXACT_MATCH\n" +
1759
		"src/test08/Test.java test08.Test.z [		Y<X<§|Object|§>, X<String>, X<Exception>>,@46] EXACT_MATCH\n" +
1759
		"src/test08/Test.java test08.Test.z [		Y<X<!|Object|!>, X<String>, X<Exception>>,@46] EXACT_MATCH\n" +
1760
		"src/test08/Test.java test08.Test.z [		Y<X<Object>, §|X|§<String>, X<Exception>>,@55] EXACT_MATCH\n" +
1760
		"src/test08/Test.java test08.Test.z [		Y<X<Object>, !|X|!<String>, X<Exception>>,@55] EXACT_MATCH\n" +
1761
		"src/test08/Test.java test08.Test.z [		Y<X<Object>, X<§|String|§>, X<Exception>>,@57] EXACT_MATCH\n" +
1761
		"src/test08/Test.java test08.Test.z [		Y<X<Object>, X<!|String|!>, X<Exception>>,@57] EXACT_MATCH\n" +
1762
		"src/test08/Test.java test08.Test.z [		Y<X<Object>, X<String>, §|X|§<Exception>>,@66] EXACT_MATCH\n" +
1762
		"src/test08/Test.java test08.Test.z [		Y<X<Object>, X<String>, !|X|!<Exception>>,@66] EXACT_MATCH\n" +
1763
		"src/test08/Test.java test08.Test.z [		Y<X<Object>, X<String>, X<§|Exception|§>>,@68] EXACT_MATCH\n" +
1763
		"src/test08/Test.java test08.Test.z [		Y<X<Object>, X<String>, X<!|Exception|!>>,@68] EXACT_MATCH\n" +
1764
		"src/test08/Test.java test08.Test.z [		§|X|§<Y<Object, String, X<Exception>>>,@83] EXACT_MATCH\n" +
1764
		"src/test08/Test.java test08.Test.z [		!|X|!<Y<Object, String, X<Exception>>>,@83] EXACT_MATCH\n" +
1765
		"src/test08/Test.java test08.Test.z [		X<§|Y|§<Object, String, X<Exception>>>,@85] EXACT_MATCH\n" +
1765
		"src/test08/Test.java test08.Test.z [		X<!|Y|!<Object, String, X<Exception>>>,@85] EXACT_MATCH\n" +
1766
		"src/test08/Test.java test08.Test.z [		X<Y<§|Object|§, String, X<Exception>>>,@87] EXACT_MATCH\n" +
1766
		"src/test08/Test.java test08.Test.z [		X<Y<!|Object|!, String, X<Exception>>>,@87] EXACT_MATCH\n" +
1767
		"src/test08/Test.java test08.Test.z [		X<Y<Object, §|String|§, X<Exception>>>,@95] EXACT_MATCH\n" +
1767
		"src/test08/Test.java test08.Test.z [		X<Y<Object, !|String|!, X<Exception>>>,@95] EXACT_MATCH\n" +
1768
		"src/test08/Test.java test08.Test.z [		X<Y<Object, String, §|X|§<Exception>>>,@103] EXACT_MATCH\n" +
1768
		"src/test08/Test.java test08.Test.z [		X<Y<Object, String, !|X|!<Exception>>>,@103] EXACT_MATCH\n" +
1769
		"src/test08/Test.java test08.Test.z [		X<Y<Object, String, X<§|Exception|§>>>,@105] EXACT_MATCH\n" +
1769
		"src/test08/Test.java test08.Test.z [		X<Y<Object, String, X<!|Exception|!>>>,@105] EXACT_MATCH\n" +
1770
		"src/test08/Test.java test08.Test.z [		§|Z|§<Object, X<String>, X<X<Exception>>, X<X<X<java.io.Serializable>>>>,@121] EXACT_MATCH\n" +
1770
		"src/test08/Test.java test08.Test.z [		!|Z|!<Object, X<String>, X<X<Exception>>, X<X<X<java.io.Serializable>>>>,@121] EXACT_MATCH\n" +
1771
		"src/test08/Test.java test08.Test.z [		Z<§|Object|§, X<String>, X<X<Exception>>, X<X<X<java.io.Serializable>>>>,@123] EXACT_MATCH\n" +
1771
		"src/test08/Test.java test08.Test.z [		Z<!|Object|!, X<String>, X<X<Exception>>, X<X<X<java.io.Serializable>>>>,@123] EXACT_MATCH\n" +
1772
		"src/test08/Test.java test08.Test.z [		Z<Object, §|X|§<String>, X<X<Exception>>, X<X<X<java.io.Serializable>>>>,@131] EXACT_MATCH\n" +
1772
		"src/test08/Test.java test08.Test.z [		Z<Object, !|X|!<String>, X<X<Exception>>, X<X<X<java.io.Serializable>>>>,@131] EXACT_MATCH\n" +
1773
		"src/test08/Test.java test08.Test.z [		Z<Object, X<§|String|§>, X<X<Exception>>, X<X<X<java.io.Serializable>>>>,@133] EXACT_MATCH\n" +
1773
		"src/test08/Test.java test08.Test.z [		Z<Object, X<!|String|!>, X<X<Exception>>, X<X<X<java.io.Serializable>>>>,@133] EXACT_MATCH\n" +
1774
		"src/test08/Test.java test08.Test.z [		Z<Object, X<String>, §|X|§<X<Exception>>, X<X<X<java.io.Serializable>>>>,@142] EXACT_MATCH\n" +
1774
		"src/test08/Test.java test08.Test.z [		Z<Object, X<String>, !|X|!<X<Exception>>, X<X<X<java.io.Serializable>>>>,@142] EXACT_MATCH\n" +
1775
		"src/test08/Test.java test08.Test.z [		Z<Object, X<String>, X<§|X|§<Exception>>, X<X<X<java.io.Serializable>>>>,@144] EXACT_MATCH\n" +
1775
		"src/test08/Test.java test08.Test.z [		Z<Object, X<String>, X<!|X|!<Exception>>, X<X<X<java.io.Serializable>>>>,@144] EXACT_MATCH\n" +
1776
		"src/test08/Test.java test08.Test.z [		Z<Object, X<String>, X<X<§|Exception|§>>, X<X<X<java.io.Serializable>>>>,@146] EXACT_MATCH\n" +
1776
		"src/test08/Test.java test08.Test.z [		Z<Object, X<String>, X<X<!|Exception|!>>, X<X<X<java.io.Serializable>>>>,@146] EXACT_MATCH\n" +
1777
		"src/test08/Test.java test08.Test.z [		Z<Object, X<String>, X<X<Exception>>, §|X|§<X<X<java.io.Serializable>>>>,@159] EXACT_MATCH\n" +
1777
		"src/test08/Test.java test08.Test.z [		Z<Object, X<String>, X<X<Exception>>, !|X|!<X<X<java.io.Serializable>>>>,@159] EXACT_MATCH\n" +
1778
		"src/test08/Test.java test08.Test.z [		Z<Object, X<String>, X<X<Exception>>, X<§|X|§<X<java.io.Serializable>>>>,@161] EXACT_MATCH\n" +
1778
		"src/test08/Test.java test08.Test.z [		Z<Object, X<String>, X<X<Exception>>, X<!|X|!<X<java.io.Serializable>>>>,@161] EXACT_MATCH\n" +
1779
		"src/test08/Test.java test08.Test.z [		Z<Object, X<String>, X<X<Exception>>, X<X<§|X|§<java.io.Serializable>>>>,@163] EXACT_MATCH\n" +
1779
		"src/test08/Test.java test08.Test.z [		Z<Object, X<String>, X<X<Exception>>, X<X<!|X|!<java.io.Serializable>>>>,@163] EXACT_MATCH\n" +
1780
		"src/test08/Test.java test08.Test.z [		Z<Object, X<String>, X<X<Exception>>, X<X<X<§|java.io.Serializable|§>>>>,@165] EXACT_MATCH\n" +
1780
		"src/test08/Test.java test08.Test.z [		Z<Object, X<String>, X<X<Exception>>, X<X<X<!|java.io.Serializable|!>>>>,@165] EXACT_MATCH\n" +
1781
		"src/test08/Test.java test08.Test.z [		§|X|§<X<X<X<String>>>>> z;@193] EXACT_MATCH\n" +
1781
		"src/test08/Test.java test08.Test.z [		!|X|!<X<X<X<String>>>>> z;@193] EXACT_MATCH\n" +
1782
		"src/test08/Test.java test08.Test.z [		X<§|X|§<X<X<String>>>>> z;@195] EXACT_MATCH\n" +
1782
		"src/test08/Test.java test08.Test.z [		X<!|X|!<X<X<String>>>>> z;@195] EXACT_MATCH\n" +
1783
		"src/test08/Test.java test08.Test.z [		X<X<§|X|§<X<String>>>>> z;@197] EXACT_MATCH\n" +
1783
		"src/test08/Test.java test08.Test.z [		X<X<!|X|!<X<String>>>>> z;@197] EXACT_MATCH\n" +
1784
		"src/test08/Test.java test08.Test.z [		X<X<X<§|X|§<String>>>>> z;@199] EXACT_MATCH\n" +
1784
		"src/test08/Test.java test08.Test.z [		X<X<X<!|X|!<String>>>>> z;@199] EXACT_MATCH\n" +
1785
		"src/test08/Test.java test08.Test.z [		X<X<X<X<§|String|§>>>>> z;@201] EXACT_MATCH"
1785
		"src/test08/Test.java test08.Test.z [		X<X<X<X<!|String|!>>>>> z;@201] EXACT_MATCH"
1786
	);
1786
	);
1787
}
1787
}
1788
public void testTypeRefGenericsTest09_TypeArgument() throws CoreException {
1788
public void testTypeRefGenericsTest09_TypeArgument() throws CoreException {
Lines 1800-1809 Link Here
1800
	IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] { type });
1800
	IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] { type });
1801
	search("*", TYPE, WILDCARD_BOUND_TYPE_REFERENCE | TYPE_ARGUMENT_TYPE_REFERENCE, SearchPattern.R_ERASURE_MATCH, scope);
1801
	search("*", TYPE, WILDCARD_BOUND_TYPE_REFERENCE | TYPE_ARGUMENT_TYPE_REFERENCE, SearchPattern.R_ERASURE_MATCH, scope);
1802
	assertSearchResults(
1802
	assertSearchResults(
1803
		"src/test09/Test.java test09.Test.x [	X<? extends §|Exception|§> x; @49] EXACT_MATCH\n" +
1803
		"src/test09/Test.java test09.Test.x [	X<? extends !|Exception|!> x; @49] EXACT_MATCH\n" +
1804
		"src/test09/Test.java test09.Test.y [	Y<? extends §|Object|§, ? super String, ? extends Exception> y; @77] EXACT_MATCH\n" +
1804
		"src/test09/Test.java test09.Test.y [	Y<? extends !|Object|!, ? super String, ? extends Exception> y; @77] EXACT_MATCH\n" +
1805
		"src/test09/Test.java test09.Test.y [	Y<? extends Object, ? super §|String|§, ? extends Exception> y; @93] EXACT_MATCH\n" +
1805
		"src/test09/Test.java test09.Test.y [	Y<? extends Object, ? super !|String|!, ? extends Exception> y; @93] EXACT_MATCH\n" +
1806
		"src/test09/Test.java test09.Test.y [	Y<? extends Object, ? super String, ? extends §|Exception|§> y; @111] EXACT_MATCH"
1806
		"src/test09/Test.java test09.Test.y [	Y<? extends Object, ? super String, ? extends !|Exception|!> y; @111] EXACT_MATCH"
1807
	);
1807
	);
1808
}
1808
}
1809
public void testTypeRefGenericsTest10_TypeArgument() throws CoreException {
1809
public void testTypeRefGenericsTest10_TypeArgument() throws CoreException {
Lines 1823-1836 Link Here
1823
	IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] { type });
1823
	IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] { type });
1824
	search("*", TYPE, TYPE_ARGUMENT_TYPE_REFERENCE, SearchPattern.R_ERASURE_MATCH, scope);
1824
	search("*", TYPE, TYPE_ARGUMENT_TYPE_REFERENCE, SearchPattern.R_ERASURE_MATCH, scope);
1825
	assertSearchResults(
1825
	assertSearchResults(
1826
		"src/test10/Test.java test10.Test.y1 [	Y<§|Y|§<? extends Exception>> y1;@39] EXACT_MATCH\n" +
1826
		"src/test10/Test.java test10.Test.y1 [	Y<!|Y|!<? extends Exception>> y1;@39] EXACT_MATCH\n" +
1827
		"src/test10/Test.java test10.Test.y2 [	Y<§|X|§<? extends Object, ? super String, ? extends Exception>> y2;@70] EXACT_MATCH\n" +
1827
		"src/test10/Test.java test10.Test.y2 [	Y<!|X|!<? extends Object, ? super String, ? extends Exception>> y2;@70] EXACT_MATCH\n" +
1828
		"src/test10/Test.java test10.Test.x1 [	X<§|Y|§<? super Object>, Y<? extends String>, Y<? super Exception>> x1;@135] EXACT_MATCH\n" +
1828
		"src/test10/Test.java test10.Test.x1 [	X<!|Y|!<? super Object>, Y<? extends String>, Y<? super Exception>> x1;@135] EXACT_MATCH\n" +
1829
		"src/test10/Test.java test10.Test.x1 [	X<Y<? super Object>, §|Y|§<? extends String>, Y<? super Exception>> x1;@154] EXACT_MATCH\n" +
1829
		"src/test10/Test.java test10.Test.x1 [	X<Y<? super Object>, !|Y|!<? extends String>, Y<? super Exception>> x1;@154] EXACT_MATCH\n" +
1830
		"src/test10/Test.java test10.Test.x1 [	X<Y<? super Object>, Y<? extends String>, §|Y|§<? super Exception>> x1;@175] EXACT_MATCH\n" +
1830
		"src/test10/Test.java test10.Test.x1 [	X<Y<? super Object>, Y<? extends String>, !|Y|!<? super Exception>> x1;@175] EXACT_MATCH\n" +
1831
		"src/test10/Test.java test10.Test.x2 [	X<§|X|§<? extends Object, ? extends Object, ? extends Object>, X<? super String, ? super String, ? super String>, X<? extends Exception, ? super Exception, ? extends Exception>> x2;@204] EXACT_MATCH\n" +
1831
		"src/test10/Test.java test10.Test.x2 [	X<!|X|!<? extends Object, ? extends Object, ? extends Object>, X<? super String, ? super String, ? super String>, X<? extends Exception, ? super Exception, ? extends Exception>> x2;@204] EXACT_MATCH\n" +
1832
		"src/test10/Test.java test10.Test.x2 [	X<X<? extends Object, ? extends Object, ? extends Object>, §|X|§<? super String, ? super String, ? super String>, X<? extends Exception, ? super Exception, ? extends Exception>> x2;@261] EXACT_MATCH\n" +
1832
		"src/test10/Test.java test10.Test.x2 [	X<X<? extends Object, ? extends Object, ? extends Object>, !|X|!<? super String, ? super String, ? super String>, X<? extends Exception, ? super Exception, ? extends Exception>> x2;@261] EXACT_MATCH\n" +
1833
		"src/test10/Test.java test10.Test.x2 [	X<X<? extends Object, ? extends Object, ? extends Object>, X<? super String, ? super String, ? super String>, §|X|§<? extends Exception, ? super Exception, ? extends Exception>> x2;@312] EXACT_MATCH"
1833
		"src/test10/Test.java test10.Test.x2 [	X<X<? extends Object, ? extends Object, ? extends Object>, X<? super String, ? super String, ? super String>, !|X|!<? extends Exception, ? super Exception, ? extends Exception>> x2;@312] EXACT_MATCH"
1834
	);
1834
	);
1835
}
1835
}
1836
public void testTypeRefGenericsTest10_WildcardBound() throws CoreException {
1836
public void testTypeRefGenericsTest10_WildcardBound() throws CoreException {
Lines 1850-1871 Link Here
1850
	IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] { type });
1850
	IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] { type });
1851
	search("*", TYPE, WILDCARD_BOUND_TYPE_REFERENCE, SearchPattern.R_ERASURE_MATCH, scope);
1851
	search("*", TYPE, WILDCARD_BOUND_TYPE_REFERENCE, SearchPattern.R_ERASURE_MATCH, scope);
1852
	assertSearchResults(
1852
	assertSearchResults(
1853
		"src/test10/Test.java test10.Test.y1 [	Y<Y<? extends §|Exception|§>> y1;@51] EXACT_MATCH\n" +
1853
		"src/test10/Test.java test10.Test.y1 [	Y<Y<? extends !|Exception|!>> y1;@51] EXACT_MATCH\n" +
1854
		"src/test10/Test.java test10.Test.y2 [	Y<X<? extends §|Object|§, ? super String, ? extends Exception>> y2;@82] EXACT_MATCH\n" +
1854
		"src/test10/Test.java test10.Test.y2 [	Y<X<? extends !|Object|!, ? super String, ? extends Exception>> y2;@82] EXACT_MATCH\n" +
1855
		"src/test10/Test.java test10.Test.y2 [	Y<X<? extends Object, ? super §|String|§, ? extends Exception>> y2;@98] EXACT_MATCH\n" +
1855
		"src/test10/Test.java test10.Test.y2 [	Y<X<? extends Object, ? super !|String|!, ? extends Exception>> y2;@98] EXACT_MATCH\n" +
1856
		"src/test10/Test.java test10.Test.y2 [	Y<X<? extends Object, ? super String, ? extends §|Exception|§>> y2;@116] EXACT_MATCH\n" +
1856
		"src/test10/Test.java test10.Test.y2 [	Y<X<? extends Object, ? super String, ? extends !|Exception|!>> y2;@116] EXACT_MATCH\n" +
1857
		"src/test10/Test.java test10.Test.x1 [	X<Y<? super §|Object|§>, Y<? extends String>, Y<? super Exception>> x1;@145] EXACT_MATCH\n" +
1857
		"src/test10/Test.java test10.Test.x1 [	X<Y<? super !|Object|!>, Y<? extends String>, Y<? super Exception>> x1;@145] EXACT_MATCH\n" +
1858
		"src/test10/Test.java test10.Test.x1 [	X<Y<? super Object>, Y<? extends §|String|§>, Y<? super Exception>> x1;@166] EXACT_MATCH\n" +
1858
		"src/test10/Test.java test10.Test.x1 [	X<Y<? super Object>, Y<? extends !|String|!>, Y<? super Exception>> x1;@166] EXACT_MATCH\n" +
1859
		"src/test10/Test.java test10.Test.x1 [	X<Y<? super Object>, Y<? extends String>, Y<? super §|Exception|§>> x1;@185] EXACT_MATCH\n" +
1859
		"src/test10/Test.java test10.Test.x1 [	X<Y<? super Object>, Y<? extends String>, Y<? super !|Exception|!>> x1;@185] EXACT_MATCH\n" +
1860
		"src/test10/Test.java test10.Test.x2 [	X<X<? extends §|Object|§, ? extends Object, ? extends Object>, X<? super String, ? super String, ? super String>, X<? extends Exception, ? super Exception, ? extends Exception>> x2;@216] EXACT_MATCH\n" +
1860
		"src/test10/Test.java test10.Test.x2 [	X<X<? extends !|Object|!, ? extends Object, ? extends Object>, X<? super String, ? super String, ? super String>, X<? extends Exception, ? super Exception, ? extends Exception>> x2;@216] EXACT_MATCH\n" +
1861
		"src/test10/Test.java test10.Test.x2 [	X<X<? extends Object, ? extends §|Object|§, ? extends Object>, X<? super String, ? super String, ? super String>, X<? extends Exception, ? super Exception, ? extends Exception>> x2;@234] EXACT_MATCH\n" +
1861
		"src/test10/Test.java test10.Test.x2 [	X<X<? extends Object, ? extends !|Object|!, ? extends Object>, X<? super String, ? super String, ? super String>, X<? extends Exception, ? super Exception, ? extends Exception>> x2;@234] EXACT_MATCH\n" +
1862
		"src/test10/Test.java test10.Test.x2 [	X<X<? extends Object, ? extends Object, ? extends §|Object|§>, X<? super String, ? super String, ? super String>, X<? extends Exception, ? super Exception, ? extends Exception>> x2;@252] EXACT_MATCH\n" +
1862
		"src/test10/Test.java test10.Test.x2 [	X<X<? extends Object, ? extends Object, ? extends !|Object|!>, X<? super String, ? super String, ? super String>, X<? extends Exception, ? super Exception, ? extends Exception>> x2;@252] EXACT_MATCH\n" +
1863
		"src/test10/Test.java test10.Test.x2 [	X<X<? extends Object, ? extends Object, ? extends Object>, X<? super §|String|§, ? super String, ? super String>, X<? extends Exception, ? super Exception, ? extends Exception>> x2;@271] EXACT_MATCH\n" +
1863
		"src/test10/Test.java test10.Test.x2 [	X<X<? extends Object, ? extends Object, ? extends Object>, X<? super !|String|!, ? super String, ? super String>, X<? extends Exception, ? super Exception, ? extends Exception>> x2;@271] EXACT_MATCH\n" +
1864
		"src/test10/Test.java test10.Test.x2 [	X<X<? extends Object, ? extends Object, ? extends Object>, X<? super String, ? super §|String|§, ? super String>, X<? extends Exception, ? super Exception, ? extends Exception>> x2;@287] EXACT_MATCH\n" +
1864
		"src/test10/Test.java test10.Test.x2 [	X<X<? extends Object, ? extends Object, ? extends Object>, X<? super String, ? super !|String|!, ? super String>, X<? extends Exception, ? super Exception, ? extends Exception>> x2;@287] EXACT_MATCH\n" +
1865
		"src/test10/Test.java test10.Test.x2 [	X<X<? extends Object, ? extends Object, ? extends Object>, X<? super String, ? super String, ? super §|String|§>, X<? extends Exception, ? super Exception, ? extends Exception>> x2;@303] EXACT_MATCH\n" +
1865
		"src/test10/Test.java test10.Test.x2 [	X<X<? extends Object, ? extends Object, ? extends Object>, X<? super String, ? super String, ? super !|String|!>, X<? extends Exception, ? super Exception, ? extends Exception>> x2;@303] EXACT_MATCH\n" +
1866
		"src/test10/Test.java test10.Test.x2 [	X<X<? extends Object, ? extends Object, ? extends Object>, X<? super String, ? super String, ? super String>, X<? extends §|Exception|§, ? super Exception, ? extends Exception>> x2;@324] EXACT_MATCH\n" +
1866
		"src/test10/Test.java test10.Test.x2 [	X<X<? extends Object, ? extends Object, ? extends Object>, X<? super String, ? super String, ? super String>, X<? extends !|Exception|!, ? super Exception, ? extends Exception>> x2;@324] EXACT_MATCH\n" +
1867
		"src/test10/Test.java test10.Test.x2 [	X<X<? extends Object, ? extends Object, ? extends Object>, X<? super String, ? super String, ? super String>, X<? extends Exception, ? super §|Exception|§, ? extends Exception>> x2;@343] EXACT_MATCH\n" +
1867
		"src/test10/Test.java test10.Test.x2 [	X<X<? extends Object, ? extends Object, ? extends Object>, X<? super String, ? super String, ? super String>, X<? extends Exception, ? super !|Exception|!, ? extends Exception>> x2;@343] EXACT_MATCH\n" +
1868
		"src/test10/Test.java test10.Test.x2 [	X<X<? extends Object, ? extends Object, ? extends Object>, X<? super String, ? super String, ? super String>, X<? extends Exception, ? super Exception, ? extends §|Exception|§>> x2;@364] EXACT_MATCH"
1868
		"src/test10/Test.java test10.Test.x2 [	X<X<? extends Object, ? extends Object, ? extends Object>, X<? super String, ? super String, ? super String>, X<? extends Exception, ? super Exception, ? extends !|Exception|!>> x2;@364] EXACT_MATCH"
1869
	);
1869
	);
1870
}
1870
}
1871
public void testTypeRefGenericsTest11_TypeArgument() throws CoreException {
1871
public void testTypeRefGenericsTest11_TypeArgument() throws CoreException {
Lines 1887-1910 Link Here
1887
	IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] { type });
1887
	IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] { type });
1888
	search("*", TYPE, TYPE_ARGUMENT_TYPE_REFERENCE, SearchPattern.R_ERASURE_MATCH, scope);
1888
	search("*", TYPE, TYPE_ARGUMENT_TYPE_REFERENCE, SearchPattern.R_ERASURE_MATCH, scope);
1889
	assertSearchResults(
1889
	assertSearchResults(
1890
		"src/test11/Test.java test11.Test.z [		§|Y|§<X<? extends Object>, X<? super String>, X<? extends Exception>>,@42] EXACT_MATCH\n" +
1890
		"src/test11/Test.java test11.Test.z [		!|Y|!<X<? extends Object>, X<? super String>, X<? extends Exception>>,@42] EXACT_MATCH\n" +
1891
		"src/test11/Test.java test11.Test.z [		Y<§|X|§<? extends Object>, X<? super String>, X<? extends Exception>>,@44] EXACT_MATCH\n" +
1891
		"src/test11/Test.java test11.Test.z [		Y<!|X|!<? extends Object>, X<? super String>, X<? extends Exception>>,@44] EXACT_MATCH\n" +
1892
		"src/test11/Test.java test11.Test.z [		Y<X<? extends Object>, §|X|§<? super String>, X<? extends Exception>>,@65] EXACT_MATCH\n" +
1892
		"src/test11/Test.java test11.Test.z [		Y<X<? extends Object>, !|X|!<? super String>, X<? extends Exception>>,@65] EXACT_MATCH\n" +
1893
		"src/test11/Test.java test11.Test.z [		Y<X<? extends Object>, X<? super String>, §|X|§<? extends Exception>>,@84] EXACT_MATCH\n" +
1893
		"src/test11/Test.java test11.Test.z [		Y<X<? extends Object>, X<? super String>, !|X|!<? extends Exception>>,@84] EXACT_MATCH\n" +
1894
		"src/test11/Test.java test11.Test.z [		§|X|§<Y<? extends Object, ? super String, X<? extends Exception>>>,@111] EXACT_MATCH\n" +
1894
		"src/test11/Test.java test11.Test.z [		!|X|!<Y<? extends Object, ? super String, X<? extends Exception>>>,@111] EXACT_MATCH\n" +
1895
		"src/test11/Test.java test11.Test.z [		X<§|Y|§<? extends Object, ? super String, X<? extends Exception>>>,@113] EXACT_MATCH\n" +
1895
		"src/test11/Test.java test11.Test.z [		X<!|Y|!<? extends Object, ? super String, X<? extends Exception>>>,@113] EXACT_MATCH\n" +
1896
		"src/test11/Test.java test11.Test.z [		X<Y<? extends Object, ? super String, §|X|§<? extends Exception>>>,@149] EXACT_MATCH\n" +
1896
		"src/test11/Test.java test11.Test.z [		X<Y<? extends Object, ? super String, !|X|!<? extends Exception>>>,@149] EXACT_MATCH\n" +
1897
		"src/test11/Test.java test11.Test.z [		§|Z|§<? extends Object, X<? super String>, X<X<? extends Exception>>, X<X<X<? extends java.io.Serializable>>>>,@177] EXACT_MATCH\n" +
1897
		"src/test11/Test.java test11.Test.z [		!|Z|!<? extends Object, X<? super String>, X<X<? extends Exception>>, X<X<X<? extends java.io.Serializable>>>>,@177] EXACT_MATCH\n" +
1898
		"src/test11/Test.java test11.Test.z [		Z<? extends Object, §|X|§<? super String>, X<X<? extends Exception>>, X<X<X<? extends java.io.Serializable>>>>,@197] EXACT_MATCH\n" +
1898
		"src/test11/Test.java test11.Test.z [		Z<? extends Object, !|X|!<? super String>, X<X<? extends Exception>>, X<X<X<? extends java.io.Serializable>>>>,@197] EXACT_MATCH\n" +
1899
		"src/test11/Test.java test11.Test.z [		Z<? extends Object, X<? super String>, §|X|§<X<? extends Exception>>, X<X<X<? extends java.io.Serializable>>>>,@216] EXACT_MATCH\n" +
1899
		"src/test11/Test.java test11.Test.z [		Z<? extends Object, X<? super String>, !|X|!<X<? extends Exception>>, X<X<X<? extends java.io.Serializable>>>>,@216] EXACT_MATCH\n" +
1900
		"src/test11/Test.java test11.Test.z [		Z<? extends Object, X<? super String>, X<§|X|§<? extends Exception>>, X<X<X<? extends java.io.Serializable>>>>,@218] EXACT_MATCH\n" +
1900
		"src/test11/Test.java test11.Test.z [		Z<? extends Object, X<? super String>, X<!|X|!<? extends Exception>>, X<X<X<? extends java.io.Serializable>>>>,@218] EXACT_MATCH\n" +
1901
		"src/test11/Test.java test11.Test.z [		Z<? extends Object, X<? super String>, X<X<? extends Exception>>, §|X|§<X<X<? extends java.io.Serializable>>>>,@243] EXACT_MATCH\n" +
1901
		"src/test11/Test.java test11.Test.z [		Z<? extends Object, X<? super String>, X<X<? extends Exception>>, !|X|!<X<X<? extends java.io.Serializable>>>>,@243] EXACT_MATCH\n" +
1902
		"src/test11/Test.java test11.Test.z [		Z<? extends Object, X<? super String>, X<X<? extends Exception>>, X<§|X|§<X<? extends java.io.Serializable>>>>,@245] EXACT_MATCH\n" +
1902
		"src/test11/Test.java test11.Test.z [		Z<? extends Object, X<? super String>, X<X<? extends Exception>>, X<!|X|!<X<? extends java.io.Serializable>>>>,@245] EXACT_MATCH\n" +
1903
		"src/test11/Test.java test11.Test.z [		Z<? extends Object, X<? super String>, X<X<? extends Exception>>, X<X<§|X|§<? extends java.io.Serializable>>>>,@247] EXACT_MATCH\n" +
1903
		"src/test11/Test.java test11.Test.z [		Z<? extends Object, X<? super String>, X<X<? extends Exception>>, X<X<!|X|!<? extends java.io.Serializable>>>>,@247] EXACT_MATCH\n" +
1904
		"src/test11/Test.java test11.Test.z [		§|X|§<X<X<X<? super String>>>>> z;@287] EXACT_MATCH\n" +
1904
		"src/test11/Test.java test11.Test.z [		!|X|!<X<X<X<? super String>>>>> z;@287] EXACT_MATCH\n" +
1905
		"src/test11/Test.java test11.Test.z [		X<§|X|§<X<X<? super String>>>>> z;@289] EXACT_MATCH\n" +
1905
		"src/test11/Test.java test11.Test.z [		X<!|X|!<X<X<? super String>>>>> z;@289] EXACT_MATCH\n" +
1906
		"src/test11/Test.java test11.Test.z [		X<X<§|X|§<X<? super String>>>>> z;@291] EXACT_MATCH\n" +
1906
		"src/test11/Test.java test11.Test.z [		X<X<!|X|!<X<? super String>>>>> z;@291] EXACT_MATCH\n" +
1907
		"src/test11/Test.java test11.Test.z [		X<X<X<§|X|§<? super String>>>>> z;@293] EXACT_MATCH"
1907
		"src/test11/Test.java test11.Test.z [		X<X<X<!|X|!<? super String>>>>> z;@293] EXACT_MATCH"
1908
	);
1908
	);
1909
}
1909
}
1910
public void testTypeRefGenericsTest11_WildcardBound() throws CoreException {
1910
public void testTypeRefGenericsTest11_WildcardBound() throws CoreException {
Lines 1926-1942 Link Here
1926
	IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] { type });
1926
	IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] { type });
1927
	search("*", TYPE, WILDCARD_BOUND_TYPE_REFERENCE, SearchPattern.R_ERASURE_MATCH, scope);
1927
	search("*", TYPE, WILDCARD_BOUND_TYPE_REFERENCE, SearchPattern.R_ERASURE_MATCH, scope);
1928
	assertSearchResults(
1928
	assertSearchResults(
1929
		"src/test11/Test.java test11.Test.z [		Y<X<? extends §|Object|§>, X<? super String>, X<? extends Exception>>,@56] EXACT_MATCH\n" +
1929
		"src/test11/Test.java test11.Test.z [		Y<X<? extends !|Object|!>, X<? super String>, X<? extends Exception>>,@56] EXACT_MATCH\n" +
1930
		"src/test11/Test.java test11.Test.z [		Y<X<? extends Object>, X<? super §|String|§>, X<? extends Exception>>,@75] EXACT_MATCH\n" +
1930
		"src/test11/Test.java test11.Test.z [		Y<X<? extends Object>, X<? super !|String|!>, X<? extends Exception>>,@75] EXACT_MATCH\n" +
1931
		"src/test11/Test.java test11.Test.z [		Y<X<? extends Object>, X<? super String>, X<? extends §|Exception|§>>,@96] EXACT_MATCH\n" +
1931
		"src/test11/Test.java test11.Test.z [		Y<X<? extends Object>, X<? super String>, X<? extends !|Exception|!>>,@96] EXACT_MATCH\n" +
1932
		"src/test11/Test.java test11.Test.z [		X<Y<? extends §|Object|§, ? super String, X<? extends Exception>>>,@125] EXACT_MATCH\n" +
1932
		"src/test11/Test.java test11.Test.z [		X<Y<? extends !|Object|!, ? super String, X<? extends Exception>>>,@125] EXACT_MATCH\n" +
1933
		"src/test11/Test.java test11.Test.z [		X<Y<? extends Object, ? super §|String|§, X<? extends Exception>>>,@141] EXACT_MATCH\n" +
1933
		"src/test11/Test.java test11.Test.z [		X<Y<? extends Object, ? super !|String|!, X<? extends Exception>>>,@141] EXACT_MATCH\n" +
1934
		"src/test11/Test.java test11.Test.z [		X<Y<? extends Object, ? super String, X<? extends §|Exception|§>>>,@161] EXACT_MATCH\n" +
1934
		"src/test11/Test.java test11.Test.z [		X<Y<? extends Object, ? super String, X<? extends !|Exception|!>>>,@161] EXACT_MATCH\n" +
1935
		"src/test11/Test.java test11.Test.z [		Z<? extends §|Object|§, X<? super String>, X<X<? extends Exception>>, X<X<X<? extends java.io.Serializable>>>>,@189] EXACT_MATCH\n" +
1935
		"src/test11/Test.java test11.Test.z [		Z<? extends !|Object|!, X<? super String>, X<X<? extends Exception>>, X<X<X<? extends java.io.Serializable>>>>,@189] EXACT_MATCH\n" +
1936
		"src/test11/Test.java test11.Test.z [		Z<? extends Object, X<? super §|String|§>, X<X<? extends Exception>>, X<X<X<? extends java.io.Serializable>>>>,@207] EXACT_MATCH\n" +
1936
		"src/test11/Test.java test11.Test.z [		Z<? extends Object, X<? super !|String|!>, X<X<? extends Exception>>, X<X<X<? extends java.io.Serializable>>>>,@207] EXACT_MATCH\n" +
1937
		"src/test11/Test.java test11.Test.z [		Z<? extends Object, X<? super String>, X<X<? extends §|Exception|§>>, X<X<X<? extends java.io.Serializable>>>>,@230] EXACT_MATCH\n" +
1937
		"src/test11/Test.java test11.Test.z [		Z<? extends Object, X<? super String>, X<X<? extends !|Exception|!>>, X<X<X<? extends java.io.Serializable>>>>,@230] EXACT_MATCH\n" +
1938
		"src/test11/Test.java test11.Test.z [		Z<? extends Object, X<? super String>, X<X<? extends Exception>>, X<X<X<? extends §|java.io.Serializable|§>>>>,@259] EXACT_MATCH\n" +
1938
		"src/test11/Test.java test11.Test.z [		Z<? extends Object, X<? super String>, X<X<? extends Exception>>, X<X<X<? extends !|java.io.Serializable|!>>>>,@259] EXACT_MATCH\n" +
1939
		"src/test11/Test.java test11.Test.z [		X<X<X<X<? super §|String|§>>>>> z;@303] EXACT_MATCH"
1939
		"src/test11/Test.java test11.Test.z [		X<X<X<X<? super !|String|!>>>>> z;@303] EXACT_MATCH"
1940
	);
1940
	);
1941
}
1941
}
1942
public void testTypeRefGenericsTest12_TypeArgument() throws CoreException {
1942
public void testTypeRefGenericsTest12_TypeArgument() throws CoreException {
Lines 1967-1986 Link Here
1967
	IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] { type });
1967
	IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] { type });
1968
	search("*", TYPE, WILDCARD_BOUND_TYPE_REFERENCE | TYPE_ARGUMENT_TYPE_REFERENCE, SearchPattern.R_ERASURE_MATCH, scope);
1968
	search("*", TYPE, WILDCARD_BOUND_TYPE_REFERENCE | TYPE_ARGUMENT_TYPE_REFERENCE, SearchPattern.R_ERASURE_MATCH, scope);
1969
	assertSearchResults(
1969
	assertSearchResults(
1970
		"src/test12/Test.java test12.Test [public class Test extends S<§|Exception|§> {@44] EXACT_MATCH\n" +
1970
		"src/test12/Test.java test12.Test [public class Test extends S<!|Exception|!> {@44] EXACT_MATCH\n" +
1971
		"src/test12/Test.java void test12.Test.foo(Test) [		this.<§|Exception|§>foo(null);@88] EXACT_MATCH\n" +
1971
		"src/test12/Test.java void test12.Test.foo(Test) [		this.<!|Exception|!>foo(null);@88] EXACT_MATCH\n" +
1972
		"src/test12/Test.java void test12.Test.foo(Test) [		super.<§|Exception|§>foo(null);@118] EXACT_MATCH\n" +
1972
		"src/test12/Test.java void test12.Test.foo(Test) [		super.<!|Exception|!>foo(null);@118] EXACT_MATCH\n" +
1973
		"src/test12/Test.java void test12.Test.foo(Test) [		test.<§|RuntimeException|§>foo(null);@160] EXACT_MATCH\n" +
1973
		"src/test12/Test.java void test12.Test.foo(Test) [		test.<!|RuntimeException|!>foo(null);@160] EXACT_MATCH\n" +
1974
		"src/test12/Test.java void test12.Test.bar(Test) [		this.<§|Object|§, RuntimeException, Test>bar(null);@222] EXACT_MATCH\n" +
1974
		"src/test12/Test.java void test12.Test.bar(Test) [		this.<!|Object|!, RuntimeException, Test>bar(null);@222] EXACT_MATCH\n" +
1975
		"src/test12/Test.java void test12.Test.bar(Test) [		this.<Object, §|RuntimeException|§, Test>bar(null);@230] EXACT_MATCH\n" +
1975
		"src/test12/Test.java void test12.Test.bar(Test) [		this.<Object, !|RuntimeException|!, Test>bar(null);@230] EXACT_MATCH\n" +
1976
		"src/test12/Test.java void test12.Test.bar(Test) [		this.<Object, RuntimeException, §|Test|§>bar(null);@248] EXACT_MATCH\n" +
1976
		"src/test12/Test.java void test12.Test.bar(Test) [		this.<Object, RuntimeException, !|Test|!>bar(null);@248] EXACT_MATCH\n" +
1977
		"src/test12/Test.java void test12.Test.bar(Test) [		super.<§|Object|§, RuntimeException, Test>bar(null);@273] EXACT_MATCH\n" +
1977
		"src/test12/Test.java void test12.Test.bar(Test) [		super.<!|Object|!, RuntimeException, Test>bar(null);@273] EXACT_MATCH\n" +
1978
		"src/test12/Test.java void test12.Test.bar(Test) [		super.<Object, §|RuntimeException|§, Test>bar(null);@281] EXACT_MATCH\n" +
1978
		"src/test12/Test.java void test12.Test.bar(Test) [		super.<Object, !|RuntimeException|!, Test>bar(null);@281] EXACT_MATCH\n" +
1979
		"src/test12/Test.java void test12.Test.bar(Test) [		super.<Object, RuntimeException, §|Test|§>bar(null);@299] EXACT_MATCH\n" +
1979
		"src/test12/Test.java void test12.Test.bar(Test) [		super.<Object, RuntimeException, !|Test|!>bar(null);@299] EXACT_MATCH\n" +
1980
		"src/test12/Test.java void test12.Test.bar(Test) [		test.<§|Object|§, RuntimeException, Test>bar(null);@336] EXACT_MATCH\n" +
1980
		"src/test12/Test.java void test12.Test.bar(Test) [		test.<!|Object|!, RuntimeException, Test>bar(null);@336] EXACT_MATCH\n" +
1981
		"src/test12/Test.java void test12.Test.bar(Test) [		test.<Object, §|RuntimeException|§, Test>bar(null);@344] EXACT_MATCH\n" +
1981
		"src/test12/Test.java void test12.Test.bar(Test) [		test.<Object, !|RuntimeException|!, Test>bar(null);@344] EXACT_MATCH\n" +
1982
		"src/test12/Test.java void test12.Test.bar(Test) [		test.<Object, RuntimeException, §|Test|§>bar(null);@362] EXACT_MATCH\n" +
1982
		"src/test12/Test.java void test12.Test.bar(Test) [		test.<Object, RuntimeException, !|Test|!>bar(null);@362] EXACT_MATCH\n" +
1983
		"src/test12/Test.java void test12.S.bar(S) [	<T, U extends Exception, V extends S<§|R|§>>void bar(S s) {}@464] EXACT_MATCH"
1983
		"src/test12/Test.java void test12.S.bar(S) [	<T, U extends Exception, V extends S<!|R|!>>void bar(S s) {}@464] EXACT_MATCH"
1984
	);
1984
	);
1985
}
1985
}
1986
public void testTypeRefGenericsTest13_TypeArgument() throws CoreException {
1986
public void testTypeRefGenericsTest13_TypeArgument() throws CoreException {
Lines 2011-2050 Link Here
2011
	IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] { type });
2011
	IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] { type });
2012
	search("*", TYPE, WILDCARD_BOUND_TYPE_REFERENCE | TYPE_ARGUMENT_TYPE_REFERENCE, SearchPattern.R_ERASURE_MATCH, scope);
2012
	search("*", TYPE, WILDCARD_BOUND_TYPE_REFERENCE | TYPE_ARGUMENT_TYPE_REFERENCE, SearchPattern.R_ERASURE_MATCH, scope);
2013
	assertSearchResults(
2013
	assertSearchResults(
2014
		"src/test13/Test.java test13.Test [public class Test<T> extends S<§|Exception|§> {@47] EXACT_MATCH\n" +
2014
		"src/test13/Test.java test13.Test [public class Test<T> extends S<!|Exception|!> {@47] EXACT_MATCH\n" +
2015
		"src/test13/Test.java void test13.Test.foo(Test<Exception>) [	void foo(Test<§|Exception|§> test) {@75] EXACT_MATCH\n" +
2015
		"src/test13/Test.java void test13.Test.foo(Test<Exception>) [	void foo(Test<!|Exception|!> test) {@75] EXACT_MATCH\n" +
2016
		"src/test13/Test.java void test13.Test.foo(Test<Exception>) [		this.<§|X|§<Exception>>foo(null);@102] EXACT_MATCH\n" +
2016
		"src/test13/Test.java void test13.Test.foo(Test<Exception>) [		this.<!|X|!<Exception>>foo(null);@102] EXACT_MATCH\n" +
2017
		"src/test13/Test.java void test13.Test.foo(Test<Exception>) [		this.<X<§|Exception|§>>foo(null);@104] EXACT_MATCH\n" +
2017
		"src/test13/Test.java void test13.Test.foo(Test<Exception>) [		this.<X<!|Exception|!>>foo(null);@104] EXACT_MATCH\n" +
2018
		"src/test13/Test.java void test13.Test.foo(Test<Exception>) [		super.<§|X|§<X<Exception>>>foo(null);@135] EXACT_MATCH\n" +
2018
		"src/test13/Test.java void test13.Test.foo(Test<Exception>) [		super.<!|X|!<X<Exception>>>foo(null);@135] EXACT_MATCH\n" +
2019
		"src/test13/Test.java void test13.Test.foo(Test<Exception>) [		super.<X<§|X|§<Exception>>>foo(null);@137] EXACT_MATCH\n" +
2019
		"src/test13/Test.java void test13.Test.foo(Test<Exception>) [		super.<X<!|X|!<Exception>>>foo(null);@137] EXACT_MATCH\n" +
2020
		"src/test13/Test.java void test13.Test.foo(Test<Exception>) [		super.<X<X<§|Exception|§>>>foo(null);@139] EXACT_MATCH\n" +
2020
		"src/test13/Test.java void test13.Test.foo(Test<Exception>) [		super.<X<X<!|Exception|!>>>foo(null);@139] EXACT_MATCH\n" +
2021
		"src/test13/Test.java void test13.Test.foo(Test<Exception>) [		test.<§|X|§<X<X<RuntimeException>>>>foo(null);@183] EXACT_MATCH\n" +
2021
		"src/test13/Test.java void test13.Test.foo(Test<Exception>) [		test.<!|X|!<X<X<RuntimeException>>>>foo(null);@183] EXACT_MATCH\n" +
2022
		"src/test13/Test.java void test13.Test.foo(Test<Exception>) [		test.<X<§|X|§<X<RuntimeException>>>>foo(null);@185] EXACT_MATCH\n" +
2022
		"src/test13/Test.java void test13.Test.foo(Test<Exception>) [		test.<X<!|X|!<X<RuntimeException>>>>foo(null);@185] EXACT_MATCH\n" +
2023
		"src/test13/Test.java void test13.Test.foo(Test<Exception>) [		test.<X<X<§|X|§<RuntimeException>>>>foo(null);@187] EXACT_MATCH\n" +
2023
		"src/test13/Test.java void test13.Test.foo(Test<Exception>) [		test.<X<X<!|X|!<RuntimeException>>>>foo(null);@187] EXACT_MATCH\n" +
2024
		"src/test13/Test.java void test13.Test.foo(Test<Exception>) [		test.<X<X<X<§|RuntimeException|§>>>>foo(null);@189] EXACT_MATCH\n" +
2024
		"src/test13/Test.java void test13.Test.foo(Test<Exception>) [		test.<X<X<X<!|RuntimeException|!>>>>foo(null);@189] EXACT_MATCH\n" +
2025
		"src/test13/Test.java void test13.Test.fred(Test<String>) [	void fred(Test<§|String|§> test) {@239] EXACT_MATCH\n" +
2025
		"src/test13/Test.java void test13.Test.fred(Test<String>) [	void fred(Test<!|String|!> test) {@239] EXACT_MATCH\n" +
2026
		"src/test13/Test.java void test13.Test.fred(Test<String>) [		this.<§|X|§<Object>, Exception, Test<Exception>>bar(null);@263] EXACT_MATCH\n" +
2026
		"src/test13/Test.java void test13.Test.fred(Test<String>) [		this.<!|X|!<Object>, Exception, Test<Exception>>bar(null);@263] EXACT_MATCH\n" +
2027
		"src/test13/Test.java void test13.Test.fred(Test<String>) [		this.<X<§|Object|§>, Exception, Test<Exception>>bar(null);@265] EXACT_MATCH\n" +
2027
		"src/test13/Test.java void test13.Test.fred(Test<String>) [		this.<X<!|Object|!>, Exception, Test<Exception>>bar(null);@265] EXACT_MATCH\n" +
2028
		"src/test13/Test.java void test13.Test.fred(Test<String>) [		this.<X<Object>, §|Exception|§, Test<Exception>>bar(null);@274] EXACT_MATCH\n" +
2028
		"src/test13/Test.java void test13.Test.fred(Test<String>) [		this.<X<Object>, !|Exception|!, Test<Exception>>bar(null);@274] EXACT_MATCH\n" +
2029
		"src/test13/Test.java void test13.Test.fred(Test<String>) [		this.<X<Object>, Exception, §|Test|§<Exception>>bar(null);@285] EXACT_MATCH\n" +
2029
		"src/test13/Test.java void test13.Test.fred(Test<String>) [		this.<X<Object>, Exception, !|Test|!<Exception>>bar(null);@285] EXACT_MATCH\n" +
2030
		"src/test13/Test.java void test13.Test.fred(Test<String>) [		this.<X<Object>, Exception, Test<§|Exception|§>>bar(null);@290] EXACT_MATCH\n" +
2030
		"src/test13/Test.java void test13.Test.fred(Test<String>) [		this.<X<Object>, Exception, Test<!|Exception|!>>bar(null);@290] EXACT_MATCH\n" +
2031
		"src/test13/Test.java void test13.Test.fred(Test<String>) [		super.<§|X|§<X<Object>>, RuntimeException, Test<X<Exception>>>bar(null);@321] EXACT_MATCH\n" +
2031
		"src/test13/Test.java void test13.Test.fred(Test<String>) [		super.<!|X|!<X<Object>>, RuntimeException, Test<X<Exception>>>bar(null);@321] EXACT_MATCH\n" +
2032
		"src/test13/Test.java void test13.Test.fred(Test<String>) [		super.<X<§|X|§<Object>>, RuntimeException, Test<X<Exception>>>bar(null);@323] EXACT_MATCH\n" +
2032
		"src/test13/Test.java void test13.Test.fred(Test<String>) [		super.<X<!|X|!<Object>>, RuntimeException, Test<X<Exception>>>bar(null);@323] EXACT_MATCH\n" +
2033
		"src/test13/Test.java void test13.Test.fred(Test<String>) [		super.<X<X<§|Object|§>>, RuntimeException, Test<X<Exception>>>bar(null);@325] EXACT_MATCH\n" +
2033
		"src/test13/Test.java void test13.Test.fred(Test<String>) [		super.<X<X<!|Object|!>>, RuntimeException, Test<X<Exception>>>bar(null);@325] EXACT_MATCH\n" +
2034
		"src/test13/Test.java void test13.Test.fred(Test<String>) [		super.<X<X<Object>>, §|RuntimeException|§, Test<X<Exception>>>bar(null);@335] EXACT_MATCH\n" +
2034
		"src/test13/Test.java void test13.Test.fred(Test<String>) [		super.<X<X<Object>>, !|RuntimeException|!, Test<X<Exception>>>bar(null);@335] EXACT_MATCH\n" +
2035
		"src/test13/Test.java void test13.Test.fred(Test<String>) [		super.<X<X<Object>>, RuntimeException, §|Test|§<X<Exception>>>bar(null);@353] EXACT_MATCH\n" +
2035
		"src/test13/Test.java void test13.Test.fred(Test<String>) [		super.<X<X<Object>>, RuntimeException, !|Test|!<X<Exception>>>bar(null);@353] EXACT_MATCH\n" +
2036
		"src/test13/Test.java void test13.Test.fred(Test<String>) [		super.<X<X<Object>>, RuntimeException, Test<§|X|§<Exception>>>bar(null);@358] EXACT_MATCH\n" +
2036
		"src/test13/Test.java void test13.Test.fred(Test<String>) [		super.<X<X<Object>>, RuntimeException, Test<!|X|!<Exception>>>bar(null);@358] EXACT_MATCH\n" +
2037
		"src/test13/Test.java void test13.Test.fred(Test<String>) [		super.<X<X<Object>>, RuntimeException, Test<X<§|Exception|§>>>bar(null);@360] EXACT_MATCH\n" +
2037
		"src/test13/Test.java void test13.Test.fred(Test<String>) [		super.<X<X<Object>>, RuntimeException, Test<X<!|Exception|!>>>bar(null);@360] EXACT_MATCH\n" +
2038
		"src/test13/Test.java void test13.Test.fred(Test<String>) [		test.<§|X|§<X<X<Object>>>, RuntimeException, Test<X<X<Exception>>>>bar(null);@404] EXACT_MATCH\n" +
2038
		"src/test13/Test.java void test13.Test.fred(Test<String>) [		test.<!|X|!<X<X<Object>>>, RuntimeException, Test<X<X<Exception>>>>bar(null);@404] EXACT_MATCH\n" +
2039
		"src/test13/Test.java void test13.Test.fred(Test<String>) [		test.<X<§|X|§<X<Object>>>, RuntimeException, Test<X<X<Exception>>>>bar(null);@406] EXACT_MATCH\n" +
2039
		"src/test13/Test.java void test13.Test.fred(Test<String>) [		test.<X<!|X|!<X<Object>>>, RuntimeException, Test<X<X<Exception>>>>bar(null);@406] EXACT_MATCH\n" +
2040
		"src/test13/Test.java void test13.Test.fred(Test<String>) [		test.<X<X<§|X|§<Object>>>, RuntimeException, Test<X<X<Exception>>>>bar(null);@408] EXACT_MATCH\n" +
2040
		"src/test13/Test.java void test13.Test.fred(Test<String>) [		test.<X<X<!|X|!<Object>>>, RuntimeException, Test<X<X<Exception>>>>bar(null);@408] EXACT_MATCH\n" +
2041
		"src/test13/Test.java void test13.Test.fred(Test<String>) [		test.<X<X<X<§|Object|§>>>, RuntimeException, Test<X<X<Exception>>>>bar(null);@410] EXACT_MATCH\n" +
2041
		"src/test13/Test.java void test13.Test.fred(Test<String>) [		test.<X<X<X<!|Object|!>>>, RuntimeException, Test<X<X<Exception>>>>bar(null);@410] EXACT_MATCH\n" +
2042
		"src/test13/Test.java void test13.Test.fred(Test<String>) [		test.<X<X<X<Object>>>, §|RuntimeException|§, Test<X<X<Exception>>>>bar(null);@421] EXACT_MATCH\n" +
2042
		"src/test13/Test.java void test13.Test.fred(Test<String>) [		test.<X<X<X<Object>>>, !|RuntimeException|!, Test<X<X<Exception>>>>bar(null);@421] EXACT_MATCH\n" +
2043
		"src/test13/Test.java void test13.Test.fred(Test<String>) [		test.<X<X<X<Object>>>, RuntimeException, §|Test|§<X<X<Exception>>>>bar(null);@439] EXACT_MATCH\n" +
2043
		"src/test13/Test.java void test13.Test.fred(Test<String>) [		test.<X<X<X<Object>>>, RuntimeException, !|Test|!<X<X<Exception>>>>bar(null);@439] EXACT_MATCH\n" +
2044
		"src/test13/Test.java void test13.Test.fred(Test<String>) [		test.<X<X<X<Object>>>, RuntimeException, Test<§|X|§<X<Exception>>>>bar(null);@444] EXACT_MATCH\n" +
2044
		"src/test13/Test.java void test13.Test.fred(Test<String>) [		test.<X<X<X<Object>>>, RuntimeException, Test<!|X|!<X<Exception>>>>bar(null);@444] EXACT_MATCH\n" +
2045
		"src/test13/Test.java void test13.Test.fred(Test<String>) [		test.<X<X<X<Object>>>, RuntimeException, Test<X<§|X|§<Exception>>>>bar(null);@446] EXACT_MATCH\n" +
2045
		"src/test13/Test.java void test13.Test.fred(Test<String>) [		test.<X<X<X<Object>>>, RuntimeException, Test<X<!|X|!<Exception>>>>bar(null);@446] EXACT_MATCH\n" +
2046
		"src/test13/Test.java void test13.Test.fred(Test<String>) [		test.<X<X<X<Object>>>, RuntimeException, Test<X<X<§|Exception|§>>>>bar(null);@448] EXACT_MATCH\n" +
2046
		"src/test13/Test.java void test13.Test.fred(Test<String>) [		test.<X<X<X<Object>>>, RuntimeException, Test<X<X<!|Exception|!>>>>bar(null);@448] EXACT_MATCH\n" +
2047
		"src/test13/Test.java void test13.S.bar(S) [	<T, U extends Exception, V extends S<§|R|§>>void bar(S s) {}@558] EXACT_MATCH"
2047
		"src/test13/Test.java void test13.S.bar(S) [	<T, U extends Exception, V extends S<!|R|!>>void bar(S s) {}@558] EXACT_MATCH"
2048
	);
2048
	);
2049
}
2049
}
2050
public void testTypeRefGenericsTest15_ClassInstanceCreation() throws CoreException {
2050
public void testTypeRefGenericsTest15_ClassInstanceCreation() throws CoreException {
Lines 2066-2073 Link Here
2066
	IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] { type });
2066
	IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] { type });
2067
	search("*", TYPE, CLASS_INSTANCE_CREATION_TYPE_REFERENCE, SearchPattern.R_ERASURE_MATCH, scope);
2067
	search("*", TYPE, CLASS_INSTANCE_CREATION_TYPE_REFERENCE, SearchPattern.R_ERASURE_MATCH, scope);
2068
	assertSearchResults(
2068
	assertSearchResults(
2069
		"src/test15/Test.java Test test15.Test.foo() [		return new <String> §|Test|§(\"\");@108] EXACT_MATCH\n" +
2069
		"src/test15/Test.java Test test15.Test.foo() [		return new <String> !|Test|!(\"\");@108] EXACT_MATCH\n" +
2070
		"src/test15/Test.java Test test15.Test.bar() [		return new §|Test|§();@156] EXACT_MATCH"
2070
		"src/test15/Test.java Test test15.Test.bar() [		return new !|Test|!();@156] EXACT_MATCH"
2071
	);
2071
	);
2072
}
2072
}
2073
2073
Lines 2110-2117 Link Here
2110
	IType type = this.workingCopies[0].getType("Ref");
2110
	IType type = this.workingCopies[0].getType("Ref");
2111
	search(type, RETURN_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope());
2111
	search(type, RETURN_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope());
2112
	assertSearchResults(
2112
	assertSearchResults(
2113
		"src/Ref.java Ref Ref.foo() [	public §|Ref|§ foo() {@46] EXACT_MATCH\n" +
2113
		"src/Ref.java Ref Ref.foo() [	public !|Ref|! foo() {@46] EXACT_MATCH\n" +
2114
		"src/Test.java Ref Test.bar() [	§|Ref|§ bar() {@100] EXACT_MATCH"
2114
		"src/Test.java Ref Test.bar() [	!|Ref|! bar() {@100] EXACT_MATCH"
2115
	);
2115
	);
2116
}
2116
}
2117
public void testBug212599_all() throws CoreException {
2117
public void testBug212599_all() throws CoreException {
Lines 2148-2157 Link Here
2148
	IType type = this.workingCopies[0].getType("Ref");
2148
	IType type = this.workingCopies[0].getType("Ref");
2149
	search(type, ALL_TYPE_FINE_GRAIN_FLAGS, getJavaSearchWorkingCopiesScope());
2149
	search(type, ALL_TYPE_FINE_GRAIN_FLAGS, getJavaSearchWorkingCopiesScope());
2150
	assertSearchResults(
2150
	assertSearchResults(
2151
		"src/Ref.java Ref Ref.foo() [	public §|Ref|§ foo() {@46] EXACT_MATCH\n" +
2151
		"src/Ref.java Ref Ref.foo() [	public !|Ref|! foo() {@46] EXACT_MATCH\n" +
2152
		"src/Test.java Test.test [	§|Ref|§ test;@41] EXACT_MATCH\n" +
2152
		"src/Test.java Test.test [	!|Ref|! test;@41] EXACT_MATCH\n" +
2153
		"src/Test.java Ref Test.bar() [	§|Ref|§ bar() {@100] EXACT_MATCH\n" +
2153
		"src/Test.java Ref Test.bar() [	!|Ref|! bar() {@100] EXACT_MATCH\n" +
2154
		"src/Test.java Ref Test.bar() [			return new §|Ref|§();@210] EXACT_MATCH"
2154
		"src/Test.java Ref Test.bar() [			return new !|Ref|!();@210] EXACT_MATCH"
2155
	);
2155
	);
2156
}
2156
}
2157
}
2157
}
(-)src/org/eclipse/jdt/core/tests/model/JavaSearchJavadocTests.java (-7 / +7 lines)
Lines 862-871 Link Here
862
		IPackageDeclaration packDecl = getCompilationUnit("JavaSearch", "src", "j6", "Bug54962.java").getPackageDeclaration("j6");
862
		IPackageDeclaration packDecl = getCompilationUnit("JavaSearch", "src", "j6", "Bug54962.java").getPackageDeclaration("j6");
863
		search(packDecl, REFERENCES, getJavaSearchScope());
863
		search(packDecl, REFERENCES, getJavaSearchScope());
864
		assertSearchResults(
864
		assertSearchResults(
865
				"src/j6/Bug54962.java j6.Bug54962 [ * @see §|j6|§] EXACT_MATCH INSIDE_JAVADOC\n" +
865
				"src/j6/Bug54962.java j6.Bug54962 [ * @see !|j6|!] EXACT_MATCH INSIDE_JAVADOC\n" +
866
				"src/j6/Bug54962.java j6.Bug54962 [ * @see §|j6|§.BUG54962] EXACT_MATCH INSIDE_JAVADOC\n" +
866
				"src/j6/Bug54962.java j6.Bug54962 [ * @see !|j6|!.BUG54962] EXACT_MATCH INSIDE_JAVADOC\n" +
867
				"src/j6/Bug54962.java j6.Bug54962 [ * @see §|j6|§.Bug54962] EXACT_MATCH INSIDE_JAVADOC\n" +
867
				"src/j6/Bug54962.java j6.Bug54962 [ * @see !|j6|!.Bug54962] EXACT_MATCH INSIDE_JAVADOC\n" +
868
				"src/j7/qua/li/fied/Bug54962a.java [import §|j6|§.Bug54962;] EXACT_MATCH OUTSIDE_JAVADOC",
868
				"src/j7/qua/li/fied/Bug54962a.java [import !|j6|!.Bug54962;] EXACT_MATCH OUTSIDE_JAVADOC",
869
			this.resultCollector);
869
			this.resultCollector);
870
	}
870
	}
871
	//	TODO (frederic) should no longer get POTENTIAL after 196200 got fixed
871
	//	TODO (frederic) should no longer get POTENTIAL after 196200 got fixed
Lines 876-884 Link Here
876
		IPackageDeclaration packDecl = getCompilationUnit("JavaSearch", "src", "j7.qua.li.fied", "Bug54962a.java").getPackageDeclaration("j7.qua.li.fied");
876
		IPackageDeclaration packDecl = getCompilationUnit("JavaSearch", "src", "j7.qua.li.fied", "Bug54962a.java").getPackageDeclaration("j7.qua.li.fied");
877
		search(packDecl, REFERENCES, getJavaSearchScope());
877
		search(packDecl, REFERENCES, getJavaSearchScope());
878
		assertSearchResults(
878
		assertSearchResults(
879
				"src/j7/qua/li/fied/Bug54962a.java j7.qua.li.fied.Bug54962a [ * @see §|j7.qua.li.fied|§] EXACT_MATCH INSIDE_JAVADOC\n" +
879
				"src/j7/qua/li/fied/Bug54962a.java j7.qua.li.fied.Bug54962a [ * @see !|j7.qua.li.fied|!] EXACT_MATCH INSIDE_JAVADOC\n" +
880
				"src/j7/qua/li/fied/Bug54962a.java j7.qua.li.fied.Bug54962a [ * @see §|j7.qua.li.fied|§.BUG54962a] EXACT_MATCH INSIDE_JAVADOC\n" +
880
				"src/j7/qua/li/fied/Bug54962a.java j7.qua.li.fied.Bug54962a [ * @see !|j7.qua.li.fied|!.BUG54962a] EXACT_MATCH INSIDE_JAVADOC\n" +
881
				"src/j7/qua/li/fied/Bug54962a.java j7.qua.li.fied.Bug54962a [ * @see §|j7.qua.li.fied|§.Bug54962a] EXACT_MATCH INSIDE_JAVADOC",
881
				"src/j7/qua/li/fied/Bug54962a.java j7.qua.li.fied.Bug54962a [ * @see !|j7.qua.li.fied|!.Bug54962a] EXACT_MATCH INSIDE_JAVADOC",
882
			this.resultCollector);
882
			this.resultCollector);
883
	}
883
	}
884
884
(-)src/org/eclipse/jdt/core/tests/model/JavaSearchTests.java (-5 / +5 lines)
Lines 3426-3434 Link Here
3426
		}),
3426
		}),
3427
		this.resultCollector);
3427
		this.resultCollector);
3428
	assertSearchResults(
3428
	assertSearchResults(
3429
			"src/b5/A.java b5.A.{} [    §|Zork|§[] zork = new Zork[0];] POTENTIAL_MATCH\n" +
3429
			"src/b5/A.java b5.A.{} [    !|Zork|![] zork = new Zork[0];] POTENTIAL_MATCH\n" +
3430
			"src/b5/A.java b5.A.{} [    Zork[] zork = new §|Zork|§[0];] POTENTIAL_MATCH\n" +
3430
			"src/b5/A.java b5.A.{} [    Zork[] zork = new !|Zork|![0];] POTENTIAL_MATCH\n" +
3431
			"src/b5/A.java b5.A.{} [    int i = §|Zork|§.foo;] POTENTIAL_MATCH",
3431
			"src/b5/A.java b5.A.{} [    int i = !|Zork|!.foo;] POTENTIAL_MATCH",
3432
		this.resultCollector);
3432
		this.resultCollector);
3433
}
3433
}
3434
/**
3434
/**
Lines 3613-3619 Link Here
3613
		scope,
3613
		scope,
3614
		this.resultCollector);
3614
		this.resultCollector);
3615
	assertSearchResults(
3615
	assertSearchResults(
3616
		"src/f2/X.java Object f2.X.foo1() [		return new §|Y|§();]",
3616
		"src/f2/X.java Object f2.X.foo1() [		return new !|Y|!();]",
3617
		this.resultCollector);
3617
		this.resultCollector);
3618
}
3618
}
3619
/*
3619
/*
Lines 3633-3639 Link Here
3633
		scope,
3633
		scope,
3634
		this.resultCollector);
3634
		this.resultCollector);
3635
	assertSearchResults(
3635
	assertSearchResults(
3636
		"src/f2/X.java Object f2.X.foo1() [		return new §|Y|§();]",
3636
		"src/f2/X.java Object f2.X.foo1() [		return new !|Y|!();]",
3637
		this.resultCollector);
3637
		this.resultCollector);
3638
}
3638
}
3639
/**
3639
/**

Return to bug 295894