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

(-)buildnotes_jdt-core.html (-1 / +3 lines)
Lines 55-61 Link Here
55
</ul>
55
</ul>
56
56
57
<h3>Problem Reports Fixed</h3>
57
<h3>Problem Reports Fixed</h3>
58
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=155115">155115</a>
58
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=156194">156194</a>
59
[codeassist] PROPOSE_MEMBER_TYPES can be removed
60
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=155115">155115</a>
59
UnresolvedReferenceBindings surfacing through DOM AST
61
UnresolvedReferenceBindings surfacing through DOM AST
60
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=153128">153128</a>
62
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=153128">153128</a>
61
[compiler] Duplicate methods generated (from invalid source, but still :-)
63
[compiler] Duplicate methods generated (from invalid source, but still :-)
(-)codeassist/org/eclipse/jdt/internal/codeassist/CompletionEngine.java (-46 / +34 lines)
Lines 74-80 Link Here
74
	
74
	
75
	// temporary constants to quickly disabled polish features if necessary
75
	// temporary constants to quickly disabled polish features if necessary
76
	public final static boolean NO_TYPE_COMPLETION_ON_EMPTY_TOKEN = false;
76
	public final static boolean NO_TYPE_COMPLETION_ON_EMPTY_TOKEN = false;
77
	public final static boolean PROPOSE_MEMBER_TYPES = true;
78
	
77
	
79
	private final static char[] ERROR_PATTERN = "*error*".toCharArray();  //$NON-NLS-1$
78
	private final static char[] ERROR_PATTERN = "*error*".toCharArray();  //$NON-NLS-1$
80
	private final static char[] EXCEPTION_PATTERN = "*exception*".toCharArray();  //$NON-NLS-1$
79
	private final static char[] EXCEPTION_PATTERN = "*exception*".toCharArray();  //$NON-NLS-1$
Lines 562-575 Link Here
562
	}
561
	}
563
562
564
	private void proposeType(char[] packageName, char[] simpleTypeName, int modifiers, int accessibility, char[] typeName, char[] fullyQualifiedName, boolean isQualified) {
563
	private void proposeType(char[] packageName, char[] simpleTypeName, int modifiers, int accessibility, char[] typeName, char[] fullyQualifiedName, boolean isQualified) {
565
		if(PROPOSE_MEMBER_TYPES) {
564
		if(this.assistNodeIsClass) {
566
			if(this.assistNodeIsClass) {
565
			if((modifiers & (ClassFileConstants.AccInterface | ClassFileConstants.AccAnnotation | ClassFileConstants.AccEnum)) != 0 ) return;
567
				if((modifiers & (ClassFileConstants.AccInterface | ClassFileConstants.AccAnnotation | ClassFileConstants.AccEnum)) != 0 ) return;
566
		} else if(this.assistNodeIsInterface) {
568
			} else if(this.assistNodeIsInterface) {
567
			if((modifiers & (ClassFileConstants.AccInterface | ClassFileConstants.AccAnnotation)) == 0) return;
569
				if((modifiers & (ClassFileConstants.AccInterface | ClassFileConstants.AccAnnotation)) == 0) return;
568
		} else if (this.assistNodeIsAnnotation) {
570
			} else if (this.assistNodeIsAnnotation) {
569
			if((modifiers & ClassFileConstants.AccAnnotation) == 0) return;
571
				if((modifiers & ClassFileConstants.AccAnnotation) == 0) return;
572
			}
573
		}
570
		}
574
		
571
		
575
		char[] completionName = fullyQualifiedName;
572
		char[] completionName = fullyQualifiedName;
Lines 2834-2840 Link Here
2834
		if(!this.requestor.isIgnored(CompletionProposal.TYPE_REF)) {
2831
		if(!this.requestor.isIgnored(CompletionProposal.TYPE_REF)) {
2835
			this.nameEnvironment.findTypes(
2832
			this.nameEnvironment.findTypes(
2836
					importName,
2833
					importName,
2837
					findMembers && PROPOSE_MEMBER_TYPES, 
2834
					findMembers, 
2838
					this.options.camelCaseMatch,
2835
					this.options.camelCaseMatch,
2839
					this);
2836
					this);
2840
			acceptTypes();
2837
			acceptTypes();
Lines 3329-3335 Link Here
3329
3326
3330
			typesFound.add(memberType);
3327
			typesFound.add(memberType);
3331
3328
3332
			if(!this.insideQualifiedReference && PROPOSE_MEMBER_TYPES) {
3329
			if(!this.insideQualifiedReference) {
3333
				if(this.assistNodeIsClass) {
3330
				if(this.assistNodeIsClass) {
3334
					if(!memberType.isClass()) continue next;
3331
					if(!memberType.isClass()) continue next;
3335
				} else if(this.assistNodeIsInterface) {
3332
				} else if(this.assistNodeIsInterface) {
Lines 4847-4860 Link Here
4847
										&& !(this.options.camelCaseMatch && CharOperation.camelCaseMatch(typeName, localType.sourceName)))
4844
										&& !(this.options.camelCaseMatch && CharOperation.camelCaseMatch(typeName, localType.sourceName)))
4848
									continue next;
4845
									continue next;
4849
								
4846
								
4850
								if(PROPOSE_MEMBER_TYPES) {
4847
								if(this.assistNodeIsClass) {
4851
									if(this.assistNodeIsClass) {
4848
									if(!localType.isClass()) continue next;
4852
										if(!localType.isClass()) continue next;
4849
								} else if(this.assistNodeIsInterface) {
4853
									} else if(this.assistNodeIsInterface) {
4850
									if(!localType.isInterface() && !localType.isAnnotationType()) continue next;
4854
										if(!localType.isInterface() && !localType.isAnnotationType()) continue next;
4851
								} else if (this.assistNodeIsAnnotation) {
4855
									} else if (this.assistNodeIsAnnotation) {
4852
									if(!localType.isAnnotationType()) continue next;
4856
										if(!localType.isAnnotationType()) continue next;
4857
									}
4858
								}
4853
								}
4859
4854
4860
								int relevance = computeBaseRelevance();
4855
								int relevance = computeBaseRelevance();
Lines 5011-5017 Link Here
5011
		
5006
		
5012
		boolean proposeType = !this.requestor.isIgnored(CompletionProposal.TYPE_REF);
5007
		boolean proposeType = !this.requestor.isIgnored(CompletionProposal.TYPE_REF);
5013
		
5008
		
5014
		boolean proposeAllMemberTypes = !this.assistNodeIsConstructor && PROPOSE_MEMBER_TYPES;
5009
		boolean proposeAllMemberTypes = !this.assistNodeIsConstructor;
5015
		
5010
		
5016
		ObjectVector typesFound = new ObjectVector();
5011
		ObjectVector typesFound = new ObjectVector();
5017
		
5012
		
Lines 5042-5049 Link Here
5042
				if(isForbidden(sourceType)) continue;
5037
				if(isForbidden(sourceType)) continue;
5043
				
5038
				
5044
				if(proposeAllMemberTypes &&
5039
				if(proposeAllMemberTypes &&
5045
					sourceType != outerInvocationType &&
5040
					sourceType != outerInvocationType) {
5046
					PROPOSE_MEMBER_TYPES) {
5047
					findSubMemberTypes(
5041
					findSubMemberTypes(
5048
							token,
5042
							token,
5049
							sourceType,
5043
							sourceType,
Lines 5065-5078 Link Here
5065
	
5059
	
5066
				this.knownTypes.put(CharOperation.concat(sourceType.qualifiedPackageName(), sourceType.sourceName(), '.'), this);
5060
				this.knownTypes.put(CharOperation.concat(sourceType.qualifiedPackageName(), sourceType.sourceName(), '.'), this);
5067
				
5061
				
5068
				if(PROPOSE_MEMBER_TYPES) {
5062
				if(this.assistNodeIsClass) {
5069
					if(this.assistNodeIsClass) {
5063
					if(!sourceType.isClass()) continue;
5070
						if(!sourceType.isClass()) continue;
5064
				} else if(this.assistNodeIsInterface) {
5071
					} else if(this.assistNodeIsInterface) {
5065
					if(!sourceType.isInterface() && !sourceType.isAnnotationType()) continue;
5072
						if(!sourceType.isInterface() && !sourceType.isAnnotationType()) continue;
5066
				} else if (this.assistNodeIsAnnotation) {
5073
					} else if (this.assistNodeIsAnnotation) {
5067
					if(!sourceType.isAnnotationType()) continue;
5074
						if(!sourceType.isAnnotationType()) continue;
5075
					}
5076
				}
5068
				}
5077
				
5069
				
5078
				int relevance = computeBaseRelevance();
5070
				int relevance = computeBaseRelevance();
Lines 5157-5170 Link Here
5157
								}
5149
								}
5158
							}
5150
							}
5159
							
5151
							
5160
							if(PROPOSE_MEMBER_TYPES) {
5152
							if(this.assistNodeIsClass) {
5161
								if(this.assistNodeIsClass) {
5153
								if(!refBinding.isClass()) continue next;
5162
									if(!refBinding.isClass()) continue next;
5154
							} else if(this.assistNodeIsInterface) {
5163
								} else if(this.assistNodeIsInterface) {
5155
								if(!refBinding.isInterface() && !refBinding.isAnnotationType()) continue next;
5164
									if(!refBinding.isInterface() && !refBinding.isAnnotationType()) continue next;
5156
							} else if (this.assistNodeIsAnnotation) {
5165
								} else if (this.assistNodeIsAnnotation) {
5157
								if(!refBinding.isAnnotationType()) continue next;
5166
									if(!refBinding.isAnnotationType()) continue next;
5167
								}
5168
							}
5158
							}
5169
							
5159
							
5170
							int relevance = computeBaseRelevance();
5160
							int relevance = computeBaseRelevance();
Lines 5375-5388 Link Here
5375
							
5365
							
5376
							typesFound.add(typeBinding);
5366
							typesFound.add(typeBinding);
5377
							
5367
							
5378
							if(PROPOSE_MEMBER_TYPES) {
5368
							if(this.assistNodeIsClass) {
5379
								if(this.assistNodeIsClass) {
5369
								if(!typeBinding.isClass()) continue;
5380
									if(!typeBinding.isClass()) continue;
5370
							} else if(this.assistNodeIsInterface) {
5381
								} else if(this.assistNodeIsInterface) {
5371
								if(!typeBinding.isInterface() && !typeBinding.isAnnotationType()) continue;
5382
									if(!typeBinding.isInterface() && !typeBinding.isAnnotationType()) continue;
5372
							} else if (this.assistNodeIsAnnotation) {
5383
								} else if (this.assistNodeIsAnnotation) {
5373
								if(!typeBinding.isAnnotationType()) continue;
5384
									if(!typeBinding.isAnnotationType()) continue;
5385
								}
5386
							}
5374
							}
5387
							
5375
							
5388
							int relevance = computeBaseRelevance();
5376
							int relevance = computeBaseRelevance();
(-)src/org/eclipse/jdt/core/tests/model/CompletionTests.java (-177 / +72 lines)
Lines 1433-1448 Link Here
1433
    int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length();
1433
    int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length();
1434
    this.wc.codeComplete(cursorLocation, requestor, this.wcOwner);
1434
    this.wc.codeComplete(cursorLocation, requestor, this.wcOwner);
1435
1435
1436
    if(CompletionEngine.PROPOSE_MEMBER_TYPES) {
1436
    assertResults(
1437
	    assertResults(
1437
           "SuperInterface[TYPE_REF]{SuperInterface, , LSuperInterface;, null, null, "+(R_DEFAULT + R_INTERESTING + R_CASE + R_INTERFACE + R_UNQUALIFIED + R_NON_RESTRICTED)+"}",
1438
	           "SuperInterface[TYPE_REF]{SuperInterface, , LSuperInterface;, null, null, "+(R_DEFAULT + R_INTERESTING + R_CASE + R_INTERFACE + R_UNQUALIFIED + R_NON_RESTRICTED)+"}",
1438
			requestor.getResults());
1439
				requestor.getResults());
1440
    } else {
1441
    	assertResults(
1442
	            "SuperClass[TYPE_REF]{SuperClass, , LSuperClass;, null, null, "+(R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED)+"}\n"+
1443
				"SuperInterface[TYPE_REF]{SuperInterface, , LSuperInterface;, null, null, "+(R_DEFAULT + R_INTERESTING + R_CASE + R_INTERFACE + R_UNQUALIFIED + R_NON_RESTRICTED)+"}",
1444
				requestor.getResults());
1445
    }
1446
}
1439
}
1447
1440
1448
/**
1441
/**
Lines 2506-2524 Link Here
2506
	    int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length();
2499
	    int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length();
2507
	    this.wc.codeComplete(cursorLocation, requestor, this.wcOwner);
2500
	    this.wc.codeComplete(cursorLocation, requestor, this.wcOwner);
2508
	
2501
	
2509
	    if(CompletionEngine.PROPOSE_MEMBER_TYPES) {
2502
		assertResults(
2510
			assertResults(
2503
			"CompletionSuperClass[TYPE_REF]{CompletionSuperClass, , LCompletionSuperClass;, null, null, "+(R_DEFAULT + R_INTERESTING + R_CASE + R_CLASS + R_UNQUALIFIED + R_NON_RESTRICTED)+"}\n" +
2511
				"CompletionSuperClass[TYPE_REF]{CompletionSuperClass, , LCompletionSuperClass;, null, null, "+(R_DEFAULT + R_INTERESTING + R_CASE + R_CLASS + R_UNQUALIFIED + R_NON_RESTRICTED)+"}\n" +
2504
			"CompletionSuperClass2[TYPE_REF]{CompletionSuperClass2, , LCompletionSuperClass2;, null, null, "+(R_DEFAULT + R_INTERESTING + R_CASE + R_CLASS + R_UNQUALIFIED + R_NON_RESTRICTED)+"}",
2512
				"CompletionSuperClass2[TYPE_REF]{CompletionSuperClass2, , LCompletionSuperClass2;, null, null, "+(R_DEFAULT + R_INTERESTING + R_CASE + R_CLASS + R_UNQUALIFIED + R_NON_RESTRICTED)+"}",
2505
			requestor.getResults());
2513
				requestor.getResults());
2514
	    } else {
2515
	    	assertResults(
2516
				"CompletionSuperInterface[TYPE_REF]{CompletionSuperInterface, , LCompletionSuperInterface;, null, null, "+(R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED)+"}\n" +
2517
				"CompletionSuperInterface2[TYPE_REF]{CompletionSuperInterface2, , LCompletionSuperInterface2;, null, null, "+(R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED)+"}\n" +
2518
				"CompletionSuperClass[TYPE_REF]{CompletionSuperClass, , LCompletionSuperClass;, null, null, "+(R_DEFAULT + R_INTERESTING + R_CASE + R_CLASS + R_UNQUALIFIED + R_NON_RESTRICTED)+"}\n" +
2519
				"CompletionSuperClass2[TYPE_REF]{CompletionSuperClass2, , LCompletionSuperClass2;, null, null, "+(R_DEFAULT + R_INTERESTING + R_CASE + R_CLASS + R_UNQUALIFIED + R_NON_RESTRICTED)+"}",
2520
				requestor.getResults());
2521
	    }
2522
	} finally {
2506
	} finally {
2523
		if(superClass != null) {
2507
		if(superClass != null) {
2524
			superClass.discardWorkingCopy();
2508
			superClass.discardWorkingCopy();
Lines 2581-2599 Link Here
2581
	    int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length();
2565
	    int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length();
2582
	    this.wc.codeComplete(cursorLocation, requestor, this.wcOwner);
2566
	    this.wc.codeComplete(cursorLocation, requestor, this.wcOwner);
2583
	
2567
	
2584
	    if(CompletionEngine.PROPOSE_MEMBER_TYPES) {
2568
		assertResults(
2585
			assertResults(
2569
			"CompletionSuperInterface[TYPE_REF]{CompletionSuperInterface, , LCompletionSuperInterface;, null, null, "+(R_DEFAULT + R_INTERESTING + R_CASE + R_INTERFACE + R_UNQUALIFIED + R_NON_RESTRICTED)+"}\n" +
2586
				"CompletionSuperInterface[TYPE_REF]{CompletionSuperInterface, , LCompletionSuperInterface;, null, null, "+(R_DEFAULT + R_INTERESTING + R_CASE + R_INTERFACE + R_UNQUALIFIED + R_NON_RESTRICTED)+"}\n" +
2570
			"CompletionSuperInterface2[TYPE_REF]{CompletionSuperInterface2, , LCompletionSuperInterface2;, null, null, "+(R_DEFAULT + R_INTERESTING + R_CASE + R_INTERFACE + R_UNQUALIFIED + R_NON_RESTRICTED)+"}",
2587
				"CompletionSuperInterface2[TYPE_REF]{CompletionSuperInterface2, , LCompletionSuperInterface2;, null, null, "+(R_DEFAULT + R_INTERESTING + R_CASE + R_INTERFACE + R_UNQUALIFIED + R_NON_RESTRICTED)+"}",
2571
			requestor.getResults());
2588
				requestor.getResults());
2589
	    } else {
2590
	    	assertResults(
2591
				"CompletionSuperClass[TYPE_REF]{CompletionSuperClass, , LCompletionSuperClass;, null, null, "+(R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED)+"}\n" +
2592
				"CompletionSuperClass2[TYPE_REF]{CompletionSuperClass2, , LCompletionSuperClass2;, null, null, "+(R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED)+"}\n" +
2593
				"CompletionSuperInterface[TYPE_REF]{CompletionSuperInterface, , LCompletionSuperInterface;, null, null, "+(R_DEFAULT + R_INTERESTING + R_CASE + R_INTERFACE + R_UNQUALIFIED + R_NON_RESTRICTED)+"}\n" +
2594
				"CompletionSuperInterface2[TYPE_REF]{CompletionSuperInterface2, , LCompletionSuperInterface2;, null, null, "+(R_DEFAULT + R_INTERESTING + R_CASE + R_INTERFACE + R_UNQUALIFIED + R_NON_RESTRICTED)+"}",
2595
				requestor.getResults());
2596
	    }
2597
	} finally {
2572
	} finally {
2598
		if(superClass != null) {
2573
		if(superClass != null) {
2599
			superClass.discardWorkingCopy();
2574
			superClass.discardWorkingCopy();
Lines 2720-2738 Link Here
2720
	    int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length();
2695
	    int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length();
2721
	    this.wc.codeComplete(cursorLocation, requestor, this.wcOwner);
2696
	    this.wc.codeComplete(cursorLocation, requestor, this.wcOwner);
2722
	
2697
	
2723
	    if(CompletionEngine.PROPOSE_MEMBER_TYPES) {
2698
		assertResults(
2724
			assertResults(
2725
				"CompletionSuperInterface[TYPE_REF]{CompletionSuperInterface, , LCompletionSuperInterface;, null, null, "+(R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_INTERFACE + R_NON_RESTRICTED)+"}\n" +
2726
				"CompletionSuperInterface2[TYPE_REF]{CompletionSuperInterface2, , LCompletionSuperInterface2;, null, null, "+(R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_INTERFACE+ R_NON_RESTRICTED)+"}",
2727
				requestor.getResults());
2728
	    } else {
2729
	    	assertResults(
2730
				"CompletionSuperClass[TYPE_REF]{CompletionSuperClass, , LCompletionSuperClass;, null, null, "+(R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED)+"}\n" +
2731
				"CompletionSuperClass2[TYPE_REF]{CompletionSuperClass2, , LCompletionSuperClass2;, null, null, "+(R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED)+"}\n" +
2732
				"CompletionSuperInterface[TYPE_REF]{CompletionSuperInterface, , LCompletionSuperInterface;, null, null, "+(R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_INTERFACE + R_NON_RESTRICTED)+"}\n" +
2699
				"CompletionSuperInterface[TYPE_REF]{CompletionSuperInterface, , LCompletionSuperInterface;, null, null, "+(R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_INTERFACE + R_NON_RESTRICTED)+"}\n" +
2733
				"CompletionSuperInterface2[TYPE_REF]{CompletionSuperInterface2, , LCompletionSuperInterface2;, null, null, "+(R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_INTERFACE+ R_NON_RESTRICTED)+"}",
2700
				"CompletionSuperInterface2[TYPE_REF]{CompletionSuperInterface2, , LCompletionSuperInterface2;, null, null, "+(R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_INTERFACE+ R_NON_RESTRICTED)+"}",
2734
				requestor.getResults());
2701
				requestor.getResults());
2735
	    }
2736
	} finally {
2702
	} finally {
2737
		if(superClass != null) {
2703
		if(superClass != null) {
2738
			superClass.discardWorkingCopy();
2704
			superClass.discardWorkingCopy();
Lines 11097-11114 Link Here
11097
	int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length();
11063
	int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length();
11098
	this.wc.codeComplete(cursorLocation, requestor, this.wcOwner);
11064
	this.wc.codeComplete(cursorLocation, requestor, this.wcOwner);
11099
11065
11100
	if(CompletionEngine.PROPOSE_MEMBER_TYPES) {
11066
	assertResults(
11101
		assertResults(
11067
			"CompletionInsideExtends10.CompletionInsideExtends10Inner.CompletionInsideExtends10InnerInner[TYPE_REF]{test.CompletionInsideExtends10.CompletionInsideExtends10Inner.CompletionInsideExtends10InnerInner, test, Ltest.CompletionInsideExtends10$CompletionInsideExtends10Inner$CompletionInsideExtends10InnerInner;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CLASS + R_CASE + R_NON_RESTRICTED) + "}\n" +
11102
				"CompletionInsideExtends10.CompletionInsideExtends10Inner.CompletionInsideExtends10InnerInner[TYPE_REF]{test.CompletionInsideExtends10.CompletionInsideExtends10Inner.CompletionInsideExtends10InnerInner, test, Ltest.CompletionInsideExtends10$CompletionInsideExtends10Inner$CompletionInsideExtends10InnerInner;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CLASS + R_CASE + R_NON_RESTRICTED) + "}\n" +
11068
			"CompletionInsideExtends10[TYPE_REF]{CompletionInsideExtends10, test, Ltest.CompletionInsideExtends10;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CLASS + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}\n" +
11103
				"CompletionInsideExtends10[TYPE_REF]{CompletionInsideExtends10, test, Ltest.CompletionInsideExtends10;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CLASS + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}\n" +
11069
			"CompletionInsideExtends10TopLevel[TYPE_REF]{CompletionInsideExtends10TopLevel, test, Ltest.CompletionInsideExtends10TopLevel;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CLASS + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}",
11104
				"CompletionInsideExtends10TopLevel[TYPE_REF]{CompletionInsideExtends10TopLevel, test, Ltest.CompletionInsideExtends10TopLevel;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CLASS + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}",
11070
			requestor.getResults());
11105
				requestor.getResults());
11106
	} else {
11107
		assertResults(
11108
				"CompletionInsideExtends10[TYPE_REF]{CompletionInsideExtends10, test, Ltest.CompletionInsideExtends10;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CLASS + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}\n" +
11109
				"CompletionInsideExtends10TopLevel[TYPE_REF]{CompletionInsideExtends10TopLevel, test, Ltest.CompletionInsideExtends10TopLevel;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CLASS + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}",
11110
				requestor.getResults());
11111
	}
11112
}
11071
}
11113
//https://bugs.eclipse.org/bugs/show_bug.cgi?id=78151
11072
//https://bugs.eclipse.org/bugs/show_bug.cgi?id=78151
11114
public void testCompletionInsideExtends11() throws JavaModelException {
11073
public void testCompletionInsideExtends11() throws JavaModelException {
Lines 11133-11145 Link Here
11133
		assertResults(
11092
		assertResults(
11134
				"",
11093
				"",
11135
				requestor.getResults());
11094
				requestor.getResults());
11136
	} else if (CompletionEngine.PROPOSE_MEMBER_TYPES) {
11137
		assertResults(
11138
				"",
11139
				requestor.getResults());
11140
	} else {
11095
	} else {
11141
		assertResults(
11096
		assertResults(
11142
				"CompletionInsideExtends11TopLevel[TYPE_REF]{CompletionInsideExtends11TopLevel, test, Ltest.CompletionInsideExtends11TopLevel;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}",
11097
				"",
11143
				requestor.getResults());
11098
				requestor.getResults());
11144
	}
11099
	}
11145
}
11100
}
Lines 11162-11176 Link Here
11162
	int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length();
11117
	int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length();
11163
	this.wc.codeComplete(cursorLocation, requestor, this.wcOwner);
11118
	this.wc.codeComplete(cursorLocation, requestor, this.wcOwner);
11164
11119
11165
	if(CompletionEngine.PROPOSE_MEMBER_TYPES) {
11120
	assertResults(
11166
		assertResults(
11121
			"",
11167
				"",
11122
			requestor.getResults());
11168
				requestor.getResults());
11169
	} else {
11170
		assertResults(
11171
				"CompletionInsideExtends12TopLevel[TYPE_REF]{CompletionInsideExtends12TopLevel, test, Ltest.CompletionInsideExtends12TopLevel;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}",
11172
				requestor.getResults());
11173
	}
11174
}
11123
}
11175
//https://bugs.eclipse.org/bugs/show_bug.cgi?id=84690
11124
//https://bugs.eclipse.org/bugs/show_bug.cgi?id=84690
11176
public void testCompletionArrayLength() throws JavaModelException {
11125
public void testCompletionArrayLength() throws JavaModelException {
Lines 11241-11258 Link Here
11241
    int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length();
11190
    int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length();
11242
    this.wc.codeComplete(cursorLocation, requestor, this.wcOwner);
11191
    this.wc.codeComplete(cursorLocation, requestor, this.wcOwner);
11243
11192
11244
    if(CompletionEngine.PROPOSE_MEMBER_TYPES) {
11193
	assertResults(
11245
    	assertResults(
11194
            "CompletionAllMemberTypes.Member1.Member2.Member3[TYPE_REF]{test.CompletionAllMemberTypes.Member1.Member2.Member3, test, Ltest.CompletionAllMemberTypes$Member1$Member2$Member3;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}\n" +
11246
	            "CompletionAllMemberTypes.Member1.Member2.Member3[TYPE_REF]{test.CompletionAllMemberTypes.Member1.Member2.Member3, test, Ltest.CompletionAllMemberTypes$Member1$Member2$Member3;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}\n" +
11195
			"CompletionAllMemberTypes.Member1[TYPE_REF]{Member1, test, Ltest.CompletionAllMemberTypes$Member1;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}\n" +
11247
				"CompletionAllMemberTypes.Member1[TYPE_REF]{Member1, test, Ltest.CompletionAllMemberTypes$Member1;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}\n" +
11196
			"CompletionAllMemberTypes.Member1.Member2[TYPE_REF]{Member2, test, Ltest.CompletionAllMemberTypes$Member1$Member2;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}",
11248
				"CompletionAllMemberTypes.Member1.Member2[TYPE_REF]{Member2, test, Ltest.CompletionAllMemberTypes$Member1$Member2;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}",
11197
            requestor.getResults());
11249
	            requestor.getResults());
11250
    } else {
11251
    	assertResults(
11252
	            "CompletionAllMemberTypes.Member1[TYPE_REF]{Member1, test, Ltest.CompletionAllMemberTypes$Member1;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}\n" +
11253
				"CompletionAllMemberTypes.Member1.Member2[TYPE_REF]{Member2, test, Ltest.CompletionAllMemberTypes$Member1$Member2;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}",
11254
	            requestor.getResults());
11255
    }
11256
}
11198
}
11257
public void testCompletionAllMemberTypes2() throws JavaModelException {
11199
public void testCompletionAllMemberTypes2() throws JavaModelException {
11258
    this.wc = getWorkingCopy(
11200
    this.wc = getWorkingCopy(
Lines 11283-11305 Link Here
11283
    int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length();
11225
    int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length();
11284
    this.wc.codeComplete(cursorLocation, requestor, this.wcOwner);
11226
    this.wc.codeComplete(cursorLocation, requestor, this.wcOwner);
11285
11227
11286
    if(CompletionEngine.PROPOSE_MEMBER_TYPES) {
11228
	assertResults(
11287
    	assertResults(
11229
            "CompletionAllMemberTypes2.Member1.Member2.Member3.Member4[TYPE_REF]{test.CompletionAllMemberTypes2.Member1.Member2.Member3.Member4, test, Ltest.CompletionAllMemberTypes2$Member1$Member2$Member3$Member4;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}\n" +
11288
	            "CompletionAllMemberTypes2.Member1.Member2.Member3.Member4[TYPE_REF]{test.CompletionAllMemberTypes2.Member1.Member2.Member3.Member4, test, Ltest.CompletionAllMemberTypes2$Member1$Member2$Member3$Member4;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}\n" +
11230
			"CompletionAllMemberTypes2.Member1.Member5.Member6[TYPE_REF]{test.CompletionAllMemberTypes2.Member1.Member5.Member6, test, Ltest.CompletionAllMemberTypes2$Member1$Member5$Member6;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}\n" +
11289
				"CompletionAllMemberTypes2.Member1.Member5.Member6[TYPE_REF]{test.CompletionAllMemberTypes2.Member1.Member5.Member6, test, Ltest.CompletionAllMemberTypes2$Member1$Member5$Member6;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}\n" +
11231
			"CompletionAllMemberTypes2.Member1[TYPE_REF]{Member1, test, Ltest.CompletionAllMemberTypes2$Member1;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}\n" +
11290
				"CompletionAllMemberTypes2.Member1[TYPE_REF]{Member1, test, Ltest.CompletionAllMemberTypes2$Member1;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}\n" +
11232
			"CompletionAllMemberTypes2.Member1.Member2[TYPE_REF]{Member2, test, Ltest.CompletionAllMemberTypes2$Member1$Member2;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}\n" +
11291
				"CompletionAllMemberTypes2.Member1.Member2[TYPE_REF]{Member2, test, Ltest.CompletionAllMemberTypes2$Member1$Member2;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}\n" +
11233
			"CompletionAllMemberTypes2.Member1.Member2.Member3[TYPE_REF]{Member3, test, Ltest.CompletionAllMemberTypes2$Member1$Member2$Member3;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}\n" +
11292
				"CompletionAllMemberTypes2.Member1.Member2.Member3[TYPE_REF]{Member3, test, Ltest.CompletionAllMemberTypes2$Member1$Member2$Member3;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}\n" +
11234
			"CompletionAllMemberTypes2.Member1.Member5[TYPE_REF]{Member5, test, Ltest.CompletionAllMemberTypes2$Member1$Member5;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}",
11293
				"CompletionAllMemberTypes2.Member1.Member5[TYPE_REF]{Member5, test, Ltest.CompletionAllMemberTypes2$Member1$Member5;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}",
11235
            requestor.getResults());
11294
	            requestor.getResults());
11295
    } else {
11296
    	assertResults(
11297
	            "CompletionAllMemberTypes2.Member1[TYPE_REF]{Member1, test, Ltest.CompletionAllMemberTypes2$Member1;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}\n" +
11298
				"CompletionAllMemberTypes2.Member1.Member2[TYPE_REF]{Member2, test, Ltest.CompletionAllMemberTypes2$Member1$Member2;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}\n" +
11299
				"CompletionAllMemberTypes2.Member1.Member2.Member3[TYPE_REF]{Member3, test, Ltest.CompletionAllMemberTypes2$Member1$Member2$Member3;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}\n" +
11300
				"CompletionAllMemberTypes2.Member1.Member5[TYPE_REF]{Member5, test, Ltest.CompletionAllMemberTypes2$Member1$Member5;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}",
11301
	            requestor.getResults());
11302
    }
11303
}
11236
}
11304
public void testCompletionAllMemberTypes3() throws JavaModelException {
11237
public void testCompletionAllMemberTypes3() throws JavaModelException {
11305
    this.wc = getWorkingCopy(
11238
    this.wc = getWorkingCopy(
Lines 11328-11352 Link Here
11328
    int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length();
11261
    int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length();
11329
    this.wc.codeComplete(cursorLocation, requestor, this.wcOwner);
11262
    this.wc.codeComplete(cursorLocation, requestor, this.wcOwner);
11330
11263
11331
    if(CompletionEngine.PROPOSE_MEMBER_TYPES) {
11264
	assertResults(
11332
    	assertResults(
11265
            "Member[POTENTIAL_METHOD_DECLARATION]{Member, Ltest.CompletionAllMemberTypes2$Member1$Member2;, ()V, Member, null, " + (R_DEFAULT + R_INTERESTING + R_NON_RESTRICTED) + "}\n" +
11333
	            "Member[POTENTIAL_METHOD_DECLARATION]{Member, Ltest.CompletionAllMemberTypes2$Member1$Member2;, ()V, Member, null, " + (R_DEFAULT + R_INTERESTING + R_NON_RESTRICTED) + "}\n" +
11266
			"CompletionAllMemberTypes2.Member1.Member2.Member3.Member4[TYPE_REF]{test.CompletionAllMemberTypes2.Member1.Member2.Member3.Member4, test, Ltest.CompletionAllMemberTypes2$Member1$Member2$Member3$Member4;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}\n" +
11334
				"CompletionAllMemberTypes2.Member1.Member2.Member3.Member4[TYPE_REF]{test.CompletionAllMemberTypes2.Member1.Member2.Member3.Member4, test, Ltest.CompletionAllMemberTypes2$Member1$Member2$Member3$Member4;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}\n" +
11267
			"CompletionAllMemberTypes2.Member1.Member5.Member6[TYPE_REF]{test.CompletionAllMemberTypes2.Member1.Member5.Member6, test, Ltest.CompletionAllMemberTypes2$Member1$Member5$Member6;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}\n" +
11335
				"CompletionAllMemberTypes2.Member1.Member5.Member6[TYPE_REF]{test.CompletionAllMemberTypes2.Member1.Member5.Member6, test, Ltest.CompletionAllMemberTypes2$Member1$Member5$Member6;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}\n" +
11268
			"CompletionAllMemberTypes2.Member1[TYPE_REF]{Member1, test, Ltest.CompletionAllMemberTypes2$Member1;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}\n" +
11336
				"CompletionAllMemberTypes2.Member1[TYPE_REF]{Member1, test, Ltest.CompletionAllMemberTypes2$Member1;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}\n" +
11269
			"CompletionAllMemberTypes2.Member1.Member2[TYPE_REF]{Member2, test, Ltest.CompletionAllMemberTypes2$Member1$Member2;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}\n" +
11337
				"CompletionAllMemberTypes2.Member1.Member2[TYPE_REF]{Member2, test, Ltest.CompletionAllMemberTypes2$Member1$Member2;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}\n" +
11270
			"CompletionAllMemberTypes2.Member1.Member2.Member3[TYPE_REF]{Member3, test, Ltest.CompletionAllMemberTypes2$Member1$Member2$Member3;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}\n" +
11338
				"CompletionAllMemberTypes2.Member1.Member2.Member3[TYPE_REF]{Member3, test, Ltest.CompletionAllMemberTypes2$Member1$Member2$Member3;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}\n" +
11271
			"CompletionAllMemberTypes2.Member1.Member5[TYPE_REF]{Member5, test, Ltest.CompletionAllMemberTypes2$Member1$Member5;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}",
11339
				"CompletionAllMemberTypes2.Member1.Member5[TYPE_REF]{Member5, test, Ltest.CompletionAllMemberTypes2$Member1$Member5;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}",
11272
            requestor.getResults());
11340
	            requestor.getResults());
11341
    } else {
11342
    	assertResults(
11343
	            "Member[POTENTIAL_METHOD_DECLARATION]{Member, Ltest.CompletionAllMemberTypes2$Member1$Member2;, ()V, Member, null, " + (R_DEFAULT + R_INTERESTING + R_NON_RESTRICTED) + "}\n" +
11344
				"CompletionAllMemberTypes2.Member1[TYPE_REF]{Member1, test, Ltest.CompletionAllMemberTypes2$Member1;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}\n" +
11345
				"CompletionAllMemberTypes2.Member1.Member2[TYPE_REF]{Member2, test, Ltest.CompletionAllMemberTypes2$Member1$Member2;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}\n" +
11346
				"CompletionAllMemberTypes2.Member1.Member2.Member3[TYPE_REF]{Member3, test, Ltest.CompletionAllMemberTypes2$Member1$Member2$Member3;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}\n" +
11347
				"CompletionAllMemberTypes2.Member1.Member5[TYPE_REF]{Member5, test, Ltest.CompletionAllMemberTypes2$Member1$Member5;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}",
11348
	            requestor.getResults());
11349
    }
11350
}
11273
}
11351
public void testCompletionAllMemberTypes4() throws JavaModelException {
11274
public void testCompletionAllMemberTypes4() throws JavaModelException {
11352
	ICompilationUnit anInterface = null;
11275
	ICompilationUnit anInterface = null;
Lines 11398-11427 Link Here
11398
	    int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length();
11321
	    int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length();
11399
	    this.wc.codeComplete(cursorLocation, requestor, this.wcOwner);
11322
	    this.wc.codeComplete(cursorLocation, requestor, this.wcOwner);
11400
	
11323
	
11401
	    if(CompletionEngine.PROPOSE_MEMBER_TYPES) {
11324
    	assertResults(
11402
	    	assertResults(
11325
	            "AnInterface.Member1.Member2[TYPE_REF]{test.AnInterface.Member1.Member2, test, Ltest.AnInterface$Member1$Member2;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}\n" +
11403
		            "AnInterface.Member1.Member2[TYPE_REF]{test.AnInterface.Member1.Member2, test, Ltest.AnInterface$Member1$Member2;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}\n" +
11326
				"AnInterface.Member1.Member2.Member3[TYPE_REF]{test.AnInterface.Member1.Member2.Member3, test, Ltest.AnInterface$Member1$Member2$Member3;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}\n" +
11404
					"AnInterface.Member1.Member2.Member3[TYPE_REF]{test.AnInterface.Member1.Member2.Member3, test, Ltest.AnInterface$Member1$Member2$Member3;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}\n" +
11327
				"AnInterface.Member1.Member2.Member3.Member4[TYPE_REF]{test.AnInterface.Member1.Member2.Member3.Member4, test, Ltest.AnInterface$Member1$Member2$Member3$Member4;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}\n" +
11405
					"AnInterface.Member1.Member2.Member3.Member4[TYPE_REF]{test.AnInterface.Member1.Member2.Member3.Member4, test, Ltest.AnInterface$Member1$Member2$Member3$Member4;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}\n" +
11328
				"AnInterface.Member1.Member5[TYPE_REF]{test.AnInterface.Member1.Member5, test, Ltest.AnInterface$Member1$Member5;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}\n" +
11406
					"AnInterface.Member1.Member5[TYPE_REF]{test.AnInterface.Member1.Member5, test, Ltest.AnInterface$Member1$Member5;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}\n" +
11329
				"AnInterface.Member1.Member5.Member6[TYPE_REF]{test.AnInterface.Member1.Member5.Member6, test, Ltest.AnInterface$Member1$Member5$Member6;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}\n" +
11407
					"AnInterface.Member1.Member5.Member6[TYPE_REF]{test.AnInterface.Member1.Member5.Member6, test, Ltest.AnInterface$Member1$Member5$Member6;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}\n" +
11330
				"CompletionAllMemberTypes2.Member1.Member2.Member3.Member4[TYPE_REF]{test.CompletionAllMemberTypes2.Member1.Member2.Member3.Member4, test, Ltest.CompletionAllMemberTypes2$Member1$Member2$Member3$Member4;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}\n" +
11408
					"CompletionAllMemberTypes2.Member1.Member2.Member3.Member4[TYPE_REF]{test.CompletionAllMemberTypes2.Member1.Member2.Member3.Member4, test, Ltest.CompletionAllMemberTypes2$Member1$Member2$Member3$Member4;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}\n" +
11331
				"CompletionAllMemberTypes2.Member1.Member5.Member6[TYPE_REF]{test.CompletionAllMemberTypes2.Member1.Member5.Member6, test, Ltest.CompletionAllMemberTypes2$Member1$Member5$Member6;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}\n" +
11409
					"CompletionAllMemberTypes2.Member1.Member5.Member6[TYPE_REF]{test.CompletionAllMemberTypes2.Member1.Member5.Member6, test, Ltest.CompletionAllMemberTypes2$Member1$Member5$Member6;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}\n" +
11332
				"AnInterface.Member1[TYPE_REF]{Member1, test, Ltest.AnInterface$Member1;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}\n" +
11410
					"AnInterface.Member1[TYPE_REF]{Member1, test, Ltest.AnInterface$Member1;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}\n" +
11333
				"CompletionAllMemberTypes2.Member1[TYPE_REF]{Member1, test, Ltest.CompletionAllMemberTypes2$Member1;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}\n" +
11411
					"CompletionAllMemberTypes2.Member1[TYPE_REF]{Member1, test, Ltest.CompletionAllMemberTypes2$Member1;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}\n" +
11334
				"CompletionAllMemberTypes2.Member1.Member2[TYPE_REF]{Member2, test, Ltest.CompletionAllMemberTypes2$Member1$Member2;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}\n" +
11412
					"CompletionAllMemberTypes2.Member1.Member2[TYPE_REF]{Member2, test, Ltest.CompletionAllMemberTypes2$Member1$Member2;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}\n" +
11335
				"CompletionAllMemberTypes2.Member1.Member2.Member3[TYPE_REF]{Member3, test, Ltest.CompletionAllMemberTypes2$Member1$Member2$Member3;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}\n" +
11413
					"CompletionAllMemberTypes2.Member1.Member2.Member3[TYPE_REF]{Member3, test, Ltest.CompletionAllMemberTypes2$Member1$Member2$Member3;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}\n" +
11336
				"CompletionAllMemberTypes2.Member1.Member5[TYPE_REF]{Member5, test, Ltest.CompletionAllMemberTypes2$Member1$Member5;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}",
11414
					"CompletionAllMemberTypes2.Member1.Member5[TYPE_REF]{Member5, test, Ltest.CompletionAllMemberTypes2$Member1$Member5;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}",
11337
	            requestor.getResults());
11415
		            requestor.getResults());
11416
	    } else {
11417
	    	assertResults(
11418
		            "AnInterface.Member1[TYPE_REF]{Member1, test, Ltest.AnInterface$Member1;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}\n" +
11419
					"CompletionAllMemberTypes2.Member1[TYPE_REF]{Member1, test, Ltest.CompletionAllMemberTypes2$Member1;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}\n" +
11420
					"CompletionAllMemberTypes2.Member1.Member2[TYPE_REF]{Member2, test, Ltest.CompletionAllMemberTypes2$Member1$Member2;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}\n" +
11421
					"CompletionAllMemberTypes2.Member1.Member2.Member3[TYPE_REF]{Member3, test, Ltest.CompletionAllMemberTypes2$Member1$Member2$Member3;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}\n" +
11422
					"CompletionAllMemberTypes2.Member1.Member5[TYPE_REF]{Member5, test, Ltest.CompletionAllMemberTypes2$Member1$Member5;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}",
11423
		            requestor.getResults());
11424
	    }
11425
	} finally {
11338
	} finally {
11426
		if(anInterface != null) {
11339
		if(anInterface != null) {
11427
			anInterface.discardWorkingCopy();
11340
			anInterface.discardWorkingCopy();
Lines 11466-11484 Link Here
11466
	    int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length();
11379
	    int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length();
11467
	    this.wc.codeComplete(cursorLocation, requestor, this.wcOwner);
11380
	    this.wc.codeComplete(cursorLocation, requestor, this.wcOwner);
11468
	
11381
	
11469
	    if(CompletionEngine.PROPOSE_MEMBER_TYPES) {
11382
    	// AType.Member1.Member2.Member3 and AType.Member1.Member2.Member3.Member4 should not be proposed because they are not visible.
11470
	    	// AType.Member1.Member2.Member3 and AType.Member1.Member2.Member3.Member4 should not be proposed because they are not visible.
11383
    	// But visibility need modifiers of enclosing types to be computed. 
11471
	    	// But visibility need modifiers of enclosing types to be computed. 
11384
    	assertResults(
11472
	    	assertResults(
11385
	            "AType.Member1[TYPE_REF]{test.AType.Member1, test, Ltest.AType$Member1;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}\n" +
11473
		            "AType.Member1[TYPE_REF]{test.AType.Member1, test, Ltest.AType$Member1;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}\n" +
11386
				"AType.Member1.Member2.Member3[TYPE_REF]{test.AType.Member1.Member2.Member3, test, Ltest.AType$Member1$Member2$Member3;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}\n" +
11474
					"AType.Member1.Member2.Member3[TYPE_REF]{test.AType.Member1.Member2.Member3, test, Ltest.AType$Member1$Member2$Member3;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}\n" +
11387
				"AType.Member1.Member2.Member3.Member4[TYPE_REF]{test.AType.Member1.Member2.Member3.Member4, test, Ltest.AType$Member1$Member2$Member3$Member4;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}",
11475
					"AType.Member1.Member2.Member3.Member4[TYPE_REF]{test.AType.Member1.Member2.Member3.Member4, test, Ltest.AType$Member1$Member2$Member3$Member4;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}",
11388
	            requestor.getResults());
11476
		            requestor.getResults());
11477
	    } else {
11478
	    	assertResults(
11479
		            "",
11480
		            requestor.getResults());
11481
	    }
11482
	} finally {
11389
	} finally {
11483
		if(aType != null) {
11390
		if(aType != null) {
11484
			aType.discardWorkingCopy();
11391
			aType.discardWorkingCopy();
Lines 11517-11531 Link Here
11517
	    int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length();
11424
	    int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length();
11518
	    this.wc.codeComplete(cursorLocation, requestor, this.wcOwner);
11425
	    this.wc.codeComplete(cursorLocation, requestor, this.wcOwner);
11519
	
11426
	
11520
	    if(CompletionEngine.PROPOSE_MEMBER_TYPES) {
11427
    	assertResults(
11521
	    	assertResults(
11428
	            "AType.Member1[TYPE_REF]{test.AType.Member1, test, Ltest.AType$Member1;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}",
11522
		            "AType.Member1[TYPE_REF]{test.AType.Member1, test, Ltest.AType$Member1;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}",
11429
	            requestor.getResults());
11523
		            requestor.getResults());
11524
	    } else {
11525
	    	assertResults(
11526
		            "",
11527
		            requestor.getResults());
11528
	    }
11529
	} finally {
11430
	} finally {
11530
		JavaCore.setOptions(oldCurrentOptions);
11431
		JavaCore.setOptions(oldCurrentOptions);
11531
	}
11432
	}
Lines 11559-11575 Link Here
11559
	    int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length();
11460
	    int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length();
11560
	    this.wc.codeComplete(cursorLocation, requestor, this.wcOwner);
11461
	    this.wc.codeComplete(cursorLocation, requestor, this.wcOwner);
11561
	
11462
	
11562
	    if(CompletionEngine.PROPOSE_MEMBER_TYPES) {
11463
    	assertResults(
11563
	    	assertResults(
11464
	            "AType.Member1.Member2[TYPE_REF]{test.AType.Member1.Member2, test, Ltest.AType$Member1$Member2;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}\n" +
11564
		            "AType.Member1.Member2[TYPE_REF]{test.AType.Member1.Member2, test, Ltest.AType$Member1$Member2;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}\n" +
11465
				"AType.Member1.Member2.Member3[TYPE_REF]{test.AType.Member1.Member2.Member3, test, Ltest.AType$Member1$Member2$Member3;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}\n" +
11565
					"AType.Member1.Member2.Member3[TYPE_REF]{test.AType.Member1.Member2.Member3, test, Ltest.AType$Member1$Member2$Member3;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}\n" +
11466
				"AType.Member1[TYPE_REF]{Member1, test, Ltest.AType$Member1;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}",
11566
					"AType.Member1[TYPE_REF]{Member1, test, Ltest.AType$Member1;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}",
11467
	            requestor.getResults());
11567
		            requestor.getResults());
11568
	    } else {
11569
	    	assertResults(
11570
		            "AType.Member1[TYPE_REF]{Member1, test, Ltest.AType$Member1;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}",
11571
		            requestor.getResults());
11572
	    }
11573
	} finally {
11468
	} finally {
11574
		JavaCore.setOptions(oldCurrentOptions);
11469
		JavaCore.setOptions(oldCurrentOptions);
11575
	}
11470
	}
(-)src/org/eclipse/jdt/core/tests/model/CodeCorrectionTests.java (-31 / +12 lines)
Lines 17-23 Link Here
17
import org.eclipse.jdt.core.*;
17
import org.eclipse.jdt.core.*;
18
import org.eclipse.jdt.core.compiler.IProblem;
18
import org.eclipse.jdt.core.compiler.IProblem;
19
import org.eclipse.jdt.core.search.*;
19
import org.eclipse.jdt.core.search.*;
20
import org.eclipse.jdt.internal.codeassist.CompletionEngine;
21
20
22
21
23
public class CodeCorrectionTests extends AbstractJavaModelTests {
22
public class CodeCorrectionTests extends AbstractJavaModelTests {
Lines 464-499 Link Here
464
	int start = src.indexOf(error);
463
	int start = src.indexOf(error);
465
	int end = start + error.length();
464
	int end = start + error.length();
466
	
465
	
467
	if(CompletionEngine.PROPOSE_MEMBER_TYPES) {
466
	assertEquals(
468
		assertEquals(
467
		"should have two suggestions", 
469
			"should have two suggestions", 
468
		"AListener",
470
			"AListener",
469
		requestor.getSuggestions());
471
			requestor.getSuggestions());
470
	assertEquals(
472
		assertEquals(
471
		"a start of a suggestion is not correct", 
473
			"a start of a suggestion is not correct", 
472
		""+start,
474
			""+start,
473
		requestor.getStarts());
475
			requestor.getStarts());
474
	assertEquals(
476
		assertEquals(
475
		"a end of a suggestion is not correct", 
477
			"a end of a suggestion is not correct", 
476
		""+end,
478
			""+end,
477
		requestor.getEnds());
479
			requestor.getEnds());
480
	} else {
481
		assertEquals(
482
			"should have two suggestions", 
483
			"AListener\n"+
484
			"AListenerEvent",
485
			requestor.getSuggestions());
486
		assertEquals(
487
			"a start of a suggestion is not correct", 
488
			start+"\n"+
489
			start,
490
			requestor.getStarts());
491
		assertEquals(
492
			"a end of a suggestion is not correct", 
493
			end+"\n"+
494
			end,
495
			requestor.getEnds());
496
	}
497
}
478
}
498
public void testCorrectException1() throws JavaModelException {
479
public void testCorrectException1() throws JavaModelException {
499
	CorrectionEngine engine = new CorrectionEngine(JavaCore.getOptions());
480
	CorrectionEngine engine = new CorrectionEngine(JavaCore.getOptions());
(-)src/org/eclipse/jdt/core/tests/model/CompletionTests_1_5.java (-119 / +52 lines)
Lines 1206-1221 Link Here
1206
		int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length();
1206
		int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length();
1207
		this.wc.codeComplete(cursorLocation, requestor, this.wcOwner);
1207
		this.wc.codeComplete(cursorLocation, requestor, this.wcOwner);
1208
	
1208
	
1209
		if(CompletionEngine.PROPOSE_MEMBER_TYPES) {
1209
		assertResults(
1210
			assertResults(
1210
				"QQType1.Inner1[TYPE_REF]{pkgstaticimport.QQType1.Inner1, pkgstaticimport, Lpkgstaticimport.QQType1$Inner1;, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}\n" +
1211
					"QQType1.Inner1[TYPE_REF]{pkgstaticimport.QQType1.Inner1, pkgstaticimport, Lpkgstaticimport.QQType1$Inner1;, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}\n" +
1211
				"QQType1.Inner2[TYPE_REF]{Inner2, pkgstaticimport, Lpkgstaticimport.QQType1$Inner2;, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}",
1212
					"QQType1.Inner2[TYPE_REF]{Inner2, pkgstaticimport, Lpkgstaticimport.QQType1$Inner2;, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}",
1212
				requestor.getResults());
1213
					requestor.getResults());
1214
		} else {
1215
			assertResults(
1216
					"QQType1.Inner2[TYPE_REF]{Inner2, pkgstaticimport, Lpkgstaticimport.QQType1$Inner2;, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}",
1217
					requestor.getResults());
1218
		}
1219
	} finally {
1213
	} finally {
1220
		this.discardWorkingCopies(qqTypes);
1214
		this.discardWorkingCopies(qqTypes);
1221
		
1215
		
Lines 1265-1287 Link Here
1265
		int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length();
1259
		int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length();
1266
		this.wc.codeComplete(cursorLocation, requestor, this.wcOwner);
1260
		this.wc.codeComplete(cursorLocation, requestor, this.wcOwner);
1267
	
1261
	
1268
		if(CompletionEngine.PROPOSE_MEMBER_TYPES) {
1262
		assertResults(
1269
			assertResults(
1263
				"QQType1.Inner1[TYPE_REF]{pkgstaticimport.QQType1.Inner1, pkgstaticimport, Lpkgstaticimport.QQType1$Inner1;, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}\n" +
1270
					"QQType1.Inner1[TYPE_REF]{pkgstaticimport.QQType1.Inner1, pkgstaticimport, Lpkgstaticimport.QQType1$Inner1;, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}\n" +
1264
				"QQType1.Inner2[TYPE_REF]{pkgstaticimport.QQType1.Inner2, pkgstaticimport, Lpkgstaticimport.QQType1$Inner2;, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}\n" +
1271
					"QQType1.Inner2[TYPE_REF]{pkgstaticimport.QQType1.Inner2, pkgstaticimport, Lpkgstaticimport.QQType1$Inner2;, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}\n" +
1265
				"QQType2.Inner1[TYPE_REF]{test0052.QQType2.Inner1, test0052, Ltest0052.QQType2$Inner1;, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}\n" +
1272
					"QQType2.Inner1[TYPE_REF]{test0052.QQType2.Inner1, test0052, Ltest0052.QQType2$Inner1;, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}\n" +
1266
				"QQType2.Inner3[TYPE_REF]{test0052.QQType2.Inner3, test0052, Ltest0052.QQType2$Inner3;, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}\n" +
1273
					"QQType2.Inner3[TYPE_REF]{test0052.QQType2.Inner3, test0052, Ltest0052.QQType2$Inner3;, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}\n" +
1267
				"QQType2.Inner7[TYPE_REF]{test0052.QQType2.Inner7, test0052, Ltest0052.QQType2$Inner7;, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}\n" +
1274
					"QQType2.Inner7[TYPE_REF]{test0052.QQType2.Inner7, test0052, Ltest0052.QQType2$Inner7;, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}\n" +
1268
				"QQType2.Inner2[TYPE_REF]{Inner2, test0052, Ltest0052.QQType2$Inner2;, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}\n" +
1275
					"QQType2.Inner2[TYPE_REF]{Inner2, test0052, Ltest0052.QQType2$Inner2;, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}\n" +
1269
				"QQType2.Inner4[TYPE_REF]{Inner4, test0052, Ltest0052.QQType2$Inner4;, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}\n" +
1276
					"QQType2.Inner4[TYPE_REF]{Inner4, test0052, Ltest0052.QQType2$Inner4;, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}\n" +
1270
				"QQType2.Inner8[TYPE_REF]{Inner8, test0052, Ltest0052.QQType2$Inner8;, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}",
1277
					"QQType2.Inner8[TYPE_REF]{Inner8, test0052, Ltest0052.QQType2$Inner8;, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}",
1271
				requestor.getResults());
1278
					requestor.getResults());
1279
		} else {assertResults(
1280
					"QQType2.Inner2[TYPE_REF]{Inner2, test0052, Ltest0052.QQType2$Inner2;, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}\n" +
1281
					"QQType2.Inner4[TYPE_REF]{Inner4, test0052, Ltest0052.QQType2$Inner4;, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}\n" +
1282
					"QQType2.Inner8[TYPE_REF]{Inner8, test0052, Ltest0052.QQType2$Inner8;, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}",
1283
					requestor.getResults());
1284
		}
1285
	} finally {
1272
	} finally {
1286
		this.discardWorkingCopies(qqTypes);
1273
		this.discardWorkingCopies(qqTypes);
1287
		if(qqType2 != null) {
1274
		if(qqType2 != null) {
Lines 1359-1374 Link Here
1359
		int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length();
1346
		int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length();
1360
		this.wc.codeComplete(cursorLocation, requestor, this.wcOwner);
1347
		this.wc.codeComplete(cursorLocation, requestor, this.wcOwner);
1361
	
1348
	
1362
		if(CompletionEngine.PROPOSE_MEMBER_TYPES) {
1349
		assertResults(
1363
			assertResults(
1350
				"QQType1.Inner1[TYPE_REF]{pkgstaticimport.QQType1.Inner1, pkgstaticimport, Lpkgstaticimport.QQType1$Inner1;, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}\n" +
1364
					"QQType1.Inner1[TYPE_REF]{pkgstaticimport.QQType1.Inner1, pkgstaticimport, Lpkgstaticimport.QQType1$Inner1;, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}\n" +
1351
				"QQType1.Inner2[TYPE_REF]{Inner2, pkgstaticimport, Lpkgstaticimport.QQType1$Inner2;, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}",
1365
					"QQType1.Inner2[TYPE_REF]{Inner2, pkgstaticimport, Lpkgstaticimport.QQType1$Inner2;, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}",
1352
				requestor.getResults());
1366
					requestor.getResults());
1367
		} else {
1368
			assertResults(
1369
					"QQType1.Inner2[TYPE_REF]{Inner2, pkgstaticimport, Lpkgstaticimport.QQType1$Inner2;, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}",
1370
					requestor.getResults());
1371
		}
1372
	} finally {
1353
	} finally {
1373
		this.discardWorkingCopies(qqTypes);
1354
		this.discardWorkingCopies(qqTypes);
1374
		
1355
		
Lines 1404-1419 Link Here
1404
		int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length();
1385
		int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length();
1405
		this.wc.codeComplete(cursorLocation, requestor, this.wcOwner);
1386
		this.wc.codeComplete(cursorLocation, requestor, this.wcOwner);
1406
	
1387
	
1407
		if(CompletionEngine.PROPOSE_MEMBER_TYPES) {
1388
		assertResults(
1408
			assertResults(
1389
				"QQType1.Inner1[TYPE_REF]{pkgstaticimport.QQType1.Inner1, pkgstaticimport, Lpkgstaticimport.QQType1$Inner1;, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}\n" +
1409
					"QQType1.Inner1[TYPE_REF]{pkgstaticimport.QQType1.Inner1, pkgstaticimport, Lpkgstaticimport.QQType1$Inner1;, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}\n" +
1390
				"QQType1.Inner2[TYPE_REF]{Inner2, pkgstaticimport, Lpkgstaticimport.QQType1$Inner2;, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}",
1410
					"QQType1.Inner2[TYPE_REF]{Inner2, pkgstaticimport, Lpkgstaticimport.QQType1$Inner2;, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}",
1391
				requestor.getResults());
1411
					requestor.getResults());
1412
		} else {
1413
			assertResults(
1414
					"QQType1.Inner2[TYPE_REF]{Inner2, pkgstaticimport, Lpkgstaticimport.QQType1$Inner2;, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}",
1415
					requestor.getResults());
1416
		}
1417
	} finally {
1392
	} finally {
1418
		this.discardWorkingCopies(qqTypes);
1393
		this.discardWorkingCopies(qqTypes);
1419
		
1394
		
Lines 1449-1464 Link Here
1449
		int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length();
1424
		int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length();
1450
		this.wc.codeComplete(cursorLocation, requestor, this.wcOwner);
1425
		this.wc.codeComplete(cursorLocation, requestor, this.wcOwner);
1451
	
1426
	
1452
		if(CompletionEngine.PROPOSE_MEMBER_TYPES) {
1427
		assertResults(
1453
			assertResults(
1428
				"QQType1.Inner1[TYPE_REF]{pkgstaticimport.QQType1.Inner1, pkgstaticimport, Lpkgstaticimport.QQType1$Inner1;, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}\n" +
1454
					"QQType1.Inner1[TYPE_REF]{pkgstaticimport.QQType1.Inner1, pkgstaticimport, Lpkgstaticimport.QQType1$Inner1;, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}\n" +
1429
				"QQType1.Inner2[TYPE_REF]{Inner2, pkgstaticimport, Lpkgstaticimport.QQType1$Inner2;, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}",
1455
					"QQType1.Inner2[TYPE_REF]{Inner2, pkgstaticimport, Lpkgstaticimport.QQType1$Inner2;, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}",
1430
				requestor.getResults());
1456
					requestor.getResults());
1457
		} else {
1458
			assertResults(
1459
					"QQType1.Inner2[TYPE_REF]{Inner2, pkgstaticimport, Lpkgstaticimport.QQType1$Inner2;, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}",
1460
					requestor.getResults());
1461
		}
1462
	} finally {
1431
	} finally {
1463
		this.discardWorkingCopies(qqTypes);
1432
		this.discardWorkingCopies(qqTypes);
1464
		
1433
		
Lines 1493-1508 Link Here
1493
		int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length();
1462
		int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length();
1494
		this.wc.codeComplete(cursorLocation, requestor, this.wcOwner);
1463
		this.wc.codeComplete(cursorLocation, requestor, this.wcOwner);
1495
	
1464
	
1496
		if(CompletionEngine.PROPOSE_MEMBER_TYPES) {
1465
		assertResults(
1497
			assertResults(
1466
				"QQType1.Inner1[TYPE_REF]{pkgstaticimport.QQType1.Inner1, pkgstaticimport, Lpkgstaticimport.QQType1$Inner1;, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}\n" +
1498
					"QQType1.Inner1[TYPE_REF]{pkgstaticimport.QQType1.Inner1, pkgstaticimport, Lpkgstaticimport.QQType1$Inner1;, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}\n" +
1467
				"QQType1.Inner2[TYPE_REF]{Inner2, pkgstaticimport, Lpkgstaticimport.QQType1$Inner2;, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}",
1499
					"QQType1.Inner2[TYPE_REF]{Inner2, pkgstaticimport, Lpkgstaticimport.QQType1$Inner2;, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}",
1468
				requestor.getResults());
1500
					requestor.getResults());
1501
		} else {
1502
			assertResults(
1503
					"QQType1.Inner2[TYPE_REF]{Inner2, pkgstaticimport, Lpkgstaticimport.QQType1$Inner2;, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}",
1504
					requestor.getResults());
1505
		}
1506
	} finally {
1469
	} finally {
1507
		this.discardWorkingCopies(qqTypes);
1470
		this.discardWorkingCopies(qqTypes);
1508
		
1471
		
Lines 6449-6467 Link Here
6449
	            "expectedTypesKeys=null",
6412
	            "expectedTypesKeys=null",
6450
	            result.context);
6413
	            result.context);
6451
	    
6414
	    
6452
	    if(CompletionEngine.PROPOSE_MEMBER_TYPES) {
6415
	    assertResults(
6453
		    assertResults(
6416
	            "ZZType[TYPE_REF]{p.ZZType, p, Lp.ZZType;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}\n" +
6454
		            "ZZType[TYPE_REF]{p.ZZType, p, Lp.ZZType;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}\n" +
6417
				"ZZType.ZZAnnotation[TYPE_REF]{p.ZZType.ZZAnnotation, p, Lp.ZZType$ZZAnnotation;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}\n" +
6455
					"ZZType.ZZAnnotation[TYPE_REF]{p.ZZType.ZZAnnotation, p, Lp.ZZType$ZZAnnotation;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}\n" +
6418
				"ZZType.ZZClass[TYPE_REF]{p.ZZType.ZZClass, p, Lp.ZZType$ZZClass;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}\n" +
6456
					"ZZType.ZZClass[TYPE_REF]{p.ZZType.ZZClass, p, Lp.ZZType$ZZClass;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}\n" +
6419
				"ZZType.ZZEnum[TYPE_REF]{p.ZZType.ZZEnum, p, Lp.ZZType$ZZEnum;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}\n" +
6457
					"ZZType.ZZEnum[TYPE_REF]{p.ZZType.ZZEnum, p, Lp.ZZType$ZZEnum;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}\n" +
6420
				"ZZType.ZZInterface[TYPE_REF]{p.ZZType.ZZInterface, p, Lp.ZZType$ZZInterface;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}",
6458
					"ZZType.ZZInterface[TYPE_REF]{p.ZZType.ZZInterface, p, Lp.ZZType$ZZInterface;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}",
6421
	            result.proposals);
6459
		            result.proposals);
6460
	    } else {
6461
	    	assertResults(
6462
		            "ZZType[TYPE_REF]{p.ZZType, p, Lp.ZZType;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}",
6463
		            result.proposals);
6464
	    }
6465
	} finally {
6422
	} finally {
6466
		if(aType != null) {
6423
		if(aType != null) {
6467
			aType.discardWorkingCopy();
6424
			aType.discardWorkingCopy();
Lines 6498-6513 Link Here
6498
	            "expectedTypesKeys=null",
6455
	            "expectedTypesKeys=null",
6499
	            result.context);
6456
	            result.context);
6500
	    
6457
	    
6501
	    if(CompletionEngine.PROPOSE_MEMBER_TYPES) {
6458
	    assertResults(
6502
		    assertResults(
6459
	            "ZZType[TYPE_REF]{p.ZZType, p, Lp.ZZType;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_CLASS + R_NON_RESTRICTED) + "}\n" +
6503
		            "ZZType[TYPE_REF]{p.ZZType, p, Lp.ZZType;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_CLASS + R_NON_RESTRICTED) + "}\n" +
6460
				"ZZType.ZZClass[TYPE_REF]{p.ZZType.ZZClass, p, Lp.ZZType$ZZClass;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_CLASS + R_NON_RESTRICTED) + "}",
6504
					"ZZType.ZZClass[TYPE_REF]{p.ZZType.ZZClass, p, Lp.ZZType$ZZClass;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_CLASS + R_NON_RESTRICTED) + "}",
6461
	            result.proposals);
6505
		            result.proposals);
6506
	    } else {
6507
	    	assertResults(
6508
		            "ZZType[TYPE_REF]{p.ZZType, p, Lp.ZZType;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_CLASS + R_NON_RESTRICTED) + "}",
6509
		            result.proposals);
6510
	    }
6511
	} finally {
6462
	} finally {
6512
		if(aType != null) {
6463
		if(aType != null) {
6513
			aType.discardWorkingCopy();
6464
			aType.discardWorkingCopy();
Lines 6544-6559 Link Here
6544
	            "expectedTypesKeys=null",
6495
	            "expectedTypesKeys=null",
6545
	            result.context);
6496
	            result.context);
6546
	    
6497
	    
6547
	    if(CompletionEngine.PROPOSE_MEMBER_TYPES) {
6498
	    assertResults(
6548
		    assertResults(
6499
	            "ZZType.ZZAnnotation[TYPE_REF]{p.ZZType.ZZAnnotation, p, Lp.ZZType$ZZAnnotation;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_INTERFACE + R_NON_RESTRICTED) + "}\n" +
6549
		            "ZZType.ZZAnnotation[TYPE_REF]{p.ZZType.ZZAnnotation, p, Lp.ZZType$ZZAnnotation;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_INTERFACE + R_NON_RESTRICTED) + "}\n" +
6500
				"ZZType.ZZInterface[TYPE_REF]{p.ZZType.ZZInterface, p, Lp.ZZType$ZZInterface;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_INTERFACE + R_NON_RESTRICTED) + "}",
6550
					"ZZType.ZZInterface[TYPE_REF]{p.ZZType.ZZInterface, p, Lp.ZZType$ZZInterface;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_INTERFACE + R_NON_RESTRICTED) + "}",
6501
	            result.proposals);
6551
		            result.proposals);
6552
	    } else {
6553
	    	assertResults(
6554
		            "ZZType[TYPE_REF]{p.ZZType, p, Lp.ZZType;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}",
6555
		            result.proposals);
6556
	    }
6557
	} finally {
6502
	} finally {
6558
		if(aType != null) {
6503
		if(aType != null) {
6559
			aType.discardWorkingCopy();
6504
			aType.discardWorkingCopy();
Lines 6590-6605 Link Here
6590
	            "expectedTypesKeys=null",
6535
	            "expectedTypesKeys=null",
6591
	            result.context);
6536
	            result.context);
6592
	    
6537
	    
6593
	    if(CompletionEngine.PROPOSE_MEMBER_TYPES) {
6538
	    assertResults(
6594
		    assertResults(
6539
	            "ZZType.ZZAnnotation[TYPE_REF]{p.ZZType.ZZAnnotation, p, Lp.ZZType$ZZAnnotation;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_INTERFACE + R_NON_RESTRICTED) + "}\n" +
6595
		            "ZZType.ZZAnnotation[TYPE_REF]{p.ZZType.ZZAnnotation, p, Lp.ZZType$ZZAnnotation;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_INTERFACE + R_NON_RESTRICTED) + "}\n" +
6540
				"ZZType.ZZInterface[TYPE_REF]{p.ZZType.ZZInterface, p, Lp.ZZType$ZZInterface;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_INTERFACE + R_NON_RESTRICTED) + "}",
6596
					"ZZType.ZZInterface[TYPE_REF]{p.ZZType.ZZInterface, p, Lp.ZZType$ZZInterface;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_INTERFACE + R_NON_RESTRICTED) + "}",
6541
	            result.proposals);
6597
		            result.proposals);
6598
	    } else {
6599
	    	assertResults(
6600
		            "ZZType[TYPE_REF]{p.ZZType, p, Lp.ZZType;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}",
6601
		            result.proposals);
6602
	    }
6603
	} finally {
6542
	} finally {
6604
		if(aType != null) {
6543
		if(aType != null) {
6605
			aType.discardWorkingCopy();
6544
			aType.discardWorkingCopy();
Lines 6637-6651 Link Here
6637
	            "expectedTypesKeys=null",
6576
	            "expectedTypesKeys=null",
6638
	            result.context);
6577
	            result.context);
6639
	    
6578
	    
6640
	    if(CompletionEngine.PROPOSE_MEMBER_TYPES) {
6579
	    assertResults(
6641
		    assertResults(
6580
	            "ZZType.ZZAnnotation[TYPE_REF]{p.ZZType.ZZAnnotation, p, Lp.ZZType$ZZAnnotation;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_ANNOTATION + R_NON_RESTRICTED) + "}",
6642
		            "ZZType.ZZAnnotation[TYPE_REF]{p.ZZType.ZZAnnotation, p, Lp.ZZType$ZZAnnotation;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_ANNOTATION + R_NON_RESTRICTED) + "}",
6581
	            result.proposals);
6643
		            result.proposals);
6644
	    } else {
6645
	    	assertResults(
6646
		            "ZZType[TYPE_REF]{p.ZZType, p, Lp.ZZType;, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}",
6647
		            result.proposals);
6648
	    }
6649
	} finally {
6582
	} finally {
6650
		if(aType != null) {
6583
		if(aType != null) {
6651
			aType.discardWorkingCopy();
6584
			aType.discardWorkingCopy();

Return to bug 156194