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

(-)codeassist/org/eclipse/jdt/internal/codeassist/CompletionEngine.java (-5 / +13 lines)
Lines 626-631 Link Here
626
626
627
		this.knownPkgs.put(packageName, this);
627
		this.knownPkgs.put(packageName, this);
628
		
628
		
629
		char[] completion;
630
		if(this.resolvingImports) {
631
			if(this.resolvingStaticImports) {
632
				completion = CharOperation.concat(packageName, new char[] { '.' });
633
			} else {
634
				completion = CharOperation.concat(packageName, new char[] { '.', '*', ';' });
635
			}
636
		} else {
637
			completion = packageName;
638
		}
639
								
629
		int relevance = computeBaseRelevance();
640
		int relevance = computeBaseRelevance();
630
		relevance += computeRelevanceForInterestingProposal();
641
		relevance += computeRelevanceForInterestingProposal();
631
		relevance += computeRelevanceForCaseMatching(this.qualifiedCompletionToken == null ? this.completionToken : this.qualifiedCompletionToken, packageName);
642
		relevance += computeRelevanceForCaseMatching(this.qualifiedCompletionToken == null ? this.completionToken : this.qualifiedCompletionToken, packageName);
Lines 639-648 Link Here
639
			CompletionProposal proposal = this.createProposal(CompletionProposal.PACKAGE_REF, this.actualCompletionPosition);
650
			CompletionProposal proposal = this.createProposal(CompletionProposal.PACKAGE_REF, this.actualCompletionPosition);
640
			proposal.setDeclarationSignature(packageName);
651
			proposal.setDeclarationSignature(packageName);
641
			proposal.setPackageName(packageName);
652
			proposal.setPackageName(packageName);
642
			proposal.setCompletion(
653
			proposal.setCompletion(completion);
643
					this.resolvingImports
644
					? CharOperation.concat(packageName, new char[] { '.', '*', ';' })
645
					: packageName);
646
			proposal.setReplaceRange(this.startPosition - this.offset, this.endPosition - this.offset);
654
			proposal.setReplaceRange(this.startPosition - this.offset, this.endPosition - this.offset);
647
			proposal.setRelevance(relevance);
655
			proposal.setRelevance(relevance);
648
			this.requestor.accept(proposal);
656
			this.requestor.accept(proposal);
Lines 6846-6849 Link Here
6846
		}
6854
		}
6847
		return name;
6855
		return name;
6848
	}
6856
	}
6849
}
6857
}
(-)src/org/eclipse/jdt/core/tests/model/CompletionTests.java (+53 lines)
Lines 12369-12372 Link Here
12369
		COMPLETION_PROJECT.setOptions(options);
12369
		COMPLETION_PROJECT.setOptions(options);
12370
	}
12370
	}
12371
}
12371
}
12372
12373
// https://bugs.eclipse.org/bugs/show_bug.cgi?id=97085
12374
public void testPackageStaticImport1() throws JavaModelException {
12375
	this.workingCopies = new ICompilationUnit[2];
12376
	this.workingCopies[0] = getWorkingCopy(
12377
		"/Completion/src/test/Test.java",
12378
		"package test;"+
12379
		"import test0.tes"+
12380
		"public class Test {\n"+
12381
		"}");
12382
	
12383
	this.workingCopies[1] = getWorkingCopy(
12384
		"/Completion/src/test0/test1/X.java",
12385
		"package test0/test1;"+
12386
		"public class X {\n"+
12387
		"}");
12388
12389
	CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true);
12390
	String str = this.workingCopies[0].getSource();
12391
	String completeBehind = "test0.tes";
12392
	int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length();
12393
	this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner);
12394
12395
	assertResults(
12396
			"test0.test1[PACKAGE_REF]{test0.test1.*;, test0.test1, null, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}",
12397
			requestor.getResults());
12398
}
12399
// https://bugs.eclipse.org/bugs/show_bug.cgi?id=97085
12400
public void testPackageStaticImport2() throws JavaModelException {
12401
	this.workingCopies = new ICompilationUnit[2];
12402
	this.workingCopies[0] = getWorkingCopy(
12403
		"/Completion/src/test/Test.java",
12404
		"package test;"+
12405
		"import static test0.tes"+
12406
		"public class Test {\n"+
12407
		"}");
12408
	
12409
	this.workingCopies[1] = getWorkingCopy(
12410
		"/Completion/src/test0/test1/X.java",
12411
		"package test0/test1;"+
12412
		"public class X {\n"+
12413
		"}");
12414
12415
	CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true);
12416
	String str = this.workingCopies[0].getSource();
12417
	String completeBehind = "test0.tes";
12418
	int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length();
12419
	this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner);
12420
12421
	assertResults(
12422
			"test0.test1[PACKAGE_REF]{test0.test1., test0.test1, null, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}",
12423
			requestor.getResults());
12424
}
12372
}
12425
}
(-)src/org/eclipse/jdt/core/tests/model/CompletionTests_1_5.java (-2 / +2 lines)
Lines 1901-1908 Link Here
1901
		cu.codeComplete(cursorLocation, requestor, this.wcOwner);
1901
		cu.codeComplete(cursorLocation, requestor, this.wcOwner);
1902
	
1902
	
1903
		assertResults(
1903
		assertResults(
1904
				"test0070.p[PACKAGE_REF]{test0070.p.*;, test0070.p, null, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}\n" +
1904
				"test0070.p[PACKAGE_REF]{test0070.p., test0070.p, null, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}\n" +
1905
				"test0070[PACKAGE_REF]{test0070.*;, test0070, null, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_EXACT_NAME + R_NON_RESTRICTED) + "}",
1905
				"test0070[PACKAGE_REF]{test0070., test0070, null, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_EXACT_NAME + R_NON_RESTRICTED) + "}",
1906
				requestor.getResults());
1906
				requestor.getResults());
1907
	} finally {
1907
	} finally {
1908
		if(importedClass != null) {
1908
		if(importedClass != null) {

Return to bug 97085