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

Collapse All | Expand All

(-)src/org/eclipse/jdt/core/tests/dom/ASTModelBridgeTests.java (-8 / +8 lines)
Lines 215-221 Link Here
215
		IJavaElement element = binding.getJavaElement();
215
		IJavaElement element = binding.getJavaElement();
216
		assertElementEquals(
216
		assertElementEquals(
217
			"Unexpected Java element",
217
			"Unexpected Java element",
218
			"Object [in Object.class [in java.lang [in "+ getExternalJCLPathString("1.5") + " [in P]]]]",
218
			"Object [in Object.class [in java.lang [in "+ getExternalJCLPathString("1.5") + "]]]",
219
			element
219
			element
220
		);
220
		);
221
		assertTrue("Element should exist", element.exists());
221
		assertTrue("Element should exist", element.exists());
Lines 258-264 Link Here
258
		IJavaElement element = binding.getJavaElement();
258
		IJavaElement element = binding.getJavaElement();
259
		assertElementEquals(
259
		assertElementEquals(
260
			"Unexpected Java element",
260
			"Unexpected Java element",
261
			"Enum(java.lang.String, int) [in Enum [in Enum.class [in java.lang [in "+ getExternalJCLPathString("1.5") + " [in P]]]]]",
261
			"Enum(java.lang.String, int) [in Enum [in Enum.class [in java.lang [in "+ getExternalJCLPathString("1.5") + "]]]]",
262
			element
262
			element
263
		);
263
		);
264
		assertTrue("Element should exist", element.exists());
264
		assertTrue("Element should exist", element.exists());
Lines 301-307 Link Here
301
		IJavaElement element = binding.getJavaElement();
301
		IJavaElement element = binding.getJavaElement();
302
		assertElementEquals(
302
		assertElementEquals(
303
			"Unexpected Java element",
303
			"Unexpected Java element",
304
			"String [in String.class [in java.lang [in "+ getExternalJCLPathString("1.5") + " [in P]]]]",
304
			"String [in String.class [in java.lang [in "+ getExternalJCLPathString("1.5") + "]]]",
305
			element
305
			element
306
		);
306
		);
307
		assertTrue("Element should exist", element.exists());
307
		assertTrue("Element should exist", element.exists());
Lines 374-380 Link Here
374
			IJavaElement element = binding.getJavaElement();
374
			IJavaElement element = binding.getJavaElement();
375
			assertElementEquals(
375
			assertElementEquals(
376
				"Unexpected Java element",
376
				"Unexpected Java element",
377
				"String [in String.class [in java.lang [in "+ getExternalJCLPathString("1.5") + " [in P1]]]]",
377
				"String [in String.class [in java.lang [in "+ getExternalJCLPathString("1.5") + "]]]",
378
				element
378
				element
379
			);
379
			);
380
			assertTrue("Element should exist", element.exists());
380
			assertTrue("Element should exist", element.exists());
Lines 1200-1206 Link Here
1200
		IJavaElement element = binding.getJavaElement();
1200
		IJavaElement element = binding.getJavaElement();
1201
		assertElementEquals(
1201
		assertElementEquals(
1202
			"Unexpected Java element",
1202
			"Unexpected Java element",
1203
			"java.lang [in "+ getExternalJCLPathString("1.5") + " [in P]]",
1203
			"java.lang [in "+ getExternalJCLPathString("1.5") + "]",
1204
			element
1204
			element
1205
		);
1205
		);
1206
		assertTrue("Element should exist", element.exists());
1206
		assertTrue("Element should exist", element.exists());
Lines 1242-1248 Link Here
1242
		IJavaElement element = binding.getJavaElement();
1242
		IJavaElement element = binding.getJavaElement();
1243
		assertElementEquals(
1243
		assertElementEquals(
1244
			"Unexpected Java element",
1244
			"Unexpected Java element",
1245
			"Comparable [in Comparable.class [in java.lang [in "+ getExternalJCLPathString("1.5") + " [in P]]]]",
1245
			"Comparable [in Comparable.class [in java.lang [in "+ getExternalJCLPathString("1.5") + "]]]",
1246
			element
1246
			element
1247
		);
1247
		);
1248
		assertTrue("Element should exist", element.exists());
1248
		assertTrue("Element should exist", element.exists());
Lines 1286-1292 Link Here
1286
		IJavaElement element = binding.getJavaElement();
1286
		IJavaElement element = binding.getJavaElement();
1287
		assertElementEquals(
1287
		assertElementEquals(
1288
			"Unexpected Java element",
1288
			"Unexpected Java element",
1289
			"Comparable [in Comparable.class [in java.lang [in "+ getExternalJCLPathString("1.5") + " [in P]]]]",
1289
			"Comparable [in Comparable.class [in java.lang [in "+ getExternalJCLPathString("1.5") + "]]]",
1290
			element
1290
			element
1291
		);
1291
		);
1292
		assertTrue("Element should exist", element.exists());
1292
		assertTrue("Element should exist", element.exists());
Lines 1355-1361 Link Here
1355
		IJavaElement element = binding.getJavaElement();
1355
		IJavaElement element = binding.getJavaElement();
1356
		assertElementEquals(
1356
		assertElementEquals(
1357
			"Unexpected Java element",
1357
			"Unexpected Java element",
1358
			"String [in String.class [in java.lang [in "+ getExternalJCLPathString("1.5") + " [in P]]]]",
1358
			"String [in String.class [in java.lang [in "+ getExternalJCLPathString("1.5") + "]]]",
1359
			element
1359
			element
1360
		);
1360
		);
1361
		assertTrue("Element should exist", element.exists());
1361
		assertTrue("Element should exist", element.exists());
(-)src/org/eclipse/jdt/core/tests/model/ResolveTests.java (-8 / +8 lines)
Lines 302-308 Link Here
302
	IJavaElement[] elements = codeSelect(cu, "ject", "");
302
	IJavaElement[] elements = codeSelect(cu, "ject", "");
303
	assertElementsEqual(
303
	assertElementsEqual(
304
		"Unexpected elements",
304
		"Unexpected elements",
305
		"Object [in Object.class [in java.lang [in "+ getExternalJCLPathString() + " [in Resolve]]]]",
305
		"Object [in Object.class [in java.lang [in "+ getExternalJCLPathString() + "]]]",
306
		elements
306
		elements
307
	);
307
	);
308
}
308
}
Lines 314-320 Link Here
314
	IJavaElement[] elements = codeSelect(cu, "Obj", "");
314
	IJavaElement[] elements = codeSelect(cu, "Obj", "");
315
	assertElementsEqual(
315
	assertElementsEqual(
316
		"Unexpected elements",
316
		"Unexpected elements",
317
		"Object [in Object.class [in java.lang [in "+ getExternalJCLPathString() + " [in Resolve]]]]",
317
		"Object [in Object.class [in java.lang [in "+ getExternalJCLPathString() + "]]]",
318
		elements
318
		elements
319
	);
319
	);
320
}
320
}
Lines 413-419 Link Here
413
	IJavaElement[] elements = codeSelect(cf, "Object", "Object");
413
	IJavaElement[] elements = codeSelect(cf, "Object", "Object");
414
	assertElementsEqual(
414
	assertElementsEqual(
415
		"Unexpected elements",
415
		"Unexpected elements",
416
		"Object [in Object.class [in java.lang [in "+ getExternalJCLPathString() + " [in Resolve]]]]",
416
		"Object [in Object.class [in java.lang [in "+ getExternalJCLPathString() + "]]]",
417
		elements
417
		elements
418
	);
418
	);
419
}
419
}
Lines 1008-1014 Link Here
1008
	IJavaElement[] elements = codeSelect(cu, "lang.\\u0053tring", "lang.\\u0053tring");
1008
	IJavaElement[] elements = codeSelect(cu, "lang.\\u0053tring", "lang.\\u0053tring");
1009
	assertElementsEqual(
1009
	assertElementsEqual(
1010
		"Unexpected elements",
1010
		"Unexpected elements",
1011
		"String [in String.class [in java.lang [in "+ getExternalJCLPathString() + " [in Resolve]]]]",
1011
		"String [in String.class [in java.lang [in "+ getExternalJCLPathString() + "]]]",
1012
		elements
1012
		elements
1013
	);
1013
	);
1014
}
1014
}
Lines 1020-1026 Link Here
1020
	IJavaElement[] elements = codeSelect(cu, "lang", "lang");
1020
	IJavaElement[] elements = codeSelect(cu, "lang", "lang");
1021
	assertElementsEqual(
1021
	assertElementsEqual(
1022
		"Unexpected elements",
1022
		"Unexpected elements",
1023
		"java.lang [in " + getExternalJCLPathString() + " [in Resolve]]",
1023
		"java.lang [in " + getExternalJCLPathString() + "]",
1024
		elements
1024
		elements
1025
	);
1025
	);
1026
}
1026
}
Lines 1032-1038 Link Here
1032
	IJavaElement[] elements = codeSelect(cu, "lang.Object", "lang.Object");
1032
	IJavaElement[] elements = codeSelect(cu, "lang.Object", "lang.Object");
1033
	assertElementsEqual(
1033
	assertElementsEqual(
1034
		"Unexpected elements",
1034
		"Unexpected elements",
1035
		"Object [in Object.class [in java.lang [in "+ getExternalJCLPathString() + " [in Resolve]]]]",
1035
		"Object [in Object.class [in java.lang [in "+ getExternalJCLPathString() + "]]]",
1036
		elements
1036
		elements
1037
	);
1037
	);
1038
}
1038
}
Lines 1044-1050 Link Here
1044
	IJavaElement[] elements = codeSelect(cu, "java.lang.Object", "java.lang.Object");
1044
	IJavaElement[] elements = codeSelect(cu, "java.lang.Object", "java.lang.Object");
1045
	assertElementsEqual(
1045
	assertElementsEqual(
1046
		"Unexpected elements",
1046
		"Unexpected elements",
1047
		"Object [in Object.class [in java.lang [in "+ getExternalJCLPathString() + " [in Resolve]]]]",
1047
		"Object [in Object.class [in java.lang [in "+ getExternalJCLPathString() + "]]]",
1048
		elements
1048
		elements
1049
	);
1049
	);
1050
}
1050
}
Lines 1092-1098 Link Here
1092
	IJavaElement[] elements = codeSelect(cu, "java.lang.\\u0053tring", "java.lang.\\u0053tring");
1092
	IJavaElement[] elements = codeSelect(cu, "java.lang.\\u0053tring", "java.lang.\\u0053tring");
1093
	assertElementsEqual(
1093
	assertElementsEqual(
1094
		"Unexpected elements",
1094
		"Unexpected elements",
1095
		"String [in String.class [in java.lang [in "+ getExternalJCLPathString() + " [in Resolve]]]]",
1095
		"String [in String.class [in java.lang [in "+ getExternalJCLPathString() + "]]]",
1096
		elements
1096
		elements
1097
	);
1097
	);
1098
}
1098
}
(-)src/org/eclipse/jdt/core/tests/model/HierarchyOnWorkingCopiesTests.java (-2 / +2 lines)
Lines 58-64 Link Here
58
		assertHierarchyEquals(
58
		assertHierarchyEquals(
59
			"Focus: B [in B.java [in x.y [in src [in P]]]]\n" + 
59
			"Focus: B [in B.java [in x.y [in src [in P]]]]\n" + 
60
			"Super types:\n" + 
60
			"Super types:\n" + 
61
			"  Object [in Object.class [in java.lang [in "+ getExternalJCLPathString() + " [in P]]]]\n" + 
61
			"  Object [in Object.class [in java.lang [in "+ getExternalJCLPathString() + "]]]\n" + 
62
			"Sub types:\n" + 
62
			"Sub types:\n" + 
63
			"  A [in [Working copy] A.java [in x.y [in src [in P]]]]\n",
63
			"  A [in [Working copy] A.java [in x.y [in src [in P]]]]\n",
64
			h);
64
			h);
Lines 95-101 Link Here
95
			"Focus: C [in C.java [in x.y [in src [in P]]]]\n" + 
95
			"Focus: C [in C.java [in x.y [in src [in P]]]]\n" + 
96
			"Super types:\n" + 
96
			"Super types:\n" + 
97
			"  B [in [Working copy] A.java [in x.y [in src [in P]]]]\n" + 
97
			"  B [in [Working copy] A.java [in x.y [in src [in P]]]]\n" + 
98
			"    Object [in Object.class [in java.lang [in "+ getExternalJCLPathString() + " [in P]]]]\n" + 
98
			"    Object [in Object.class [in java.lang [in "+ getExternalJCLPathString() + "]]]\n" + 
99
			"Sub types:\n",
99
			"Sub types:\n",
100
			h);
100
			h);
101
	} finally {
101
	} finally {
(-)src/org/eclipse/jdt/core/tests/model/SelectionJavadocModelTests.java (-12 / +12 lines)
Lines 179-188 Link Here
179
			"Test [in [Working copy] Test.java [in <default> [in <project root> [in Tests]]]]\n" + 
179
			"Test [in [Working copy] Test.java [in <default> [in <project root> [in Tests]]]]\n" + 
180
			"field [in Test [in [Working copy] Test.java [in <default> [in <project root> [in Tests]]]]]\n" + 
180
			"field [in Test [in [Working copy] Test.java [in <default> [in <project root> [in Tests]]]]]\n" + 
181
			"foo(int, String) [in Test [in [Working copy] Test.java [in <default> [in <project root> [in Tests]]]]]\n" + 
181
			"foo(int, String) [in Test [in [Working copy] Test.java [in <default> [in <project root> [in Tests]]]]]\n" + 
182
			"String [in String.class [in java.lang [in "+ getExternalJCLPathString("1.5") + " [in Tests]]]]\n" + 
182
			"String [in String.class [in java.lang [in "+ getExternalJCLPathString("1.5") + "]]]\n" + 
183
			"Test [in [Working copy] Test.java [in <default> [in <project root> [in Tests]]]]\n" + 
183
			"Test [in [Working copy] Test.java [in <default> [in <project root> [in Tests]]]]\n" + 
184
			"foo(int, String) [in Test [in [Working copy] Test.java [in <default> [in <project root> [in Tests]]]]]\n" + 
184
			"foo(int, String) [in Test [in [Working copy] Test.java [in <default> [in <project root> [in Tests]]]]]\n" + 
185
			"String [in String.class [in java.lang [in "+ getExternalJCLPathString("1.5") + " [in Tests]]]]",
185
			"String [in String.class [in java.lang [in "+ getExternalJCLPathString("1.5") + "]]]",
186
			elements
186
			elements
187
		);
187
		);
188
	}
188
	}
Lines 214-223 Link Here
214
			"Test [in [Working copy] Test.java [in <default> [in <project root> [in Tests]]]]\n" + 
214
			"Test [in [Working copy] Test.java [in <default> [in <project root> [in Tests]]]]\n" + 
215
			"field [in Test [in [Working copy] Test.java [in <default> [in <project root> [in Tests]]]]]\n" + 
215
			"field [in Test [in [Working copy] Test.java [in <default> [in <project root> [in Tests]]]]]\n" + 
216
			"foo(int, String) [in Test [in [Working copy] Test.java [in <default> [in <project root> [in Tests]]]]]\n" + 
216
			"foo(int, String) [in Test [in [Working copy] Test.java [in <default> [in <project root> [in Tests]]]]]\n" + 
217
			"String [in String.class [in java.lang [in "+ getExternalJCLPathString("1.5") + " [in Tests]]]]\n" + 
217
			"String [in String.class [in java.lang [in "+ getExternalJCLPathString("1.5") + "]]]\n" + 
218
			"Test [in [Working copy] Test.java [in <default> [in <project root> [in Tests]]]]\n" + 
218
			"Test [in [Working copy] Test.java [in <default> [in <project root> [in Tests]]]]\n" + 
219
			"foo(int, String) [in Test [in [Working copy] Test.java [in <default> [in <project root> [in Tests]]]]]\n" + 
219
			"foo(int, String) [in Test [in [Working copy] Test.java [in <default> [in <project root> [in Tests]]]]]\n" + 
220
			"String [in String.class [in java.lang [in "+ getExternalJCLPathString("1.5") + " [in Tests]]]]",
220
			"String [in String.class [in java.lang [in "+ getExternalJCLPathString("1.5") + "]]]",
221
			elements
221
			elements
222
		);
222
		);
223
	}
223
	}
Lines 258-264 Link Here
258
			"field [in Test [in [Working copy] Test.java [in test.junit [in <project root> [in Tests]]]]]\n" + 
258
			"field [in Test [in [Working copy] Test.java [in test.junit [in <project root> [in Tests]]]]]\n" + 
259
			"Test [in [Working copy] Test.java [in test.junit [in <project root> [in Tests]]]]\n" + 
259
			"Test [in [Working copy] Test.java [in test.junit [in <project root> [in Tests]]]]\n" + 
260
			"foo(Object[]) [in Test [in [Working copy] Test.java [in test.junit [in <project root> [in Tests]]]]]\n" + 
260
			"foo(Object[]) [in Test [in [Working copy] Test.java [in test.junit [in <project root> [in Tests]]]]]\n" + 
261
			"Object [in Object.class [in java.lang [in "+ getExternalJCLPathString("1.5") + " [in Tests]]]]",
261
			"Object [in Object.class [in java.lang [in "+ getExternalJCLPathString("1.5") + "]]]",
262
			elements
262
			elements
263
		);
263
		);
264
	}
264
	}
Lines 298-304 Link Here
298
			"field [in Test [in [Working copy] Test.java [in test.junit [in <project root> [in Tests]]]]]\n" + 
298
			"field [in Test [in [Working copy] Test.java [in test.junit [in <project root> [in Tests]]]]]\n" + 
299
			"Test [in [Working copy] Test.java [in test.junit [in <project root> [in Tests]]]]\n" + 
299
			"Test [in [Working copy] Test.java [in test.junit [in <project root> [in Tests]]]]\n" + 
300
			"foo(Object[]) [in Test [in [Working copy] Test.java [in test.junit [in <project root> [in Tests]]]]]\n" + 
300
			"foo(Object[]) [in Test [in [Working copy] Test.java [in test.junit [in <project root> [in Tests]]]]]\n" + 
301
			"Object [in Object.class [in java.lang [in "+ getExternalJCLPathString("1.5") + " [in Tests]]]]",
301
			"Object [in Object.class [in java.lang [in "+ getExternalJCLPathString("1.5") + "]]]",
302
			elements
302
			elements
303
		);
303
		);
304
	}
304
	}
Lines 317-324 Link Here
317
		elements[0] = selectType(this.workingCopies[0], "RuntimeException");
317
		elements[0] = selectType(this.workingCopies[0], "RuntimeException");
318
		elements[1] = selectType(this.workingCopies[0], "InterruptedException");
318
		elements[1] = selectType(this.workingCopies[0], "InterruptedException");
319
		assertElementsEqual("Invalid selection(s)",
319
		assertElementsEqual("Invalid selection(s)",
320
			"RuntimeException [in RuntimeException.class [in java.lang [in "+ getExternalJCLPathString("1.5") + " [in Tests]]]]\n" + 
320
			"RuntimeException [in RuntimeException.class [in java.lang [in "+ getExternalJCLPathString("1.5") + "]]]\n" + 
321
			"InterruptedException [in InterruptedException.class [in java.lang [in "+ getExternalJCLPathString("1.5") + " [in Tests]]]]",
321
			"InterruptedException [in InterruptedException.class [in java.lang [in "+ getExternalJCLPathString("1.5") + "]]]",
322
			elements
322
			elements
323
		);
323
		);
324
	}
324
	}
Lines 337-344 Link Here
337
		elements[0] = selectType(this.workingCopies[0], "RuntimeException");
337
		elements[0] = selectType(this.workingCopies[0], "RuntimeException");
338
		elements[1] = selectType(this.workingCopies[0], "InterruptedException");
338
		elements[1] = selectType(this.workingCopies[0], "InterruptedException");
339
		assertElementsEqual("Invalid selection(s)",
339
		assertElementsEqual("Invalid selection(s)",
340
			"RuntimeException [in RuntimeException.class [in java.lang [in "+ getExternalJCLPathString("1.5") + " [in Tests]]]]\n" + 
340
			"RuntimeException [in RuntimeException.class [in java.lang [in "+ getExternalJCLPathString("1.5") + "]]]\n" + 
341
			"InterruptedException [in InterruptedException.class [in java.lang [in "+ getExternalJCLPathString("1.5") + " [in Tests]]]]",
341
			"InterruptedException [in InterruptedException.class [in java.lang [in "+ getExternalJCLPathString("1.5") + "]]]",
342
			elements
342
			elements
343
		);
343
		);
344
	}
344
	}
Lines 461-468 Link Here
461
			"foo(int, String) [in Method [in [Working copy] Test.java [in <default> [in <project root> [in Tests]]]]]\n" + 
461
			"foo(int, String) [in Method [in [Working copy] Test.java [in <default> [in <project root> [in Tests]]]]]\n" + 
462
			"xxx [in foo(int, String) [in Method [in [Working copy] Test.java [in <default> [in <project root> [in Tests]]]]]]\n" + 
462
			"xxx [in foo(int, String) [in Method [in [Working copy] Test.java [in <default> [in <project root> [in Tests]]]]]]\n" + 
463
			"str [in foo(int, String) [in Method [in [Working copy] Test.java [in <default> [in <project root> [in Tests]]]]]]\n" + 
463
			"str [in foo(int, String) [in Method [in [Working copy] Test.java [in <default> [in <project root> [in Tests]]]]]]\n" + 
464
			"RuntimeException [in RuntimeException.class [in java.lang [in "+ getExternalJCLPathString("1.5") + " [in Tests]]]]\n" + 
464
			"RuntimeException [in RuntimeException.class [in java.lang [in "+ getExternalJCLPathString("1.5") + "]]]\n" + 
465
			"InterruptedException [in InterruptedException.class [in java.lang [in "+ getExternalJCLPathString("1.5") + " [in Tests]]]]",
465
			"InterruptedException [in InterruptedException.class [in java.lang [in "+ getExternalJCLPathString("1.5") + "]]]",
466
			elements
466
			elements
467
		);
467
		);
468
	}
468
	}
(-)src/org/eclipse/jdt/core/tests/model/TypeHierarchyTests.java (-41 / +41 lines)
Lines 172-178 Link Here
172
		"Focus: <anonymous #1> [in <initializer #1> [in A [in A.java [in p7 [in src [in TypeHierarchy]]]]]]\n" + 
172
		"Focus: <anonymous #1> [in <initializer #1> [in A [in A.java [in p7 [in src [in TypeHierarchy]]]]]]\n" + 
173
		"Super types:\n" + 
173
		"Super types:\n" + 
174
		"  X [in X.java [in p7 [in src [in TypeHierarchy]]]]\n" + 
174
		"  X [in X.java [in p7 [in src [in TypeHierarchy]]]]\n" + 
175
		"    Object [in Object.class [in java.lang [in "+ getExternalJCLPathString() + " [in TypeHierarchy]]]]\n" + 
175
		"    Object [in Object.class [in java.lang [in "+ getExternalJCLPathString() + "]]]\n" + 
176
		"Sub types:\n",
176
		"Sub types:\n",
177
		hierarchy);
177
		hierarchy);
178
}
178
}
Lines 187-193 Link Here
187
		"Focus: <anonymous #1> [in <initializer #2> [in A [in A.java [in p7 [in src [in TypeHierarchy]]]]]]\n" + 
187
		"Focus: <anonymous #1> [in <initializer #2> [in A [in A.java [in p7 [in src [in TypeHierarchy]]]]]]\n" + 
188
		"Super types:\n" + 
188
		"Super types:\n" + 
189
		"  X [in X.java [in p7 [in src [in TypeHierarchy]]]]\n" + 
189
		"  X [in X.java [in p7 [in src [in TypeHierarchy]]]]\n" + 
190
		"    Object [in Object.class [in java.lang [in "+ getExternalJCLPathString() + " [in TypeHierarchy]]]]\n" + 
190
		"    Object [in Object.class [in java.lang [in "+ getExternalJCLPathString() + "]]]\n" + 
191
		"Sub types:\n",
191
		"Sub types:\n",
192
		hierarchy);
192
		hierarchy);
193
}
193
}
Lines 202-208 Link Here
202
		"Focus: <anonymous #1> [in field1 [in A [in A.java [in p7 [in src [in TypeHierarchy]]]]]]\n" + 
202
		"Focus: <anonymous #1> [in field1 [in A [in A.java [in p7 [in src [in TypeHierarchy]]]]]]\n" + 
203
		"Super types:\n" + 
203
		"Super types:\n" + 
204
		"  X [in X.java [in p7 [in src [in TypeHierarchy]]]]\n" + 
204
		"  X [in X.java [in p7 [in src [in TypeHierarchy]]]]\n" + 
205
		"    Object [in Object.class [in java.lang [in "+ getExternalJCLPathString() + " [in TypeHierarchy]]]]\n" + 
205
		"    Object [in Object.class [in java.lang [in "+ getExternalJCLPathString() + "]]]\n" + 
206
		"Sub types:\n",
206
		"Sub types:\n",
207
		hierarchy);
207
		hierarchy);
208
}
208
}
Lines 217-223 Link Here
217
		"Focus: <anonymous #1> [in field2 [in A [in A.java [in p7 [in src [in TypeHierarchy]]]]]]\n" + 
217
		"Focus: <anonymous #1> [in field2 [in A [in A.java [in p7 [in src [in TypeHierarchy]]]]]]\n" + 
218
		"Super types:\n" + 
218
		"Super types:\n" + 
219
		"  X [in X.java [in p7 [in src [in TypeHierarchy]]]]\n" + 
219
		"  X [in X.java [in p7 [in src [in TypeHierarchy]]]]\n" + 
220
		"    Object [in Object.class [in java.lang [in "+ getExternalJCLPathString() + " [in TypeHierarchy]]]]\n" + 
220
		"    Object [in Object.class [in java.lang [in "+ getExternalJCLPathString() + "]]]\n" + 
221
		"Sub types:\n",
221
		"Sub types:\n",
222
		hierarchy);
222
		hierarchy);
223
	type = typeA.getField("field2").getType("", 2);
223
	type = typeA.getField("field2").getType("", 2);
Lines 226-232 Link Here
226
		"Focus: <anonymous #2> [in field2 [in A [in A.java [in p7 [in src [in TypeHierarchy]]]]]]\n" + 
226
		"Focus: <anonymous #2> [in field2 [in A [in A.java [in p7 [in src [in TypeHierarchy]]]]]]\n" + 
227
		"Super types:\n" + 
227
		"Super types:\n" + 
228
		"  X [in X.java [in p7 [in src [in TypeHierarchy]]]]\n" + 
228
		"  X [in X.java [in p7 [in src [in TypeHierarchy]]]]\n" + 
229
		"    Object [in Object.class [in java.lang [in "+ getExternalJCLPathString() + " [in TypeHierarchy]]]]\n" + 
229
		"    Object [in Object.class [in java.lang [in "+ getExternalJCLPathString() + "]]]\n" + 
230
		"Sub types:\n",
230
		"Sub types:\n",
231
		hierarchy);
231
		hierarchy);
232
}
232
}
Lines 241-247 Link Here
241
		"Focus: <anonymous #1> [in foo() [in A [in A.java [in p7 [in src [in TypeHierarchy]]]]]]\n" + 
241
		"Focus: <anonymous #1> [in foo() [in A [in A.java [in p7 [in src [in TypeHierarchy]]]]]]\n" + 
242
		"Super types:\n" + 
242
		"Super types:\n" + 
243
		"  X [in X.java [in p7 [in src [in TypeHierarchy]]]]\n" + 
243
		"  X [in X.java [in p7 [in src [in TypeHierarchy]]]]\n" + 
244
		"    Object [in Object.class [in java.lang [in "+ getExternalJCLPathString() + " [in TypeHierarchy]]]]\n" + 
244
		"    Object [in Object.class [in java.lang [in "+ getExternalJCLPathString() + "]]]\n" + 
245
		"Sub types:\n",
245
		"Sub types:\n",
246
		hierarchy);
246
		hierarchy);
247
}
247
}
Lines 257-263 Link Here
257
		"Focus: <anonymous #1> [in foo() [in X [in X.java [in p8 [in src [in TypeHierarchy]]]]]]\n" + 
257
		"Focus: <anonymous #1> [in foo() [in X [in X.java [in p8 [in src [in TypeHierarchy]]]]]]\n" + 
258
		"Super types:\n" + 
258
		"Super types:\n" + 
259
		"  X [in X.java [in p8 [in src [in TypeHierarchy]]]]\n" + 
259
		"  X [in X.java [in p8 [in src [in TypeHierarchy]]]]\n" + 
260
		"    Object [in Object.class [in java.lang [in "+ getExternalJCLPathString() + " [in TypeHierarchy]]]]\n" + 
260
		"    Object [in Object.class [in java.lang [in "+ getExternalJCLPathString() + "]]]\n" + 
261
		"Sub types:\n",
261
		"Sub types:\n",
262
		hierarchy);
262
		hierarchy);
263
}
263
}
Lines 332-338 Link Here
332
	assertHierarchyEquals(
332
	assertHierarchyEquals(
333
		"Focus: X48459 [in X48459.java [in p48459.p1 [in src [in TypeHierarchy]]]]\n" + 
333
		"Focus: X48459 [in X48459.java [in p48459.p1 [in src [in TypeHierarchy]]]]\n" + 
334
		"Super types:\n" + 
334
		"Super types:\n" + 
335
		"  Object [in Object.class [in java.lang [in "+ getExternalJCLPathString() + " [in TypeHierarchy]]]]\n" + 
335
		"  Object [in Object.class [in java.lang [in "+ getExternalJCLPathString() + "]]]\n" + 
336
		"Sub types:\n" + 
336
		"Sub types:\n" + 
337
		"  <anonymous #1> [in foo [in Z48459 [in Z48459.java [in p48459.p1 [in src [in TypeHierarchy]]]]]]\n" + 
337
		"  <anonymous #1> [in foo [in Z48459 [in Z48459.java [in p48459.p1 [in src [in TypeHierarchy]]]]]]\n" + 
338
		"  Y48459 [in Y48459.class [in p48459.p2 [in lib48459 [in TypeHierarchy]]]]\n",
338
		"  Y48459 [in Y48459.class [in p48459.p2 [in lib48459 [in TypeHierarchy]]]]\n",
Lines 430-439 Link Here
430
		IJavaProject project = createJavaProject("P", new String[] {}, new String[] {"JCL_LIB", externalJar1, externalJar2}, "");
430
		IJavaProject project = createJavaProject("P", new String[] {}, new String[] {"JCL_LIB", externalJar1, externalJar2}, "");
431
		IType focus = project.getPackageFragmentRoot(externalJar2).getPackageFragment("p").getClassFile("Y.class").getType();
431
		IType focus = project.getPackageFragmentRoot(externalJar2).getPackageFragment("p").getClassFile("Y.class").getType();
432
		assertHierarchyEquals(
432
		assertHierarchyEquals(
433
			"Focus: Y [in Y.class [in p [in " + externalJar2 + " [in P]]]]\n" + 
433
			"Focus: Y [in Y.class [in p [in " + externalJar2 + "]]]\n" + 
434
			"Super types:\n" + 
434
			"Super types:\n" + 
435
			"  X [in X.class [in p [in " + externalJar1 + " [in P]]]]\n" + 
435
			"  X [in X.class [in p [in " + externalJar1 + "]]]\n" + 
436
			"    Object [in Object.class [in java.lang [in "+ getExternalJCLPathString() + " [in P]]]]\n" + 
436
			"    Object [in Object.class [in java.lang [in "+ getExternalJCLPathString() + "]]]\n" + 
437
			"Sub types:\n",
437
			"Sub types:\n",
438
			focus.newTypeHierarchy(null)
438
			focus.newTypeHierarchy(null)
439
		);
439
		);
Lines 499-505 Link Here
499
		"Focus: CycleParent [in CycleParent.java [in <default> [in src [in TypeHierarchy15]]]]\n" + 
499
		"Focus: CycleParent [in CycleParent.java [in <default> [in src [in TypeHierarchy15]]]]\n" + 
500
		"Super types:\n" + 
500
		"Super types:\n" + 
501
		"  CycleBase [in CycleBase.java [in <default> [in src [in TypeHierarchy15]]]]\n" + 
501
		"  CycleBase [in CycleBase.java [in <default> [in src [in TypeHierarchy15]]]]\n" + 
502
		"    Object [in Object.class [in java.lang [in "+ getExternalJCLPathString("1.5") + " [in TypeHierarchy15]]]]\n" + 
502
		"    Object [in Object.class [in java.lang [in "+ getExternalJCLPathString("1.5") + "]]]\n" + 
503
		"Sub types:\n",
503
		"Sub types:\n",
504
		hierarchy
504
		hierarchy
505
	);
505
	);
Lines 521-527 Link Here
521
		assertHierarchyEquals(
521
		assertHierarchyEquals(
522
			"Focus: X [in X.java [in q4 [in src [in TypeHierarchy]]]]\n" + 
522
			"Focus: X [in X.java [in q4 [in src [in TypeHierarchy]]]]\n" + 
523
			"Super types:\n" + 
523
			"Super types:\n" + 
524
			"  Object [in Object.class [in java.lang [in "+ getExternalJCLPathString() + " [in TypeHierarchy]]]]\n" + 
524
			"  Object [in Object.class [in java.lang [in "+ getExternalJCLPathString() + "]]]\n" + 
525
			"Sub types:\n",
525
			"Sub types:\n",
526
			hierarchy);
526
			hierarchy);
527
    } finally {
527
    } finally {
Lines 538-544 Link Here
538
	assertHierarchyEquals(
538
	assertHierarchyEquals(
539
		"Focus: X [in X.java [in p7 [in src [in TypeHierarchy]]]]\n" + 
539
		"Focus: X [in X.java [in p7 [in src [in TypeHierarchy]]]]\n" + 
540
		"Super types:\n" + 
540
		"Super types:\n" + 
541
		"  Object [in Object.class [in java.lang [in "+ getExternalJCLPathString() + " [in TypeHierarchy]]]]\n" + 
541
		"  Object [in Object.class [in java.lang [in "+ getExternalJCLPathString() + "]]]\n" + 
542
		"Sub types:\n" + 
542
		"Sub types:\n" + 
543
		"  <anonymous #1> [in <initializer #2> [in A [in A.java [in p7 [in src [in TypeHierarchy]]]]]]\n" + 
543
		"  <anonymous #1> [in <initializer #2> [in A [in A.java [in p7 [in src [in TypeHierarchy]]]]]]\n" + 
544
		"    Y2 [in foo() [in A [in A.java [in p7 [in src [in TypeHierarchy]]]]]]\n" + 
544
		"    Y2 [in foo() [in A [in A.java [in p7 [in src [in TypeHierarchy]]]]]]\n" + 
Lines 565-571 Link Here
565
		"  List [in List.class [in util [in lib15.jar [in TypeHierarchy15]]]]\n" + 
565
		"  List [in List.class [in util [in lib15.jar [in TypeHierarchy15]]]]\n" + 
566
		"    AbstractList [in AbstractList.class [in util [in lib15.jar [in TypeHierarchy15]]]]\n" + 
566
		"    AbstractList [in AbstractList.class [in util [in lib15.jar [in TypeHierarchy15]]]]\n" + 
567
		"    List [in List.class [in util [in lib15.jar [in TypeHierarchy15]]]]\n" + 
567
		"    List [in List.class [in util [in lib15.jar [in TypeHierarchy15]]]]\n" + 
568
		"      Object [in Object.class [in java.lang [in "+ getExternalJCLPathString("1.5") + " [in TypeHierarchy15]]]]\n" + 
568
		"      Object [in Object.class [in java.lang [in "+ getExternalJCLPathString("1.5") + "]]]\n" + 
569
		"Sub types:\n",
569
		"Sub types:\n",
570
		hierarchy
570
		hierarchy
571
	);
571
	);
Lines 581-587 Link Here
581
		"Super types:\n" + 
581
		"Super types:\n" + 
582
		"  AbstractList [in AbstractList.class [in util [in lib15.jar [in TypeHierarchy15]]]]\n" + 
582
		"  AbstractList [in AbstractList.class [in util [in lib15.jar [in TypeHierarchy15]]]]\n" + 
583
		"  List [in List.class [in util [in lib15.jar [in TypeHierarchy15]]]]\n" + 
583
		"  List [in List.class [in util [in lib15.jar [in TypeHierarchy15]]]]\n" + 
584
		"    Object [in Object.class [in java.lang [in "+ getExternalJCLPathString("1.5") + " [in TypeHierarchy15]]]]\n" + 
584
		"    Object [in Object.class [in java.lang [in "+ getExternalJCLPathString("1.5") + "]]]\n" + 
585
		"Sub types:\n" + 
585
		"Sub types:\n" + 
586
		"  X [in X.java [in <default> [in src [in TypeHierarchy15]]]]\n" + 
586
		"  X [in X.java [in <default> [in src [in TypeHierarchy15]]]]\n" + 
587
		"  Y [in Y.java [in <default> [in src [in TypeHierarchy15]]]]\n",
587
		"  Y [in Y.java [in <default> [in src [in TypeHierarchy15]]]]\n",
Lines 601-607 Link Here
601
		"  List [in List.class [in util [in lib15.jar [in TypeHierarchy15]]]]\n" + 
601
		"  List [in List.class [in util [in lib15.jar [in TypeHierarchy15]]]]\n" + 
602
		"    AbstractList [in AbstractList.class [in util [in lib15.jar [in TypeHierarchy15]]]]\n" + 
602
		"    AbstractList [in AbstractList.class [in util [in lib15.jar [in TypeHierarchy15]]]]\n" + 
603
		"    List [in List.class [in util [in lib15.jar [in TypeHierarchy15]]]]\n" + 
603
		"    List [in List.class [in util [in lib15.jar [in TypeHierarchy15]]]]\n" + 
604
		"      Object [in Object.class [in java.lang [in "+ getExternalJCLPathString("1.5") + " [in TypeHierarchy15]]]]\n" + 
604
		"      Object [in Object.class [in java.lang [in "+ getExternalJCLPathString("1.5") + "]]]\n" + 
605
		"Sub types:\n",
605
		"Sub types:\n",
606
		hierarchy
606
		hierarchy
607
	);
607
	);
Lines 620-626 Link Here
620
		"  List [in List.class [in util [in lib15.jar [in TypeHierarchy15]]]]\n" + 
620
		"  List [in List.class [in util [in lib15.jar [in TypeHierarchy15]]]]\n" + 
621
		"    AbstractList [in AbstractList.class [in util [in lib15.jar [in TypeHierarchy15]]]]\n" + 
621
		"    AbstractList [in AbstractList.class [in util [in lib15.jar [in TypeHierarchy15]]]]\n" + 
622
		"    List [in List.class [in util [in lib15.jar [in TypeHierarchy15]]]]\n" + 
622
		"    List [in List.class [in util [in lib15.jar [in TypeHierarchy15]]]]\n" + 
623
		"      Object [in Object.class [in java.lang [in "+ getExternalJCLPathString("1.5") + " [in TypeHierarchy15]]]]\n" + 
623
		"      Object [in Object.class [in java.lang [in "+ getExternalJCLPathString("1.5") + "]]]\n" + 
624
		"Sub types:\n",
624
		"Sub types:\n",
625
		hierarchy
625
		hierarchy
626
	);
626
	);
Lines 661-667 Link Here
661
	assertHierarchyEquals(
661
	assertHierarchyEquals(
662
		"Focus: Y99606 [in Y99606.java [in <default> [in src [in TypeHierarchy15]]]]\n" + 
662
		"Focus: Y99606 [in Y99606.java [in <default> [in src [in TypeHierarchy15]]]]\n" + 
663
		"Super types:\n" + 
663
		"Super types:\n" + 
664
		"  Object [in Object.class [in java.lang [in "+ getExternalJCLPathString("1.5") + " [in TypeHierarchy15]]]]\n" + 
664
		"  Object [in Object.class [in java.lang [in "+ getExternalJCLPathString("1.5") + "]]]\n" + 
665
		"Sub types:\n" + 
665
		"Sub types:\n" + 
666
		"  X99606 [in X99606.java [in <default> [in src [in TypeHierarchy15]]]]\n",
666
		"  X99606 [in X99606.java [in <default> [in src [in TypeHierarchy15]]]]\n",
667
		hierarchy
667
		hierarchy
Lines 676-682 Link Here
676
		"Super types:\n" + 
676
		"Super types:\n" + 
677
		"  B108740 [in B108740.java [in <default> [in src [in TypeHierarchy15]]]]\n" + 
677
		"  B108740 [in B108740.java [in <default> [in src [in TypeHierarchy15]]]]\n" + 
678
		"    A108740 [in A108740.java [in <default> [in src [in TypeHierarchy15]]]]\n" + 
678
		"    A108740 [in A108740.java [in <default> [in src [in TypeHierarchy15]]]]\n" + 
679
		"      Object [in Object.class [in java.lang [in "+ getExternalJCLPathString("1.5") + " [in TypeHierarchy15]]]]\n" + 
679
		"      Object [in Object.class [in java.lang [in "+ getExternalJCLPathString("1.5") + "]]]\n" + 
680
		"Sub types:\n",
680
		"Sub types:\n",
681
		hierarchy
681
		hierarchy
682
	);
682
	);
Lines 710-716 Link Here
710
			"  I1_136095 [in I1_136095.java [in <default> [in src [in TypeHierarchy15]]]]\n" + 
710
			"  I1_136095 [in I1_136095.java [in <default> [in src [in TypeHierarchy15]]]]\n" + 
711
			"  I2_136095 [in I2_136095.java [in <default> [in src [in TypeHierarchy15]]]]\n" + 
711
			"  I2_136095 [in I2_136095.java [in <default> [in src [in TypeHierarchy15]]]]\n" + 
712
			"    I1_136095 [in I1_136095.java [in <default> [in src [in TypeHierarchy15]]]]\n" + 
712
			"    I1_136095 [in I1_136095.java [in <default> [in src [in TypeHierarchy15]]]]\n" + 
713
			"  Object [in Object.class [in java.lang [in "+ getExternalJCLPathString("1.5") + " [in TypeHierarchy15]]]]\n" + 
713
			"  Object [in Object.class [in java.lang [in "+ getExternalJCLPathString("1.5") + "]]]\n" + 
714
			"Sub types:\n",
714
			"Sub types:\n",
715
			hierarchy
715
			hierarchy
716
		);
716
		);
Lines 1119-1125 Link Here
1119
		"Focus: Y [in Y.class [in p58440 [in test58440.jar [in TypeHierarchy]]]]\n" + 
1119
		"Focus: Y [in Y.class [in p58440 [in test58440.jar [in TypeHierarchy]]]]\n" + 
1120
		"Super types:\n" + 
1120
		"Super types:\n" + 
1121
		"  Inner [in X$Inner.class [in p58440 [in test58440.jar [in TypeHierarchy]]]]\n" + 
1121
		"  Inner [in X$Inner.class [in p58440 [in test58440.jar [in TypeHierarchy]]]]\n" + 
1122
		"  Object [in Object.class [in java.lang [in "+ getExternalJCLPathString() + " [in TypeHierarchy]]]]\n" + 
1122
		"  Object [in Object.class [in java.lang [in "+ getExternalJCLPathString() + "]]]\n" + 
1123
		"Sub types:\n",
1123
		"Sub types:\n",
1124
		hierarchy);
1124
		hierarchy);
1125
}
1125
}
Lines 1137-1143 Link Here
1137
	assertHierarchyEquals(
1137
	assertHierarchyEquals(
1138
		"Focus: Inner [in X [in X.java [in p5 [in src [in TypeHierarchy]]]]]\n" + 
1138
		"Focus: Inner [in X [in X.java [in p5 [in src [in TypeHierarchy]]]]]\n" + 
1139
		"Super types:\n" + 
1139
		"Super types:\n" + 
1140
		"  Object [in Object.class [in java.lang [in "+ getExternalJCLPathString() + " [in TypeHierarchy]]]]\n" + 
1140
		"  Object [in Object.class [in java.lang [in "+ getExternalJCLPathString() + "]]]\n" + 
1141
		"Sub types:\n",
1141
		"Sub types:\n",
1142
		hierarchy);
1142
		hierarchy);
1143
}
1143
}
Lines 1158-1164 Link Here
1158
	assertHierarchyEquals(
1158
	assertHierarchyEquals(
1159
		"Focus: Inner [in A [in A.java [in p6 [in src [in TypeHierarchy]]]]]\n" + 
1159
		"Focus: Inner [in A [in A.java [in p6 [in src [in TypeHierarchy]]]]]\n" + 
1160
		"Super types:\n" + 
1160
		"Super types:\n" + 
1161
		"  Object [in Object.class [in java.lang [in "+ getExternalJCLPathString() + " [in TypeHierarchy]]]]\n" + 
1161
		"  Object [in Object.class [in java.lang [in "+ getExternalJCLPathString() + "]]]\n" + 
1162
		"Sub types:\n" + 
1162
		"Sub types:\n" + 
1163
		"  B [in A.java [in p6 [in src [in TypeHierarchy]]]]\n",
1163
		"  B [in A.java [in p6 [in src [in TypeHierarchy]]]]\n",
1164
		hierarchy);
1164
		hierarchy);
Lines 1174-1180 Link Here
1174
		"Focus: Y1 [in <initializer #1> [in A [in A.java [in p7 [in src [in TypeHierarchy]]]]]]\n" + 
1174
		"Focus: Y1 [in <initializer #1> [in A [in A.java [in p7 [in src [in TypeHierarchy]]]]]]\n" + 
1175
		"Super types:\n" + 
1175
		"Super types:\n" + 
1176
		"  X [in X.java [in p7 [in src [in TypeHierarchy]]]]\n" + 
1176
		"  X [in X.java [in p7 [in src [in TypeHierarchy]]]]\n" + 
1177
		"    Object [in Object.class [in java.lang [in "+ getExternalJCLPathString() + " [in TypeHierarchy]]]]\n" + 
1177
		"    Object [in Object.class [in java.lang [in "+ getExternalJCLPathString() + "]]]\n" + 
1178
		"Sub types:\n" + 
1178
		"Sub types:\n" + 
1179
		"  Y2 [in <initializer #1> [in A [in A.java [in p7 [in src [in TypeHierarchy]]]]]]\n",
1179
		"  Y2 [in <initializer #1> [in A [in A.java [in p7 [in src [in TypeHierarchy]]]]]]\n",
1180
		hierarchy);
1180
		hierarchy);
Lines 1189-1195 Link Here
1189
	assertHierarchyEquals(
1189
	assertHierarchyEquals(
1190
		"Focus: Y3 [in <initializer #2> [in A [in A.java [in p7 [in src [in TypeHierarchy]]]]]]\n" + 
1190
		"Focus: Y3 [in <initializer #2> [in A [in A.java [in p7 [in src [in TypeHierarchy]]]]]]\n" + 
1191
		"Super types:\n" + 
1191
		"Super types:\n" + 
1192
		"  Object [in Object.class [in java.lang [in "+ getExternalJCLPathString() + " [in TypeHierarchy]]]]\n" + 
1192
		"  Object [in Object.class [in java.lang [in "+ getExternalJCLPathString() + "]]]\n" + 
1193
		"Sub types:\n",
1193
		"Sub types:\n",
1194
		hierarchy);
1194
		hierarchy);
1195
}
1195
}
Lines 1205-1211 Link Here
1205
		"Super types:\n" + 
1205
		"Super types:\n" + 
1206
		"  Y1 [in foo() [in A [in A.java [in p7 [in src [in TypeHierarchy]]]]]]\n" + 
1206
		"  Y1 [in foo() [in A [in A.java [in p7 [in src [in TypeHierarchy]]]]]]\n" + 
1207
		"    X [in X.java [in p7 [in src [in TypeHierarchy]]]]\n" + 
1207
		"    X [in X.java [in p7 [in src [in TypeHierarchy]]]]\n" + 
1208
		"      Object [in Object.class [in java.lang [in "+ getExternalJCLPathString() + " [in TypeHierarchy]]]]\n" + 
1208
		"      Object [in Object.class [in java.lang [in "+ getExternalJCLPathString() + "]]]\n" + 
1209
		"Sub types:\n",
1209
		"Sub types:\n",
1210
		hierarchy);
1210
		hierarchy);
1211
}
1211
}
Lines 1221-1227 Link Here
1221
		"Focus: Y1 [in foo() [in A [in A.java [in p7 [in src [in TypeHierarchy]]]]]]\n" + 
1221
		"Focus: Y1 [in foo() [in A [in A.java [in p7 [in src [in TypeHierarchy]]]]]]\n" + 
1222
		"Super types:\n" + 
1222
		"Super types:\n" + 
1223
		"  X [in X.java [in p7 [in src [in TypeHierarchy]]]]\n" + 
1223
		"  X [in X.java [in p7 [in src [in TypeHierarchy]]]]\n" + 
1224
		"    Object [in Object.class [in java.lang [in "+ getExternalJCLPathString() + " [in TypeHierarchy]]]]\n" + 
1224
		"    Object [in Object.class [in java.lang [in "+ getExternalJCLPathString() + "]]]\n" + 
1225
		"Sub types:\n",
1225
		"Sub types:\n",
1226
		hierarchy);
1226
		hierarchy);
1227
}
1227
}
Lines 1250-1256 Link Here
1250
		assertHierarchyEquals(
1250
		assertHierarchyEquals(
1251
			"Focus: Member [in X [in X.java [in <default> [in <project root> [in P1]]]]]\n" + 
1251
			"Focus: Member [in X [in X.java [in <default> [in <project root> [in P1]]]]]\n" + 
1252
			"Super types:\n" + 
1252
			"Super types:\n" + 
1253
			"  Object [in Object.class [in java.lang [in "+ getExternalJCLPathString() + " [in P2]]]]\n" + 
1253
			"  Object [in Object.class [in java.lang [in "+ getExternalJCLPathString() + "]]]\n" + 
1254
			"Sub types:\n" + 
1254
			"Sub types:\n" + 
1255
			"  Y [in Y.java [in <default> [in <project root> [in P2]]]]\n",
1255
			"  Y [in Y.java [in <default> [in <project root> [in P2]]]]\n",
1256
			hierarchy);
1256
			hierarchy);
Lines 1273-1279 Link Here
1273
	assertHierarchyEquals(
1273
	assertHierarchyEquals(
1274
		"Focus: X [in X.java [in p4 [in src [in TypeHierarchy]]]]\n" + 
1274
		"Focus: X [in X.java [in p4 [in src [in TypeHierarchy]]]]\n" + 
1275
		"Super types:\n" + 
1275
		"Super types:\n" + 
1276
		"  Object [in Object.class [in java.lang [in "+ getExternalJCLPathString() + " [in TypeHierarchy]]]]\n" + 
1276
		"  Object [in Object.class [in java.lang [in "+ getExternalJCLPathString() + "]]]\n" + 
1277
		"Sub types:\n",
1277
		"Sub types:\n",
1278
		hierarchy);
1278
		hierarchy);
1279
}
1279
}
Lines 1374-1390 Link Here
1374
		assertHierarchyEquals(
1374
		assertHierarchyEquals(
1375
			"Focus: <NONE>\n" + 
1375
			"Focus: <NONE>\n" + 
1376
			"Sub types of root classes:\n" + 
1376
			"Sub types of root classes:\n" + 
1377
			"  Class [in Class.class [in java.lang [in "+ getExternalJCLPathString() + " [in P1]]]]\n" + 
1377
			"  Class [in Class.class [in java.lang [in "+ getExternalJCLPathString() + "]]]\n" + 
1378
			"    Y [in Y.java [in <default> [in <project root> [in P2]]]]\n" + 
1378
			"    Y [in Y.java [in <default> [in <project root> [in P2]]]]\n" + 
1379
			"    Z [in Z.java [in <default> [in <project root> [in P3]]]]\n" + 
1379
			"    Z [in Z.java [in <default> [in <project root> [in P3]]]]\n" + 
1380
			"  String [in String.class [in java.lang [in "+ getExternalJCLPathString() + " [in P1]]]]\n" + 
1380
			"  String [in String.class [in java.lang [in "+ getExternalJCLPathString() + "]]]\n" + 
1381
			"    Error [in Error.class [in java.lang [in "+ getExternalJCLPathString() + " [in P1]]]]\n" + 
1381
			"    Error [in Error.class [in java.lang [in "+ getExternalJCLPathString() + "]]]\n" + 
1382
			"      CloneNotSupportedException [in CloneNotSupportedException.class [in java.lang [in "+ getExternalJCLPathString() + " [in P1]]]]\n" + 
1382
			"      CloneNotSupportedException [in CloneNotSupportedException.class [in java.lang [in "+ getExternalJCLPathString() + "]]]\n" + 
1383
			"        IllegalMonitorStateException [in IllegalMonitorStateException.class [in java.lang [in "+ getExternalJCLPathString() + " [in P1]]]]\n" + 
1383
			"        IllegalMonitorStateException [in IllegalMonitorStateException.class [in java.lang [in "+ getExternalJCLPathString() + "]]]\n" + 
1384
			"      InterruptedException [in InterruptedException.class [in java.lang [in "+ getExternalJCLPathString() + " [in P1]]]]\n" + 
1384
			"      InterruptedException [in InterruptedException.class [in java.lang [in "+ getExternalJCLPathString() + "]]]\n" + 
1385
			"      RuntimeException [in RuntimeException.class [in java.lang [in "+ getExternalJCLPathString() + " [in P1]]]]\n" + 
1385
			"      RuntimeException [in RuntimeException.class [in java.lang [in "+ getExternalJCLPathString() + "]]]\n" + 
1386
			"    Exception [in Exception.class [in java.lang [in "+ getExternalJCLPathString() + " [in P1]]]]\n" + 
1386
			"    Exception [in Exception.class [in java.lang [in "+ getExternalJCLPathString() + "]]]\n" + 
1387
			"  Throwable [in Throwable.class [in java.lang [in "+ getExternalJCLPathString() + " [in P1]]]]\n" + 
1387
			"  Throwable [in Throwable.class [in java.lang [in "+ getExternalJCLPathString() + "]]]\n" + 
1388
			"  X [in X.java [in <default> [in <project root> [in P1]]]]\n",
1388
			"  X [in X.java [in <default> [in <project root> [in P1]]]]\n",
1389
			hierarchy);
1389
			hierarchy);
1390
	} finally {
1390
	} finally {
Lines 1642-1648 Link Here
1642
		"Focus: Y [in Y.java [in q6 [in src [in TypeHierarchy]]]]\n" + 
1642
		"Focus: Y [in Y.java [in q6 [in src [in TypeHierarchy]]]]\n" + 
1643
		"Super types:\n" + 
1643
		"Super types:\n" + 
1644
		"  NonVisibleClass [in X.java [in q5 [in src [in TypeHierarchy]]]]\n" + 
1644
		"  NonVisibleClass [in X.java [in q5 [in src [in TypeHierarchy]]]]\n" + 
1645
		"    Object [in Object.class [in java.lang [in "+ getExternalJCLPathString() + " [in TypeHierarchy]]]]\n" + 
1645
		"    Object [in Object.class [in java.lang [in "+ getExternalJCLPathString() + "]]]\n" + 
1646
		"Sub types:\n",
1646
		"Sub types:\n",
1647
		hierarchy
1647
		hierarchy
1648
	);
1648
	);
Lines 1657-1663 Link Here
1657
		"Focus: Z [in Z.java [in q6 [in src [in TypeHierarchy]]]]\n" + 
1657
		"Focus: Z [in Z.java [in q6 [in src [in TypeHierarchy]]]]\n" + 
1658
		"Super types:\n" + 
1658
		"Super types:\n" + 
1659
		"  NonVisibleInterface [in X.java [in q5 [in src [in TypeHierarchy]]]]\n" + 
1659
		"  NonVisibleInterface [in X.java [in q5 [in src [in TypeHierarchy]]]]\n" + 
1660
		"  Object [in Object.class [in java.lang [in "+ getExternalJCLPathString() + " [in TypeHierarchy]]]]\n" + 
1660
		"  Object [in Object.class [in java.lang [in "+ getExternalJCLPathString() + "]]]\n" + 
1661
		"Sub types:\n",
1661
		"Sub types:\n",
1662
		hierarchy
1662
		hierarchy
1663
	);
1663
	);
(-)src/org/eclipse/jdt/core/tests/model/JavaProjectTests.java (-5 / +5 lines)
Lines 951-964 Link Here
951
	IPackageFragment[] fragments= project.getPackageFragments();
951
	IPackageFragment[] fragments= project.getPackageFragments();
952
	assertSortedElementsEqual(
952
	assertSortedElementsEqual(
953
		"unexpected package fragments",
953
		"unexpected package fragments",
954
		"<default> [in "+ getExternalJCLPathString() + " [in JavaProjectTests]]\n" + 
954
		"<default> [in "+ getExternalJCLPathString() + "]\n" + 
955
		"<default> [in <project root> [in JavaProjectTests]]\n" + 
955
		"<default> [in <project root> [in JavaProjectTests]]\n" + 
956
		"<default> [in lib.jar [in JavaProjectTests]]\n" + 
956
		"<default> [in lib.jar [in JavaProjectTests]]\n" + 
957
		"META-INF [in "+ getExternalJCLPathString() + " [in JavaProjectTests]]\n" + 
957
		"META-INF [in "+ getExternalJCLPathString() + "]\n" + 
958
		"META-INF [in lib.jar [in JavaProjectTests]]\n" + 
958
		"META-INF [in lib.jar [in JavaProjectTests]]\n" + 
959
		"java [in "+ getExternalJCLPathString() + " [in JavaProjectTests]]\n" + 
959
		"java [in "+ getExternalJCLPathString() + "]\n" + 
960
		"java.io [in "+ getExternalJCLPathString() + " [in JavaProjectTests]]\n" + 
960
		"java.io [in "+ getExternalJCLPathString() + "]\n" + 
961
		"java.lang [in "+ getExternalJCLPathString() + " [in JavaProjectTests]]\n" + 
961
		"java.lang [in "+ getExternalJCLPathString() + "]\n" + 
962
		"p [in lib.jar [in JavaProjectTests]]\n" + 
962
		"p [in lib.jar [in JavaProjectTests]]\n" + 
963
		"q [in <project root> [in JavaProjectTests]]\n" + 
963
		"q [in <project root> [in JavaProjectTests]]\n" + 
964
		"x [in <project root> [in JavaProjectTests]]\n" + 
964
		"x [in <project root> [in JavaProjectTests]]\n" + 
(-)model/org/eclipse/jdt/internal/core/Region.java (+17 lines)
Lines 13-20 Link Here
13
import java.util.ArrayList;
13
import java.util.ArrayList;
14
14
15
import org.eclipse.jdt.core.IJavaElement;
15
import org.eclipse.jdt.core.IJavaElement;
16
import org.eclipse.jdt.core.IJavaProject;
17
import org.eclipse.jdt.core.IPackageFragmentRoot;
16
import org.eclipse.jdt.core.IParent;
18
import org.eclipse.jdt.core.IParent;
17
import org.eclipse.jdt.core.IRegion;
19
import org.eclipse.jdt.core.IRegion;
20
import org.eclipse.jdt.core.JavaModelException;
18
21
19
22
20
/**
23
/**
Lines 44-49 Link Here
44
		//"new" element added to region
47
		//"new" element added to region
45
		removeAllChildren(element);
48
		removeAllChildren(element);
46
		fRootElements.add(element);
49
		fRootElements.add(element);
50
		if (element.getElementType() == IJavaElement.JAVA_PROJECT) {
51
			// add external roots as well so that external jars don't rely on their parent to know 
52
			// if they are contained in the region
53
			// (see https://bugs.eclipse.org/bugs/show_bug.cgi?id=146615)
54
			try {
55
				IPackageFragmentRoot[] roots = ((IJavaProject) element).getPackageFragmentRoots();
56
				for (int i = 0, length = roots.length; i < length; i++) {
57
					if (roots[i].isExternal() && !fRootElements.contains(roots[i]))
58
						fRootElements.add(roots[i]);
59
				}
60
			} catch (JavaModelException e) {
61
				// project doesn't exist
62
			}
63
		}
47
		fRootElements.trimToSize();
64
		fRootElements.trimToSize();
48
	}
65
	}
49
}
66
}
(-)model/org/eclipse/jdt/internal/core/JarPackageFragmentRoot.java (+7 lines)
Lines 285-288 Link Here
285
		return super.resourceExists();
285
		return super.resourceExists();
286
	}
286
	}
287
}
287
}
288
protected void toStringAncestors(StringBuffer buffer) {
289
	if (isExternal())
290
		// don't show project as it is irrelevant for external jar files.
291
		// also see https://bugs.eclipse.org/bugs/show_bug.cgi?id=146615
292
		return;
293
	super.toStringAncestors(buffer);
294
}
288
}
295
}

Return to bug 146615