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

(-)src/org/eclipse/jdt/core/tests/model/CompletionTests_1_5.java (+56 lines)
Lines 9337-9342 Link Here
9337
			"",
9337
			"",
9338
			requestor.getResults());
9338
			requestor.getResults());
9339
}
9339
}
9340
//https://bugs.eclipse.org/bugs/show_bug.cgi?id=164792
9341
public void test0298() throws JavaModelException {
9342
	this.workingCopies = new ICompilationUnit[2];
9343
	this.workingCopies[0] = getWorkingCopy(
9344
			"/Completion/src3/test/Test.java",
9345
			"package test;\n" +
9346
			"public class Test {\n" +
9347
			"    public void method(ZZZ[] z) {\n" +
9348
			"        ZZZ[] z2 = z.clon\n" +
9349
			"    }\n" +
9350
			"}");
9351
	
9352
	this.workingCopies[1] = getWorkingCopy(
9353
			"/Completion/src3/test/ZZZ.java",
9354
			"package test;\n" +
9355
			"public class ZZZ {\n" +
9356
			"}");
9357
	
9358
	CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true);
9359
	String str = this.workingCopies[0].getSource();
9360
	String completeBehind = "clon";
9361
	int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length();
9362
	this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner);
9363
9364
	assertResults(
9365
			"clone[METHOD_REF]{clone(), [Ltest.ZZZ;, ()[Ltest.ZZZ;, clone, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_STATIC + R_NON_RESTRICTED) + "}",
9366
			requestor.getResults());
9367
}
9368
//https://bugs.eclipse.org/bugs/show_bug.cgi?id=164792
9369
public void test0299() throws JavaModelException {
9370
	this.workingCopies = new ICompilationUnit[2];
9371
	this.workingCopies[0] = getWorkingCopy(
9372
			"/Completion/src3/test/Test.java",
9373
			"package test;\n" +
9374
			"public class Test {\n" +
9375
			"    public void method(ZZZ z) {\n" +
9376
			"        ZZZ z2 = z.clon\n" +
9377
			"    }\n" +
9378
			"}");
9379
	
9380
	this.workingCopies[1] = getWorkingCopy(
9381
			"/Completion/src3/test/ZZZ.java",
9382
			"package test;\n" +
9383
			"public class ZZZ {\n" +
9384
			"}");
9385
	
9386
	CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true);
9387
	String str = this.workingCopies[0].getSource();
9388
	String completeBehind = "clon";
9389
	int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length();
9390
	this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner);
9391
9392
	assertResults(
9393
			"clone[METHOD_REF]{clone(), Ljava.lang.Object;, ()Ljava.lang.Object;, clone, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_STATIC + R_NON_RESTRICTED) + "}",
9394
			requestor.getResults());
9395
}
9340
//https://bugs.eclipse.org/bugs/show_bug.cgi?id=153130
9396
//https://bugs.eclipse.org/bugs/show_bug.cgi?id=153130
9341
public void testEC001() throws JavaModelException {
9397
public void testEC001() throws JavaModelException {
9342
	this.workingCopies = new ICompilationUnit[1];
9398
	this.workingCopies = new ICompilationUnit[1];
(-)codeassist/org/eclipse/jdt/internal/codeassist/CompletionEngine.java (-13 / +25 lines)
Lines 2987-2997 Link Here
2987
					CompletionProposal proposal = this.createProposal(CompletionProposal.METHOD_REF, this.actualCompletionPosition);
2987
					CompletionProposal proposal = this.createProposal(CompletionProposal.METHOD_REF, this.actualCompletionPosition);
2988
					proposal.setDeclarationSignature(getSignature(receiverType));
2988
					proposal.setDeclarationSignature(getSignature(receiverType));
2989
					proposal.setSignature(
2989
					proposal.setSignature(
2990
							createMethodSignature(
2990
							this.compilerOptions.sourceLevel > ClassFileConstants.JDK1_4 && receiverType.isArrayType() ?
2991
									CharOperation.NO_CHAR_CHAR,
2991
									createMethodSignature(
2992
									CharOperation.NO_CHAR_CHAR,
2992
											CharOperation.NO_CHAR_CHAR,
2993
									CharOperation.concatWith(JAVA_LANG, '.'),
2993
											CharOperation.NO_CHAR_CHAR,
2994
									OBJECT));
2994
											getSignature(receiverType)) :
2995
									createMethodSignature(
2996
											CharOperation.NO_CHAR_CHAR,
2997
											CharOperation.NO_CHAR_CHAR,
2998
											CharOperation.concatWith(JAVA_LANG, '.'),
2999
											OBJECT));
2995
					//proposal.setOriginalSignature(null);
3000
					//proposal.setOriginalSignature(null);
2996
					//proposal.setDeclarationPackageName(null);
3001
					//proposal.setDeclarationPackageName(null);
2997
					//proposal.setDeclarationTypeName(null);
3002
					//proposal.setDeclarationTypeName(null);
Lines 7233-7238 Link Here
7233
	}
7238
	}
7234
	
7239
	
7235
	public static char[] createMethodSignature(char[][] parameterPackageNames, char[][] parameterTypeNames, char[] returnPackagename, char[] returnTypeName) {
7240
	public static char[] createMethodSignature(char[][] parameterPackageNames, char[][] parameterTypeNames, char[] returnPackagename, char[] returnTypeName) {
7241
		char[] returnTypeSignature =
7242
			returnTypeName == null || returnTypeName.length == 0
7243
			? Signature.createCharArrayTypeSignature(VOID, true)
7244
			: Signature.createCharArrayTypeSignature(
7245
					CharOperation.concat(
7246
							returnPackagename,
7247
							CharOperation.replaceOnCopy(returnTypeName, '.', '$'), '.'), true);
7248
		
7249
		return createMethodSignature(
7250
				parameterPackageNames,
7251
				parameterTypeNames,
7252
				returnTypeSignature);
7253
	}
7254
	
7255
	public static char[] createMethodSignature(char[][] parameterPackageNames, char[][] parameterTypeNames, char[] returnTypeSignature) {
7236
		char[][] parameterTypeSignature = new char[parameterTypeNames.length][];
7256
		char[][] parameterTypeSignature = new char[parameterTypeNames.length][];
7237
		for (int i = 0; i < parameterTypeSignature.length; i++) {
7257
		for (int i = 0; i < parameterTypeSignature.length; i++) {
7238
			parameterTypeSignature[i] = 
7258
			parameterTypeSignature[i] = 
Lines 7241-7254 Link Here
7241
								parameterPackageNames[i],
7261
								parameterPackageNames[i],
7242
								CharOperation.replaceOnCopy(parameterTypeNames[i], '.', '$'), '.'), true);
7262
								CharOperation.replaceOnCopy(parameterTypeNames[i], '.', '$'), '.'), true);
7243
		}
7263
		}
7244
		
7245
		char[] returnTypeSignature =
7246
			returnTypeName == null || returnTypeName.length == 0
7247
			? Signature.createCharArrayTypeSignature(VOID, true)
7248
			: Signature.createCharArrayTypeSignature(
7249
					CharOperation.concat(
7250
							returnPackagename,
7251
							CharOperation.replaceOnCopy(returnTypeName, '.', '$'), '.'), true);
7252
			
7264
			
7253
		return Signature.createMethodSignature(
7265
		return Signature.createMethodSignature(
7254
				parameterTypeSignature,
7266
				parameterTypeSignature,

Return to bug 164792