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

Collapse All | Expand All

(-)src/org/eclipse/jdt/core/tests/model/CompletionTests_1_5.java (+29 lines)
Lines 9308-9313 Link Here
9308
			"compareTo[METHOD_REF]{compareTo(), Ltest.ComparableTest<!*>;, (!*)I, compareTo, (t), " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_STATIC + R_NON_RESTRICTED) + "}",
9308
			"compareTo[METHOD_REF]{compareTo(), Ltest.ComparableTest<!*>;, (!*)I, compareTo, (t), " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_STATIC + R_NON_RESTRICTED) + "}",
9309
			requestor.getResults());
9309
			requestor.getResults());
9310
}
9310
}
9311
//https://bugs.eclipse.org/bugs/show_bug.cgi?id=154993
9312
public void test0297() throws JavaModelException {
9313
	this.workingCopies = new ICompilationUnit[2];
9314
	this.workingCopies[0] = getWorkingCopy(
9315
			"/Completion/src3/test/Test.java",
9316
			"package test;\n" +
9317
			"public class Test {\n" +
9318
			"    String description = \"Some description\";\n" +
9319
			"    @Description(this.description)\n" +
9320
			"    public void method() {\n" +
9321
			"    }");
9322
	
9323
	this.workingCopies[1] = getWorkingCopy(
9324
			"/Completion/src3/test/Description.java",
9325
			"package test;\n" +
9326
			"public @interface Description {\n" +
9327
			"    String value();\n" +
9328
			"}");
9329
	
9330
	CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true);
9331
	String str = this.workingCopies[0].getSource();
9332
	String completeBehind = "this.";
9333
	int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length();
9334
	this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner);
9335
9336
	assertResults(
9337
			"",
9338
			requestor.getResults());
9339
}
9311
//https://bugs.eclipse.org/bugs/show_bug.cgi?id=153130
9340
//https://bugs.eclipse.org/bugs/show_bug.cgi?id=153130
9312
public void testEC001() throws JavaModelException {
9341
public void testEC001() throws JavaModelException {
9313
	this.workingCopies = new ICompilationUnit[1];
9342
	this.workingCopies = new ICompilationUnit[1];
(-)codeassist/org/eclipse/jdt/internal/codeassist/CompletionEngine.java (-15 / +17 lines)
Lines 1147-1168 Link Here
1147
							insideTypeAnnotation);
1147
							insideTypeAnnotation);
1148
				}
1148
				}
1149
			} else {
1149
			} else {
1150
				if (!this.requestor.isIgnored(CompletionProposal.KEYWORD)) {
1150
				if (!access.isInsideAnnotation) {
1151
					findKeywords(this.completionToken, new char[][]{Keywords.NEW}, false, false);
1151
					if (!this.requestor.isIgnored(CompletionProposal.KEYWORD)) {
1152
						findKeywords(this.completionToken, new char[][]{Keywords.NEW}, false, false);
1153
					}
1154
					
1155
					findFieldsAndMethods(
1156
						this.completionToken,
1157
						((TypeBinding) qualifiedBinding).capture(scope, access.receiver.sourceEnd),
1158
						scope,
1159
						access,
1160
						scope,
1161
						false,
1162
						access.receiver instanceof SuperReference,
1163
						null,
1164
						null,
1165
						null,
1166
						false);
1152
				}
1167
				}
1153
				
1154
				findFieldsAndMethods(
1155
					this.completionToken,
1156
					((TypeBinding) qualifiedBinding).capture(scope, access.receiver.sourceEnd),
1157
					scope,
1158
					access,
1159
					scope,
1160
					false,
1161
					access.receiver instanceof SuperReference,
1162
					null,
1163
					null,
1164
					null,
1165
					false);
1166
			}
1168
			}
1167
1169
1168
		} else if (astNode instanceof CompletionOnMessageSend) {
1170
		} else if (astNode instanceof CompletionOnMessageSend) {
(-)codeassist/org/eclipse/jdt/internal/codeassist/complete/CompletionOnMemberAccess.java (-1 / +4 lines)
Lines 37-45 Link Here
37
37
38
public class CompletionOnMemberAccess extends FieldReference {
38
public class CompletionOnMemberAccess extends FieldReference {
39
	
39
	
40
	public CompletionOnMemberAccess(char[] source, long pos) {
40
	public boolean isInsideAnnotation;
41
	
42
	public CompletionOnMemberAccess(char[] source, long pos, boolean isInsideAnnotation) {
41
		
43
		
42
		super(source, pos);
44
		super(source, pos);
45
		this.isInsideAnnotation = isInsideAnnotation;
43
	}
46
	}
44
	
47
	
45
	public StringBuffer printExpression(int indent, StringBuffer output) {
48
	public StringBuffer printExpression(int indent, StringBuffer output) {
(-)codeassist/org/eclipse/jdt/internal/codeassist/complete/CompletionParser.java (-1 / +1 lines)
Lines 3705-3711 Link Here
3705
private void pushCompletionOnMemberAccessOnExpressionStack(boolean isSuperAccess) {
3705
private void pushCompletionOnMemberAccessOnExpressionStack(boolean isSuperAccess) {
3706
	char[] source = identifierStack[identifierPtr];
3706
	char[] source = identifierStack[identifierPtr];
3707
	long pos = identifierPositionStack[identifierPtr--];
3707
	long pos = identifierPositionStack[identifierPtr--];
3708
	CompletionOnMemberAccess fr = new CompletionOnMemberAccess(source, pos);
3708
	CompletionOnMemberAccess fr = new CompletionOnMemberAccess(source, pos, isInsideAnnotation());
3709
	this.assistNode = fr;
3709
	this.assistNode = fr;
3710
	this.lastCheckPoint = fr.sourceEnd + 1;
3710
	this.lastCheckPoint = fr.sourceEnd + 1;
3711
	identifierLengthPtr--;
3711
	identifierLengthPtr--;

Return to bug 154993