### Eclipse Workspace Patch 1.0 #P org.eclipse.jdt.core Index: codeassist/org/eclipse/jdt/internal/codeassist/RelevanceConstants.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/RelevanceConstants.java,v retrieving revision 1.33 diff -u -r1.33 RelevanceConstants.java --- codeassist/org/eclipse/jdt/internal/codeassist/RelevanceConstants.java 26 Apr 2007 11:27:48 -0000 1.33 +++ codeassist/org/eclipse/jdt/internal/codeassist/RelevanceConstants.java 14 May 2007 08:04:28 -0000 @@ -43,4 +43,5 @@ int R_NO_PROBLEMS = 1; int R_RESOLVED = 1; int R_TARGET = 5; + int R_CONSTRUCTOR = 5; } Index: codeassist/org/eclipse/jdt/internal/codeassist/CompletionEngine.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/CompletionEngine.java,v retrieving revision 1.327 diff -u -r1.327 CompletionEngine.java --- codeassist/org/eclipse/jdt/internal/codeassist/CompletionEngine.java 26 Apr 2007 11:27:48 -0000 1.327 +++ codeassist/org/eclipse/jdt/internal/codeassist/CompletionEngine.java 14 May 2007 08:04:28 -0000 @@ -438,7 +438,7 @@ acceptedTypes.add(new AcceptedType(packageName, simpleTypeName, enclosingTypeNames, modifiers, accessibility)); } - private void acceptTypes(Scope scope) { + private void acceptTypes(boolean proposeConstructor, InvocationSite invocationSite, Scope scope) { if(this.acceptedTypes == null) return; int length = this.acceptedTypes.size(); @@ -515,6 +515,8 @@ typeName, fullyQualifiedName, !CharOperation.equals(fullyQualifiedName, importName[1]), + proposeConstructor, + invocationSite, scope); continue next; } @@ -530,6 +532,8 @@ typeName, fullyQualifiedName, false, + proposeConstructor, + invocationSite, scope); continue next; } else { @@ -615,6 +619,8 @@ typeName, fullyQualifiedName, true, + proposeConstructor, + invocationSite, scope); } } @@ -634,6 +640,8 @@ value.qualifiedTypeName, value.fullyQualifiedName, value.mustBeQualified, + proposeConstructor, + invocationSite, scope); } } @@ -697,7 +705,17 @@ return true; } - private void proposeType(char[] packageName, char[] simpleTypeName, int modifiers, int accessibility, char[] typeName, char[] fullyQualifiedName, boolean isQualified, Scope scope) { + private void proposeType( + char[] packageName, + char[] simpleTypeName, + int modifiers, + int accessibility, + char[] typeName, + char[] fullyQualifiedName, + boolean isQualified, + boolean proposeConstructor, + InvocationSite invocationSite, + Scope scope) { char[] completionName = fullyQualifiedName; if(isQualified) { if (packageName == null || packageName.length == 0) @@ -707,7 +725,7 @@ completionName = simpleTypeName; } - TypeBinding guessedType = null; + TypeBinding guessedAnnotationType = null; if ((modifiers & ClassFileConstants.AccAnnotation) != 0 && this.assistNodeIsAnnotation && (this.targetedElement & TagBits.AnnotationTargetMASK) != 0) { @@ -723,16 +741,16 @@ switch (scope.kind) { case Scope.METHOD_SCOPE : case Scope.BLOCK_SCOPE : - guessedType = ref.resolveType((BlockScope)scope); + guessedAnnotationType = ref.resolveType((BlockScope)scope); break; case Scope.CLASS_SCOPE : - guessedType = ref.resolveType((ClassScope)scope); + guessedAnnotationType = ref.resolveType((ClassScope)scope); break; } - if (!guessedType.isValidBinding()) return; + if (!guessedAnnotationType.isValidBinding()) return; - if (!hasPossibleAnnotationTarget(guessedType, scope)) return; + if (!hasPossibleAnnotationTarget(guessedAnnotationType, scope)) return; } int relevance = computeBaseRelevance(); @@ -748,7 +766,7 @@ case ClassFileConstants.AccAnnotation: case ClassFileConstants.AccAnnotation | ClassFileConstants.AccInterface: relevance += computeRelevanceForAnnotation(); - if (guessedType != null) relevance += computeRelevanceForAnnotationTarget(guessedType); + if (guessedAnnotationType != null) relevance += computeRelevanceForAnnotationTarget(guessedAnnotationType); relevance += computeRelevanceForInterface(); break; case ClassFileConstants.AccEnum: @@ -767,6 +785,45 @@ if(!this.requestor.isIgnored(CompletionProposal.TYPE_REF)) { createTypeProposal(packageName, typeName, modifiers, accessibility, completionName, relevance); } + + if (proposeConstructor && CharOperation.equals(this.completionToken, simpleTypeName)) { + char[][] compoundName = CharOperation.splitOn('.', fullyQualifiedName); + TypeReference convertedType; + if (compoundName.length == 1) { + convertedType = new SingleTypeReference(compoundName[0], 0); + } else { + convertedType = new QualifiedTypeReference(compoundName, new long[compoundName.length]); + } + + this.problemFactory.startCheckingProblems(); + TypeBinding guessedType = null; + switch (scope.kind) { + case Scope.METHOD_SCOPE : + case Scope.BLOCK_SCOPE : + guessedType = convertedType.resolveType((BlockScope)scope); + break; + case Scope.CLASS_SCOPE : + guessedType = convertedType.resolveType((ClassScope)scope); + break; + } + this.problemFactory.stopCheckingProblems(); + if (!this.problemFactory.hasForbiddenProblems && + guessedType != null && + guessedType instanceof ReferenceBinding && + !guessedType.isTypeVariable()) { + + TypeBinding erasure = guessedType.erasure(); + + findConstructors( + (ReferenceBinding)erasure, + null, + scope, + invocationSite, + false, + true, + isQualified); + } + } } /** @@ -900,7 +957,7 @@ this.completionToken = type.token; setSourceRange(type.sourceStart, type.sourceEnd); - findTypesAndPackages(this.completionToken, scope, new ObjectVector()); + findTypesAndPackages(this.completionToken, scope, null, new ObjectVector()); if (!this.requestor.isIgnored(CompletionProposal.KEYWORD)) { findKeywordsForMember(this.completionToken, field.modifiers); } @@ -922,7 +979,7 @@ SingleTypeReference type = (CompletionOnSingleTypeReference) method.returnType; this.completionToken = type.token; setSourceRange(type.sourceStart, type.sourceEnd); - findTypesAndPackages(this.completionToken, scope.parent, new ObjectVector()); + findTypesAndPackages(this.completionToken, scope.parent, null, new ObjectVector()); if (!this.requestor.isIgnored(CompletionProposal.KEYWORD)) { findKeywordsForMember(this.completionToken, method.modifiers); } @@ -951,7 +1008,7 @@ this.findEnumConstant(this.completionToken, (SwitchStatement) astNodeParent); } } else if (this.expectedTypesPtr > -1 && this.expectedTypes[0].isAnnotationType()) { - findTypesAndPackages(this.completionToken, scope, new ObjectVector()); + findTypesAndPackages(this.completionToken, scope, null, new ObjectVector()); } else { if (scope instanceof BlockScope && !this.requestor.isIgnored(CompletionProposal.LOCAL_VARIABLE_REF)) { char[][] alreadyDefinedName = computeAlreadyDefinedName((BlockScope)scope, singleNameReference); @@ -970,7 +1027,7 @@ insideTypeAnnotation, singleNameReference.isInsideAnnotationAttribute); // can be the start of a qualified type name - findTypesAndPackages(this.completionToken, scope, new ObjectVector()); + findTypesAndPackages(this.completionToken, scope, null, new ObjectVector()); if (!this.requestor.isIgnored(CompletionProposal.KEYWORD)) { if (this.completionToken != null && this.completionToken.length != 0) { findKeywords(this.completionToken, singleNameReference.possibleKeywords, false, false); @@ -1019,7 +1076,11 @@ (BlockScope)scope, typesFound); } - findTypesAndPackages(this.completionToken, scope, typesFound); + findTypesAndPackages( + this.completionToken, + scope, + this.assistNodeIsConstructor ? FakeInvocationSite : null, + typesFound); } } else if (!this.requestor.isIgnored(CompletionProposal.TYPE_REF)) { findMemberTypes( @@ -1032,6 +1093,8 @@ false, false, !this.assistNodeIsConstructor, + false, + null, null, new ObjectVector()); } @@ -1322,6 +1385,8 @@ argTypes, scope, constructorCall, + false, + false, false); } } else if (astNode instanceof CompletionOnQualifiedAllocationExpression) { @@ -1340,6 +1405,8 @@ argTypes, scope, allocExpression, + false, + false, false); } if (!this.requestor.isIgnored(CompletionProposal.ANONYMOUS_CLASS_DECLARATION) @@ -1479,7 +1546,7 @@ this.completionToken = type.token; setSourceRange(type.sourceStart, type.sourceEnd); - findTypesAndPackages(this.completionToken, scope, new ObjectVector()); + findTypesAndPackages(this.completionToken, scope, null, new ObjectVector()); } else if (annot.type instanceof CompletionOnQualifiedTypeReference) { this.insideQualifiedReference = true; @@ -1518,7 +1585,7 @@ } if (this.assistNodeCanBeSingleMemberAnnotation) { if (this.expectedTypesPtr > -1 && this.expectedTypes[0].isAnnotationType()) { - findTypesAndPackages(this.completionToken, scope, new ObjectVector()); + findTypesAndPackages(this.completionToken, scope, null, new ObjectVector()); } else { if (scope instanceof BlockScope && !this.requestor.isIgnored(CompletionProposal.LOCAL_VARIABLE_REF)) { char[][] alreadyDefinedName = computeAlreadyDefinedName((BlockScope)scope, FakeInvocationSite); @@ -1537,7 +1604,7 @@ insideTypeAnnotation, true); // can be the start of a qualified type name - findTypesAndPackages(this.completionToken, scope, new ObjectVector()); + findTypesAndPackages(this.completionToken, scope, null, new ObjectVector()); } } } @@ -1598,7 +1665,7 @@ this.completionToken = typeRef.token; this.javadocTagPosition = typeRef.tagSourceStart; setSourceRange(typeRef.sourceStart, typeRef.sourceEnd); - findTypesAndPackages(this.completionToken, scope, new ObjectVector()); + findTypesAndPackages(this.completionToken, scope, null, new ObjectVector()); } else if (astNode instanceof CompletionOnJavadocQualifiedTypeReference) { @@ -1692,7 +1759,7 @@ if (this.completionToken == null || CharOperation.prefixEquals(this.completionToken, refBinding.sourceName) || (this.options.camelCaseMatch && CharOperation.camelCaseMatch(this.completionToken, refBinding.sourceName))) { - findConstructors(refBinding, null, scope, fieldRef, false); + findConstructors(refBinding, null, scope, fieldRef, false, false, false); } } } @@ -1758,7 +1825,7 @@ ReferenceBinding ref = (ReferenceBinding) qualifiedBinding; if (!this.requestor.isIgnored(CompletionProposal.METHOD_REF) && ref.isClass()) { - findConstructors(ref, argTypes, scope, allocExpression, false); + findConstructors(ref, argTypes, scope, allocExpression, false, false, false); } } else if (astNode instanceof CompletionOnJavadocParamNameReference) { if (!this.requestor.isIgnored(CompletionProposal.JAVADOC_PARAM_REF)) { @@ -2289,7 +2356,9 @@ argTypes, scope, invocationSite, - true); + true, + false, + false); } } @@ -2691,7 +2760,17 @@ TypeBinding[] argTypes, Scope scope, InvocationSite invocationSite, - boolean forAnonymousType) { + boolean forAnonymousType, + boolean forExactConstructors, + boolean isQualified) { + + if (forExactConstructors) { + if (currentType.isEnum() || currentType.isInterface() || currentType.isAnnotationType()) return; + + if (isQualified && isIgnored(CompletionProposal.METHOD_REF, CompletionProposal.TYPE_IMPORT)) return; + } + + boolean hasConstructors = false; // No visibility checks can be performed without the scope & invocationSite MethodBinding[] methods = currentType.availableMethods(); @@ -2702,7 +2781,9 @@ if (constructor.isConstructor()) { if (constructor.isSynthetic()) continue next; - + + hasConstructors = true; + if (this.options.checkDeprecation && constructor.isViewedAsDeprecated() && !scope.isDefinedInSameUnit(constructor.declaringClass)) @@ -2767,6 +2848,23 @@ this.printDebug(proposal); } } + } else if (forExactConstructors) { + char[] signature = getSignature(constructor); + char[] originalSignature = null; + MethodBinding original = constructor.original(); + if(original != constructor) { + originalSignature = getSignature(original); + } + + proposeExactConstructor( + currentType, + signature, + originalSignature, + constructor.modifiers, + parameterPackageNames, + parameterTypeNames, + parameterNames, + isQualified); } else { int relevance = computeBaseRelevance(); relevance += computeRelevanceForResolution(); @@ -2888,6 +2986,25 @@ } } } + + if (forExactConstructors && !hasConstructors) { + char[] signature = + createMethodSignature( + CharOperation.NO_CHAR_CHAR, + CharOperation.NO_CHAR_CHAR, + null, + VOID); + + proposeExactConstructor( + currentType, + signature, + null, + Flags.AccPublic, + CharOperation.NO_CHAR_CHAR, + CharOperation.NO_CHAR_CHAR, + null, + isQualified); + } } private char[][] findEnclosingTypeNames(Scope scope){ @@ -3857,7 +3974,7 @@ this.options.camelCaseMatch, IJavaSearchConstants.TYPE, this); - acceptTypes(null); + acceptTypes(false, null, null); } } @@ -4295,7 +4412,9 @@ boolean staticFieldsAndMethodOnly, boolean fromStaticImport, boolean checkQualification, - Scope scope) { + boolean proposeConstrutor, + Scope scope, + InvocationSite invocationSite) { // Inherited member types which are hidden by subclasses are filtered out // No visibility checks can be performed without the scope & invocationSite @@ -4412,6 +4531,16 @@ this.noProposal = false; createTypeProposal(memberType, memberType.qualifiedSourceName(), IAccessRule.K_ACCESSIBLE, completionName, relevance); + if (proposeConstrutor && CharOperation.equals(typeName, memberType.sourceName)) { + findConstructors( + memberType, + null, + scope, + invocationSite, + false, + true, + isQualified); + } } } @@ -4433,6 +4562,8 @@ false, false, false, + false, + null, null, typesFound); } @@ -4446,6 +4577,8 @@ boolean fromStaticImport, boolean checkQualification, boolean proposeAllMemberTypes, + boolean proposeConstrutor, + InvocationSite invocationSite, SourceTypeBinding typeToIgnore, ObjectVector typesFound) { @@ -4470,7 +4603,9 @@ staticFieldsAndMethodOnly, fromStaticImport, checkQualification, - scope); + proposeConstrutor, + scope, + invocationSite); return; } @@ -4506,7 +4641,9 @@ staticFieldsAndMethodOnly, fromStaticImport, checkQualification, - scope); + proposeConstrutor, + scope, + invocationSite); currentType = currentType.superclass(); } while (currentType != null); @@ -4541,7 +4678,9 @@ staticFieldsAndMethodOnly, fromStaticImport, checkQualification, - scope); + proposeConstrutor, + scope, + invocationSite); ReferenceBinding[] itsInterfaces = anInterface.superInterfaces(); if (itsInterfaces != Binding.NO_SUPERINTERFACES) { @@ -4624,7 +4763,9 @@ staticFieldsAndMethodOnly, fromStaticImport, true, - scope); + false, + scope, + null); ReferenceBinding[] memberTypes = receiverType.memberTypes(); next : for (int i = 0; i < memberTypes.length; i++) { @@ -6290,6 +6431,8 @@ SourceTypeBinding currentType, Scope scope, boolean proposeAllMemberTypes, + boolean proposeConstrutor, + InvocationSite invocationSite, ObjectVector typesFound) { if (typeName == null) return; @@ -6351,6 +6494,17 @@ if(!this.requestor.isIgnored(CompletionProposal.TYPE_REF)) { createTypeProposal(localType, localType.sourceName, IAccessRule.K_ACCESSIBLE, localType.sourceName, relevance); } + + if (proposeConstrutor && CharOperation.equals(typeName, localType.sourceName)) { + findConstructors( + localType, + null, + scope, + invocationSite, + false, + true, + false); + } } } } @@ -6358,7 +6512,20 @@ case Scope.CLASS_SCOPE : SourceTypeBinding enclosingSourceType = scope.enclosingSourceType(); - findMemberTypes(typeName, enclosingSourceType, scope, currentType, false, false, false, false, proposeAllMemberTypes, nextTypeToIgnore, typesFound); + findMemberTypes( + typeName, + enclosingSourceType, + scope, + currentType, + false, + false, + false, + false, + proposeAllMemberTypes, + proposeConstrutor, + invocationSite, + nextTypeToIgnore, + typesFound); nextTypeToIgnore = enclosingSourceType; if (typeLength == 0) return; // do not search outside the class scope if no prefix was provided @@ -6477,7 +6644,7 @@ scope = scope.parent; } } - private void findTypesAndPackages(char[] token, Scope scope, ObjectVector typesFound) { + private void findTypesAndPackages(char[] token, Scope scope, InvocationSite invocationSite, ObjectVector typesFound) { if (token == null) return; @@ -6497,8 +6664,19 @@ boolean proposeAllMemberTypes = !this.assistNodeIsConstructor; - if (!skip && proposeType && scope.enclosingSourceType() != null) { - findNestedTypes(token, scope.enclosingSourceType(), scope, proposeAllMemberTypes, typesFound); + boolean proposeConstructor =//false; + assistNodeIsConstructor && + !this.requestor.isIgnored(CompletionProposal.METHOD_REF); + + if (!skip && (proposeType || proposeConstructor) && scope.enclosingSourceType() != null) { + findNestedTypes( + token, + scope.enclosingSourceType(), + scope, + proposeAllMemberTypes, + proposeConstructor, + invocationSite, + typesFound); if(!assistNodeIsConstructor && !assistNodeIsAnnotation) { // don't propose type parameters if the completion is a constructor ('new |') findTypeParameters(token, scope); @@ -6507,7 +6685,7 @@ boolean isEmptyPrefix = token.length == 0; - if (!skip && proposeType && this.unitScope != null) { + if (!skip && (proposeType || proposeConstructor) && this.unitScope != null) { ReferenceBinding outerInvocationType = scope.enclosingSourceType(); if(outerInvocationType != null) { ReferenceBinding temp = outerInvocationType.enclosingType(); @@ -6588,10 +6766,21 @@ relevance += computeRelevanceForException(sourceType.sourceName); } this.noProposal = false; - if(proposeType) { + if (proposeType) { char[] typeName = sourceType.sourceName(); createTypeProposal(sourceType, typeName, IAccessRule.K_ACCESSIBLE, typeName, relevance); } + + if (proposeConstructor && CharOperation.equals(token, sourceType.sourceName)) { + findConstructors( + sourceType, + null, + scope, + invocationSite, + false, + true, + false); + } } } @@ -6713,7 +6902,7 @@ findKeywords(token, BASE_TYPE_NAMES, false, false); } } - if(proposeType) { + if(proposeType || proposeConstructor) { int l = typesFound.size(); for (int i = 0; i < l; i++) { ReferenceBinding typeFound = (ReferenceBinding) typesFound.elementAt(i); @@ -6734,13 +6923,21 @@ } else if(this.assistNodeIsAnnotation) { searchFor = IJavaSearchConstants.ANNOTATION_TYPE; } - this.nameEnvironment.findTypes( - token, - proposeAllMemberTypes, - this.options.camelCaseMatch, - searchFor, - this); - acceptTypes(scope); + if (proposeType) { + this.nameEnvironment.findTypes( + token, + proposeAllMemberTypes, + this.options.camelCaseMatch, + searchFor, + this); + } else { + this.nameEnvironment.findExactTypes( + token, + proposeAllMemberTypes, + searchFor, + this); + } + acceptTypes(proposeConstructor, invocationSite, scope); } if(!isEmptyPrefix && !this.requestor.isIgnored(CompletionProposal.PACKAGE_REF)) { this.nameEnvironment.findPackages(token, this); @@ -6859,7 +7056,7 @@ this.options.camelCaseMatch, searchFor, this); - acceptTypes(scope); + acceptTypes(false, null, null); } if(!this.requestor.isIgnored(CompletionProposal.PACKAGE_REF)) { this.nameEnvironment.findPackages(qualifiedName, this); @@ -6885,6 +7082,8 @@ true, true, proposeAllMemberTypes, + false, + null, null, typesFound); } @@ -8357,7 +8556,89 @@ return completion.toString().toCharArray(); } - + private void proposeExactConstructor( + ReferenceBinding currentType, + char[] signature, + char[] originalSignature, + int modifiers, + char[][] parameterPackageNames, + char[][] parameterTypeNames, + char[][] parameterNames, + boolean isQualified) { + + char[] simpleTypename = currentType.sourceName; + + char[] completion; + if (this.source != null + && this.source.length > this.endPosition + && this.source[this.endPosition] == '(') { + completion = simpleTypename; + } else { + completion = CharOperation.concat(simpleTypename, new char[] { '(', ')' }); + } + + int relevance = computeBaseRelevance(); + relevance += computeRelevanceForResolution(); + relevance += computeRelevanceForInterestingProposal(); + relevance += computeRelevanceForCaseMatching(simpleTypename, simpleTypename); + relevance += computeRelevanceForExpectingType(currentType); + relevance += computeRelevanceForQualification(isQualified); + relevance += computeRelevanceForRestrictions(IAccessRule.K_ACCESSIBLE); // no access restriction for type in the current unit + relevance += R_CONSTRUCTOR; + + // Create standard proposal + this.noProposal = false; + if(!this.requestor.isIgnored(CompletionProposal.METHOD_REF) && (this.assistNodeInJavadoc & CompletionOnJavadoc.ONLY_INLINE_TAG) == 0) { + CompletionProposal proposal = this.createProposal(CompletionProposal.METHOD_REF, this.actualCompletionPosition); + proposal.setDeclarationSignature(getSignature(currentType)); + proposal.setSignature(signature); + if(originalSignature != null) { + proposal.setOriginalSignature(originalSignature); + } + proposal.setDeclarationPackageName(currentType.qualifiedPackageName()); + proposal.setDeclarationTypeName(currentType.qualifiedSourceName()); + proposal.setParameterPackageNames(parameterPackageNames); + proposal.setParameterTypeNames(parameterTypeNames); + proposal.setName(currentType.sourceName()); + proposal.setIsContructor(true); + proposal.setCompletion(completion); + proposal.setFlags(modifiers); + proposal.setReplaceRange(this.startPosition - this.offset, this.endPosition - this.offset); + proposal.setRelevance(relevance); + if(parameterNames != null) proposal.setParameterNames(parameterNames); + if (isQualified) { + char[] typeName = CharOperation.concatWith(currentType.compoundName, '.'); + + CompilationUnitDeclaration cu = this.unitScope.referenceContext; + int importStart = cu.types[0].declarationSourceStart; + int importEnd = importStart; + + char[] typeImportCompletion = createImportCharArray(typeName, false, false); + + CompletionProposal typeImportProposal = this.createProposal(CompletionProposal.TYPE_IMPORT, this.actualCompletionPosition); + typeImportProposal.nameLookup = this.nameEnvironment.nameLookup; + typeImportProposal.completionEngine = this; + char[] packageName = currentType.qualifiedPackageName(); + typeImportProposal.setDeclarationSignature(packageName); + typeImportProposal.setSignature(getSignature(currentType)); + typeImportProposal.setPackageName(packageName); + typeImportProposal.setTypeName(currentType.qualifiedSourceName()); + typeImportProposal.setCompletion(typeImportCompletion); + typeImportProposal.setFlags(currentType.modifiers); + typeImportProposal.setAdditionalFlags(CompletionFlags.Default); + typeImportProposal.setReplaceRange(importStart - this.offset, importEnd - this.offset); + typeImportProposal.setRelevance(relevance); + + proposal.setRequiredProposals(new CompletionProposal[]{typeImportProposal}); + } + + this.requestor.accept(proposal); + if(DEBUG) { + this.printDebug(proposal); + } + } + + } private void proposeNewMethod(char[] token, ReferenceBinding reference) { if(!this.requestor.isIgnored(CompletionProposal.POTENTIAL_METHOD_DECLARATION)) { int relevance = computeBaseRelevance(); #P org.eclipse.jdt.core.tests.model Index: src/org/eclipse/jdt/core/tests/model/CompletionWithMissingTypesTests2.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/CompletionWithMissingTypesTests2.java,v retrieving revision 1.4 diff -u -r1.4 CompletionWithMissingTypesTests2.java --- src/org/eclipse/jdt/core/tests/model/CompletionWithMissingTypesTests2.java 6 Mar 2007 04:43:19 -0000 1.4 +++ src/org/eclipse/jdt/core/tests/model/CompletionWithMissingTypesTests2.java 14 May 2007 08:04:40 -0000 @@ -134,7 +134,7 @@ waitUntilIndexesReady(); // do completion - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); ICompilationUnit cu= getCompilationUnit("P2", "src", "", "YY.java"); @@ -228,7 +228,7 @@ waitUntilIndexesReady(); // do completion - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); ICompilationUnit cu= getCompilationUnit("P2", "src", "", "YY.java"); Index: src/org/eclipse/jdt/core/tests/model/CompletionWithMissingTypesTests.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/CompletionWithMissingTypesTests.java,v retrieving revision 1.4 diff -u -r1.4 CompletionWithMissingTypesTests.java --- src/org/eclipse/jdt/core/tests/model/CompletionWithMissingTypesTests.java 6 Mar 2007 04:43:19 -0000 1.4 +++ src/org/eclipse/jdt/core/tests/model/CompletionWithMissingTypesTests.java 14 May 2007 08:04:40 -0000 @@ -59,7 +59,7 @@ " public void bar() {}\n" + "}\n"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); String str = this.workingCopies[0].getSource(); String completeBehind = "m.b"; @@ -96,7 +96,7 @@ " public int bar;\n" + "}\n"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); String str = this.workingCopies[0].getSource(); String completeBehind = "m.b"; @@ -139,7 +139,7 @@ " public int bar;\n" + "}\n"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); String str = this.workingCopies[0].getSource(); String completeBehind = "m.b"; @@ -176,7 +176,7 @@ " public void bar() {};\n" + "}\n"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); String str = this.workingCopies[0].getSource(); String completeBehind = "m."; @@ -236,7 +236,7 @@ " public void bar() {}\n" + "}\n"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); String str = this.workingCopies[0].getSource(); String completeBehind = "m.b"; @@ -275,7 +275,7 @@ " public void bar() {}\n" + "}\n"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); String str = this.workingCopies[0].getSource(); String completeBehind = "m.b"; @@ -321,7 +321,7 @@ " public Object m;\n" + "}\n"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); String str = this.workingCopies[0].getSource(); String completeBehind = "m.e"; @@ -364,7 +364,7 @@ " public Object m;\n" + "}\n"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); String str = this.workingCopies[0].getSource(); String completeBehind = "m.b"; @@ -402,7 +402,7 @@ " public void bar() {}\n" + "}\n"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); String str = this.workingCopies[0].getSource(); String completeBehind = "m.b"; @@ -443,7 +443,7 @@ " }\n" + "}\n"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); String str = this.workingCopies[0].getSource(); String completeBehind = "m.b"; @@ -480,7 +480,7 @@ " public void bar() {}\n" + "}\n"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); String str = this.workingCopies[0].getSource(); String completeBehind = "m().b"; @@ -517,7 +517,7 @@ " public void bar() {}\n" + "}\n"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); String str = this.workingCopies[0].getSource(); String completeBehind = ".b"; @@ -563,7 +563,7 @@ " public Object m() {return null;}\n" + "}\n"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); String str = this.workingCopies[0].getSource(); String completeBehind = "m().e"; @@ -606,7 +606,7 @@ " public Object m() {return null;}\n" + "}\n"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); String str = this.workingCopies[0].getSource(); String completeBehind = "m().b"; @@ -646,7 +646,7 @@ " public Object m(int i) {return null;}\n" + "}\n"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); String str = this.workingCopies[0].getSource(); String completeBehind = "m().b"; @@ -685,7 +685,7 @@ " }\n" + "}\n"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); String str = this.workingCopies[0].getSource(); String completeBehind = "m.b"; @@ -724,7 +724,7 @@ " }\n" + "}\n"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); String str = this.workingCopies[0].getSource(); String completeBehind = "m.b"; @@ -757,7 +757,7 @@ " }\n" + "}\n"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); String str = this.workingCopies[0].getSource(); String completeBehind = "m.b"; @@ -790,7 +790,7 @@ " }\n" + "}\n"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); String str = this.workingCopies[0].getSource(); String completeBehind = "m.e"; @@ -837,7 +837,7 @@ " }\n" + "}\n"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); String str = this.workingCopies[0].getSource(); String completeBehind = "m.b"; @@ -887,7 +887,7 @@ " }\n" + "}\n"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); String str = this.workingCopies[0].getSource(); String completeBehind = "m.b"; @@ -933,7 +933,7 @@ " }\n" + "}\n"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); String str = this.workingCopies[0].getSource(); String completeBehind = "m.b"; @@ -985,7 +985,7 @@ " }\n" + "}\n"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); String str = this.workingCopies[0].getSource(); String completeBehind = "m.b"; @@ -1028,7 +1028,7 @@ " }\n" + "}\n"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); String str = this.workingCopies[0].getSource(); String completeBehind = "m.b"; @@ -1077,7 +1077,7 @@ " }\n" + "}\n"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); String str = this.workingCopies[0].getSource(); String completeBehind = "m.b"; @@ -1122,7 +1122,7 @@ " }\n" + "}\n"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); String str = this.workingCopies[0].getSource(); String completeBehind = "m.b"; @@ -1173,7 +1173,7 @@ " }\n" + "}\n"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); String str = this.workingCopies[0].getSource(); String completeBehind = "m.b"; @@ -1215,7 +1215,7 @@ " public void bar() {}\n" + "}\n"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); String str = this.workingCopies[0].getSource(); String completeBehind = "m.field.b"; @@ -1254,7 +1254,7 @@ " public void bar() {}\n" + "}\n"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); String str = this.workingCopies[0].getSource(); String completeBehind = "m.field.b"; @@ -1293,7 +1293,7 @@ " public void bar() {}\n" + "}\n"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); String str = this.workingCopies[0].getSource(); String completeBehind = "m().field.b"; @@ -1332,7 +1332,7 @@ " public void bar() {}\n" + "}\n"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); String str = this.workingCopies[0].getSource(); String completeBehind = "m.method().b"; @@ -1371,7 +1371,7 @@ " public void bar() {}\n" + "}\n"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); String str = this.workingCopies[0].getSource(); String completeBehind = "m().method().b"; @@ -1401,7 +1401,7 @@ " public void bar()\n" + "}\n"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); String str = this.workingCopies[0].getSource(); String completeBehind = "MissingType#b"; Index: src/org/eclipse/jdt/core/tests/model/CompletionWithMissingTypesTests_1_5.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/CompletionWithMissingTypesTests_1_5.java,v retrieving revision 1.4 diff -u -r1.4 CompletionWithMissingTypesTests_1_5.java --- src/org/eclipse/jdt/core/tests/model/CompletionWithMissingTypesTests_1_5.java 6 Mar 2007 04:43:19 -0000 1.4 +++ src/org/eclipse/jdt/core/tests/model/CompletionWithMissingTypesTests_1_5.java 14 May 2007 08:04:40 -0000 @@ -57,7 +57,7 @@ " public void bar() {};\n" + "}\n"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); String str = this.workingCopies[0].getSource(); String completeBehind = "m.b"; @@ -101,7 +101,7 @@ "public class MissingType2 {\n" + "}\n"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); String str = this.workingCopies[0].getSource(); String completeBehind = "m.b"; @@ -152,7 +152,7 @@ "public class MissingType2 {\n" + "}\n"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); String str = this.workingCopies[0].getSource(); String completeBehind = "m.b"; @@ -199,7 +199,7 @@ "public class MissingType2 {\n" + "}\n"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); String str = this.workingCopies[0].getSource(); String completeBehind = "m.b"; @@ -262,7 +262,7 @@ "public class MissingType2 {\n" + "}\n"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); String str = this.workingCopies[0].getSource(); String completeBehind = "m.b"; @@ -317,7 +317,7 @@ " public void bar() {}\n" + "}\n"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); String str = this.workingCopies[0].getSource(); String completeBehind = ".b"; @@ -360,7 +360,7 @@ "public class MissingType {\n" + "}\n"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); String str = this.workingCopies[0].getSource(); String completeBehind = "m.b"; @@ -399,7 +399,7 @@ " }\n" + "}\n"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); String str = this.workingCopies[0].getSource(); String completeBehind = "m.b"; @@ -436,7 +436,7 @@ " public void bar() {};\n" + "}\n"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); String str = this.workingCopies[0].getSource(); String completeBehind = "m.b"; @@ -469,7 +469,7 @@ " }\n" + "}\n"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); String str = this.workingCopies[0].getSource(); String completeBehind = "m.b"; @@ -508,7 +508,7 @@ " }\n" + "}\n"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); String str = this.workingCopies[0].getSource(); String completeBehind = "m.b"; @@ -546,7 +546,7 @@ " public void bar() {};\n" + "}\n"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); String str = this.workingCopies[0].getSource(); String completeBehind = "m.b"; Index: src/org/eclipse/jdt/core/tests/model/CompletionTestsRequestor2.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/CompletionTestsRequestor2.java,v retrieving revision 1.21 diff -u -r1.21 CompletionTestsRequestor2.java --- src/org/eclipse/jdt/core/tests/model/CompletionTestsRequestor2.java 6 Mar 2007 04:43:20 -0000 1.21 +++ src/org/eclipse/jdt/core/tests/model/CompletionTestsRequestor2.java 14 May 2007 08:04:36 -0000 @@ -32,7 +32,6 @@ private boolean showUniqueKeys; private boolean showPositions; private boolean shortContext; - private boolean showMissingTypes; public boolean fDebug = false; @@ -46,18 +45,15 @@ this(showParamNames, showUniqueKeys, false); } public CompletionTestsRequestor2(boolean showParamNames, boolean showUniqueKeys, boolean showPositions) { - this(showParamNames, showUniqueKeys, showPositions, true, false); + this(showParamNames, showUniqueKeys, showPositions, true); } public CompletionTestsRequestor2(boolean showParamNames, boolean showUniqueKeys, boolean showPositions, boolean shortContext) { - this(showParamNames, showUniqueKeys, showPositions, shortContext, false); - } - public CompletionTestsRequestor2(boolean showParamNames, boolean showUniqueKeys, boolean showPositions, boolean shortContext, boolean showMissingTypes) { this.showParameterNames = showParamNames; this.showUniqueKeys = showUniqueKeys; this.showPositions = showPositions; this.shortContext = shortContext; - this.showMissingTypes = showMissingTypes; + this.allowAllRequiredProposals(); } public void acceptContext(CompletionContext cc) { this.context = cc; @@ -341,16 +337,14 @@ buffer.append(", "); buffer.append(proposal.getRelevance()); buffer.append('}'); - if(this.showMissingTypes) { - CompletionProposal[] requiredProposals = proposal.getRequiredProposals(); - if (requiredProposals != null) { - int length = requiredProposals.length; - System.arraycopy(requiredProposals, 0, requiredProposals = new CompletionProposal[length], 0, length); - quickSort(requiredProposals, 0, length - 1); - for (int i = 0; i < length; i++) { - buffer.append('\n'); - printProposal(requiredProposals[i], tab + 1, buffer); - } + CompletionProposal[] requiredProposals = proposal.getRequiredProposals(); + if (requiredProposals != null) { + int length = requiredProposals.length; + System.arraycopy(requiredProposals, 0, requiredProposals = new CompletionProposal[length], 0, length); + quickSort(requiredProposals, 0, length - 1); + for (int i = 0; i < length; i++) { + buffer.append('\n'); + printProposal(requiredProposals[i], tab + 1, buffer); } } return buffer; Index: src/org/eclipse/jdt/core/tests/model/CompletionTests.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/CompletionTests.java,v retrieving revision 1.155 diff -u -r1.155 CompletionTests.java --- src/org/eclipse/jdt/core/tests/model/CompletionTests.java 12 Apr 2007 09:23:35 -0000 1.155 +++ src/org/eclipse/jdt/core/tests/model/CompletionTests.java 14 May 2007 08:04:36 -0000 @@ -3251,7 +3251,8 @@ "ABC[TYPE_REF]{p1.ABC, p1, Lp1.ABC;, null, null, "+(R_DEFAULT + R_RESOLVED + R_INTERESTING + R_CASE + R_NON_RESTRICTED)+"}\n" + "ABC[TYPE_REF]{p2.ABC, p2, Lp2.ABC;, null, null, "+(R_DEFAULT + R_RESOLVED + R_INTERESTING + R_CASE + R_NON_RESTRICTED)+"}\n" + "A3[TYPE_REF]{A3, , LA3;, null, null, "+(R_DEFAULT + R_RESOLVED + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED)+"}\n" + - "A[TYPE_REF]{A, , LA;, null, null, "+(R_DEFAULT + R_RESOLVED + R_INTERESTING + R_CASE + R_EXACT_NAME + R_UNQUALIFIED + R_NON_RESTRICTED)+"}", + "A[TYPE_REF]{A, , LA;, null, null, "+(R_DEFAULT + R_RESOLVED + R_INTERESTING + R_CASE + R_EXACT_NAME + R_UNQUALIFIED + R_NON_RESTRICTED)+"}\n" + + "A[METHOD_REF]{A(), LA;, ()V, A, null, "+(R_DEFAULT + R_RESOLVED + R_INTERESTING + R_CASE + R_EXACT_NAME + R_UNQUALIFIED + R_CONSTRUCTOR + R_NON_RESTRICTED)+"}", requestor.getResults()); } @@ -3448,7 +3449,280 @@ "Constructor5[METHOD_REF]{, Lzconstructors.Constructor5;, (I)V, Constructor5, (i), " + (R_DEFAULT + R_RESOLVED + R_INTERESTING + R_NON_RESTRICTED) + "}", requestor.getResults()); } +public void testCompletionFindConstructor6() throws JavaModelException { + this.workingCopies = new ICompilationUnit[2]; + this.workingCopies[0] = getWorkingCopy( + "/Completion/src/test/Test.java", + "package test;"+ + "public class Test {\n" + + " void foo() {\n" + + " new TestCons\n" + + " }\n" + + "}\n"); + + this.workingCopies[1] = getWorkingCopy( + "/Completion/src/test/TestConstructor.java", + "package test;"+ + "public class TestConstructor {\n" + + " public TestConstructor(int a) {}\n" + + "}\n"); + + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true); + String str = this.workingCopies[0].getSource(); + String completeBehind = "TestCons"; + int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length(); + this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner); + + assertResults( + "TestConstructor[TYPE_REF]{TestConstructor, test, Ltest.TestConstructor;, null, null, " + (R_DEFAULT + R_RESOLVED + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}", + requestor.getResults()); +} +public void testCompletionFindConstructor7() throws JavaModelException { + this.workingCopies = new ICompilationUnit[2]; + this.workingCopies[0] = getWorkingCopy( + "/Completion/src/test/Test.java", + "package test;"+ + "public class Test {\n" + + " void foo() {\n" + + " new TestConstructor\n" + + " }\n" + + "}\n"); + + this.workingCopies[1] = getWorkingCopy( + "/Completion/src/test/TestConstructor.java", + "package test;"+ + "public class TestConstructor {\n" + + " public TestConstructor(int a) {}\n" + + "}\n"); + + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true); + String str = this.workingCopies[0].getSource(); + String completeBehind = "TestConstructor"; + int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length(); + this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner); + + assertResults( + "TestConstructor[TYPE_REF]{TestConstructor, test, Ltest.TestConstructor;, null, null, " + (R_DEFAULT + R_RESOLVED + R_INTERESTING + R_CASE + R_EXACT_NAME + R_UNQUALIFIED + R_NON_RESTRICTED) + "}\n"+ + "TestConstructor[METHOD_REF]{TestConstructor(), Ltest.TestConstructor;, (I)V, TestConstructor, (a), " + (R_DEFAULT + R_RESOLVED + R_INTERESTING + R_CASE + R_EXACT_NAME + R_UNQUALIFIED + R_CONSTRUCTOR + R_NON_RESTRICTED) + "}", + requestor.getResults()); +} +public void testCompletionFindConstructor8() throws JavaModelException { + this.workingCopies = new ICompilationUnit[2]; + this.workingCopies[0] = getWorkingCopy( + "/Completion/src/test/Test.java", + "package test;"+ + "public class Test {\n" + + " void foo() {\n" + + " new TestConstructor\n" + + " }\n" + + "}\n"); + + this.workingCopies[1] = getWorkingCopy( + "/Completion/src/test/TestConstructor.java", + "package test;"+ + "public class TestConstructor {\n" + + "}\n"); + + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true); + String str = this.workingCopies[0].getSource(); + String completeBehind = "TestConstructor"; + int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length(); + this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner); + + assertResults( + "TestConstructor[TYPE_REF]{TestConstructor, test, Ltest.TestConstructor;, null, null, " + (R_DEFAULT + R_RESOLVED + R_INTERESTING + R_CASE + R_EXACT_NAME + R_UNQUALIFIED + R_NON_RESTRICTED) + "}\n"+ + "TestConstructor[METHOD_REF]{TestConstructor(), Ltest.TestConstructor;, ()V, TestConstructor, null, " + (R_DEFAULT + R_RESOLVED + R_INTERESTING + R_CASE + R_EXACT_NAME + R_UNQUALIFIED + R_CONSTRUCTOR + R_NON_RESTRICTED) + "}", + requestor.getResults()); +} +public void testCompletionFindConstructor9() throws JavaModelException { + this.workingCopies = new ICompilationUnit[1]; + this.workingCopies[0] = getWorkingCopy( + "/Completion/src/test/Test.java", + "package test;"+ + "public class Test {\n" + + " public class TestConstructor {\n" + + " }\n" + + " void foo() {\n" + + " new TestConstructor\n" + + " }\n" + + "}\n"); + + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true); + String str = this.workingCopies[0].getSource(); + String completeBehind = "TestConstructor"; + int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length(); + this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner); + assertResults( + "Test.TestConstructor[TYPE_REF]{TestConstructor, test, Ltest.Test$TestConstructor;, null, null, " + (R_DEFAULT + R_RESOLVED + R_INTERESTING + R_CASE + R_EXACT_NAME + R_UNQUALIFIED + R_NON_RESTRICTED) + "}\n"+ + "TestConstructor[METHOD_REF]{TestConstructor(), Ltest.Test$TestConstructor;, ()V, TestConstructor, null, " + (R_DEFAULT + R_RESOLVED + R_INTERESTING + R_CASE + R_EXACT_NAME + R_UNQUALIFIED + R_CONSTRUCTOR + R_NON_RESTRICTED) + "}", + requestor.getResults()); +} +public void testCompletionFindConstructor10() throws JavaModelException { + this.workingCopies = new ICompilationUnit[1]; + this.workingCopies[0] = getWorkingCopy( + "/Completion/src/test/Test.java", + "package test;"+ + "public class Test {\n" + + " void foo() {\n" + + " class TestConstructor {\n" + + " }\n" + + " new TestConstructor\n" + + " }\n" + + "}\n"); + + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true); + String str = this.workingCopies[0].getSource(); + String completeBehind = "TestConstructor"; + int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length(); + this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner); + + assertResults( + "TestConstructor[TYPE_REF]{TestConstructor, test, LTestConstructor;, null, null, " + (R_DEFAULT + R_RESOLVED + R_INTERESTING + R_CASE + R_EXACT_NAME + R_UNQUALIFIED + R_NON_RESTRICTED) + "}\n"+ + "TestConstructor[METHOD_REF]{TestConstructor(), LTestConstructor;, ()V, TestConstructor, null, " + (R_DEFAULT + R_RESOLVED + R_INTERESTING + R_CASE + R_EXACT_NAME + R_UNQUALIFIED + R_CONSTRUCTOR + R_NON_RESTRICTED) + "}", + requestor.getResults()); +} +public void testCompletionFindConstructor11() throws JavaModelException { + this.workingCopies = new ICompilationUnit[2]; + this.workingCopies[0] = getWorkingCopy( + "/Completion/src/test/Test.java", + "package test;"+ + "public class Test {\n" + + " void foo() {\n" + + " new TestConstructor2\n" + + " }\n" + + "}\n"); + + this.workingCopies[1] = getWorkingCopy( + "/Completion/src/test/TestConstructor.java", + "package test;"+ + "public class TestConstructor {\n" + + " public class TestConstructor2 {\n" + + " }\n" + + "}\n"); + + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true); + String str = this.workingCopies[0].getSource(); + String completeBehind = "TestConstructor2"; + int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length(); + this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner); + + assertResults( + "", + requestor.getResults()); +} +public void testCompletionFindConstructor12() throws JavaModelException { + this.workingCopies = new ICompilationUnit[1]; + this.workingCopies[0] = getWorkingCopy( + "/Completion/src/test/Test.java", + "package test;"+ + "public class Test {\n" + + " public class TestConstructor {\n" + + " public class TestConstructor2 {\n" + + " }\n" + + " }\n" + + " void foo() {\n" + + " new TestConstructor2\n" + + " }\n" + + "}\n"); + + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true); + String str = this.workingCopies[0].getSource(); + String completeBehind = "TestConstructor2"; + int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length(); + this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner); + + assertResults( + "", + requestor.getResults()); +} +public void testCompletionFindConstructor13() throws JavaModelException { + this.workingCopies = new ICompilationUnit[2]; + this.workingCopies[0] = getWorkingCopy( + "/Completion/src/test/Test.java", + "package test;"+ + "public class Test {\n" + + " void foo() {\n" + + " new TestConstructor\n" + + " }\n" + + "}\n"); + + this.workingCopies[1] = getWorkingCopy( + "/Completion/src/test2/TestConstructor.java", + "package test2;"+ + "public class TestConstructor {\n" + + "}\n"); + + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, false, true); + requestor.allowAllRequiredProposals(); + + String str = this.workingCopies[0].getSource(); + String completeBehind = "TestConstructor"; + int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length(); + this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner); + + assertResults( + "TestConstructor[TYPE_REF]{test2.TestConstructor, test2, Ltest2.TestConstructor;, null, null, " + (R_DEFAULT + R_RESOLVED + R_INTERESTING + R_CASE + R_EXACT_NAME + R_NON_RESTRICTED) + "}\n"+ + "TestConstructor[METHOD_REF]{TestConstructor(), Ltest2.TestConstructor;, ()V, TestConstructor, null, " + (R_DEFAULT + R_RESOLVED + R_INTERESTING + R_CASE + R_EXACT_NAME + R_CONSTRUCTOR + R_NON_RESTRICTED) + "}\n"+ + " TestConstructor[TYPE_IMPORT]{import test2.TestConstructor;\n, test2, Ltest2.TestConstructor;, null, null, " + (R_DEFAULT + R_RESOLVED + R_INTERESTING + R_CASE + R_EXACT_NAME + R_CONSTRUCTOR + R_NON_RESTRICTED) + "}", + requestor.getResults()); +} +public void testCompletionFindConstructor14() throws JavaModelException { + this.workingCopies = new ICompilationUnit[2]; + this.workingCopies[0] = getWorkingCopy( + "/Completion/src/test/Test.java", + "package test;"+ + "public class Test {\n" + + " void foo() {\n" + + " new TestConstructor\n" + + " }\n" + + "}\n"); + + this.workingCopies[1] = getWorkingCopy( + "/Completion/src/test2/TestConstructor.java", + "package test2;"+ + "public interface TestConstructor {\n" + + "}\n"); + + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, false, true); + requestor.allowAllRequiredProposals(); + + String str = this.workingCopies[0].getSource(); + String completeBehind = "TestConstructor"; + int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length(); + this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner); + + assertResults( + "TestConstructor[TYPE_REF]{test2.TestConstructor, test2, Ltest2.TestConstructor;, null, null, " + (R_DEFAULT + R_RESOLVED + R_INTERESTING + R_CASE + R_EXACT_NAME + R_NON_RESTRICTED) + "}", + requestor.getResults()); +} +public void testCompletionFindConstructor15() throws JavaModelException { + this.workingCopies = new ICompilationUnit[1]; + this.workingCopies[0] = getWorkingCopy( + "/Completion/src/test/Test.java", + "package test;"+ + "public class Test {\n" + + " void foo() {\n" + + " class TestConstructor {\n" + + " public TestConstructor(int i) {}\n" + + " }\n" + + " new TestConstructor\n" + + " }\n" + + "}\n"); + + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, false, true); + requestor.allowAllRequiredProposals(); + + String str = this.workingCopies[0].getSource(); + String completeBehind = "TestConstructor"; + int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length(); + this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner); + + assertResults( + "TestConstructor[TYPE_REF]{TestConstructor, test, LTestConstructor;, null, null, " + (R_DEFAULT + R_RESOLVED + R_INTERESTING + R_CASE + R_EXACT_NAME + R_UNQUALIFIED + R_NON_RESTRICTED) + "}\n"+ + "TestConstructor[METHOD_REF]{TestConstructor(), LTestConstructor;, (I)V, TestConstructor, (i), " + (R_DEFAULT + R_RESOLVED + R_INTERESTING + R_CASE + R_EXACT_NAME + R_UNQUALIFIED + R_CONSTRUCTOR + R_NON_RESTRICTED) + "}", + requestor.getResults()); +} /** * Complete the exception "Exception" in a catch clause. */ @@ -9870,7 +10144,8 @@ this.wc.codeComplete(cursorLocation, requestor, this.wcOwner); assertResults( - "CompletionMemberType.Y[TYPE_REF]{Y, , LCompletionMemberType$Y;, null, null, "+(R_DEFAULT + R_RESOLVED + R_INTERESTING + R_CASE + R_EXACT_EXPECTED_TYPE + R_EXACT_NAME+ R_UNQUALIFIED + R_NON_RESTRICTED)+"}", + "CompletionMemberType.Y[TYPE_REF]{Y, , LCompletionMemberType$Y;, null, null, "+(R_DEFAULT + R_RESOLVED + R_INTERESTING + R_CASE + R_EXACT_EXPECTED_TYPE + R_EXACT_NAME+ R_UNQUALIFIED + R_NON_RESTRICTED)+"}\n"+ + "Y[METHOD_REF]{Y(), LCompletionMemberType$Y;, ()V, Y, null, "+(R_DEFAULT + R_RESOLVED + R_INTERESTING + R_CASE + R_EXACT_EXPECTED_TYPE + R_EXACT_NAME+ R_UNQUALIFIED + R_CONSTRUCTOR + R_NON_RESTRICTED)+"}", requestor.getResults()); } public void testCompletionMemberType2() throws JavaModelException { @@ -14142,7 +14417,7 @@ " public static int foo;\n" + "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); requestor.setFavoriteReferences(new String[]{"test.p.ZZZ.*"}); @@ -14180,7 +14455,7 @@ " public static int foo(){}\n" + "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); requestor.setFavoriteReferences(new String[]{"test.p.ZZZ.*"}); @@ -14218,7 +14493,7 @@ " public static int foo;\n" + "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); requestor.setFavoriteReferences(new String[]{"test.p.ZZZ"}); @@ -14250,7 +14525,7 @@ " public static int foo(){}\n" + "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); requestor.setFavoriteReferences(new String[]{"test.p.ZZZ"}); @@ -14282,7 +14557,7 @@ " public static int foo;\n" + "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); requestor.setFavoriteReferences(new String[]{"test.p.ZZZ.foo"}); @@ -14320,7 +14595,7 @@ " public static int foo(){}\n" + "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); requestor.setFavoriteReferences(new String[]{"test.p.ZZZ.foo"}); @@ -14359,7 +14634,7 @@ " public static int foo(){}\n" + "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); requestor.setFavoriteReferences(new String[]{"test.p.ZZZ.*"}); @@ -14398,7 +14673,7 @@ " public static int foo(){}\n" + "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); requestor.setFavoriteReferences(new String[]{"test.p.ZZZ.foo"}); @@ -14437,7 +14712,7 @@ " public static int foo(){}\n" + "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); requestor.setFavoriteReferences(new String[]{"test.p.ZZZ.*"}); @@ -14476,7 +14751,7 @@ " public static int foo(){}\n" + "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); requestor.setFavoriteReferences(new String[]{"test.p.ZZZ.foo"}); @@ -14516,7 +14791,7 @@ " public static int foo(){}\n" + "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); requestor.setFavoriteReferences(new String[]{"test.p.ZZZ.*"}); @@ -14555,7 +14830,7 @@ " public static int foo(){}\n" + "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); requestor.setFavoriteReferences(new String[]{"test.p.ZZZ.*"}); @@ -14590,7 +14865,7 @@ " public static int foo(){}\n" + "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); requestor.setFavoriteReferences(new String[]{"test.p.ZZZ.*"}); @@ -14630,7 +14905,7 @@ " public static int foo(){}\n" + "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); requestor.setFavoriteReferences(new String[]{"test.p.ZZZ.*"}); @@ -14670,7 +14945,7 @@ " public static int foo(int i){}\n" + "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); requestor.setFavoriteReferences(new String[]{"test.p.ZZZ.*"}); @@ -14710,7 +14985,7 @@ " public static int foo(){}\n" + "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); requestor.setFavoriteReferences(new String[]{"test.p.ZZZ.*"}); @@ -14743,7 +15018,7 @@ " public static int foo;\n" + "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); requestor.setFavoriteReferences(new String[]{"test.p.ZZZ.*"}); @@ -14781,7 +15056,7 @@ " public int foo;\n" + "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); requestor.setFavoriteReferences(new String[]{"test.p.ZZZ.*"}); @@ -14813,7 +15088,7 @@ " public int foo;\n" + "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); requestor.setFavoriteReferences(new String[]{"test.p.ZZZ.foo"}); @@ -14845,7 +15120,7 @@ " public int foo(){return 0;};\n" + "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); requestor.setFavoriteReferences(new String[]{"test.p.ZZZ.*"}); @@ -14877,7 +15152,7 @@ " public int foo(){return 0;};\n" + "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); requestor.setFavoriteReferences(new String[]{"test.p.ZZZ.foo"}); @@ -14910,7 +15185,7 @@ " public static int foo(){return 0;};\n" + "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); requestor.setFavoriteReferences(new String[]{"test.p.ZZZ.foo"}); @@ -14951,7 +15226,7 @@ " public static int foo(){}\n" + "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); requestor.setFavoriteReferences(new String[]{"test.p.ZZZ.*"}); @@ -14999,7 +15274,7 @@ " public static int foo(){}\n" + "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); requestor.setFavoriteReferences(new String[]{"test.p.ZZZ.*"}); Index: src/org/eclipse/jdt/core/tests/model/CompletionTests_1_5.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/CompletionTests_1_5.java,v retrieving revision 1.84 diff -u -r1.84 CompletionTests_1_5.java --- src/org/eclipse/jdt/core/tests/model/CompletionTests_1_5.java 26 Apr 2007 11:27:42 -0000 1.84 +++ src/org/eclipse/jdt/core/tests/model/CompletionTests_1_5.java 14 May 2007 08:04:39 -0000 @@ -7621,7 +7621,8 @@ result.context); assertResults( - "Test0233Z[TYPE_REF]{Test0233Z, test0233, Ltest0233.Test0233Z;, null, null, " + (R_DEFAULT + R_RESOLVED + R_INTERESTING + R_CASE + R_EXACT_NAME+ R_UNQUALIFIED + R_NON_RESTRICTED) + "}", + "Test0233Z[TYPE_REF]{Test0233Z, test0233, Ltest0233.Test0233Z;, null, null, " + (R_DEFAULT + R_RESOLVED + R_INTERESTING + R_CASE + R_EXACT_NAME+ R_UNQUALIFIED + R_NON_RESTRICTED) + "}\n"+ + "Test0233Z[METHOD_REF]{Test0233Z, Ltest0233.Test0233Z;, ()V, Test0233Z, null, " + (R_DEFAULT + R_RESOLVED + R_INTERESTING + R_CASE + R_EXACT_NAME+ R_UNQUALIFIED + R_CONSTRUCTOR + R_NON_RESTRICTED) + "}", result.proposals); } // https://bugs.eclipse.org/bugs/show_bug.cgi?id=97860 @@ -10620,6 +10621,150 @@ "ZZZ3[TYPE_REF]{p.ZZZ3, p, Lp.ZZZ3;, null, null, " + (R_DEFAULT + R_RESOLVED + R_INTERESTING + R_CASE + R_ANNOTATION + R_TARGET + R_NON_RESTRICTED) + "}", requestor.getResults()); } +public void test0330() throws JavaModelException { + this.workingCopies = new ICompilationUnit[2]; + this.workingCopies[0] = getWorkingCopy( + "/Completion/src/test/Test.java", + "package test;"+ + "public class Test {\n" + + " public void foo() {\n" + + " new TestConstructor\n" + + " }" + + "}\n"); + + this.workingCopies[1] = getWorkingCopy( + "/Completion/src/test/TestConstructor.java", + "package test;"+ + "public class TestConstructor {\n" + + "}\n"); + + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true); + String str = this.workingCopies[0].getSource(); + String completeBehind = "TestConstructor"; + int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length(); + this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner); + + assertResults( + "TestConstructor[TYPE_REF]{TestConstructor, test, Ltest.TestConstructor;, null, null, " + (R_DEFAULT + R_RESOLVED + R_INTERESTING + R_CASE + R_EXACT_NAME + R_UNQUALIFIED + R_NON_RESTRICTED) + "}\n"+ + "TestConstructor[METHOD_REF]{TestConstructor(), Ltest.TestConstructor;, ()V, TestConstructor, null, " + (R_DEFAULT + R_RESOLVED + R_INTERESTING + R_CASE + R_EXACT_NAME + R_UNQUALIFIED + R_CONSTRUCTOR + R_NON_RESTRICTED) + "}", + requestor.getResults()); +} +public void test0331() throws JavaModelException { + this.workingCopies = new ICompilationUnit[2]; + this.workingCopies[0] = getWorkingCopy( + "/Completion/src/test/Test.java", + "package test;"+ + "public class Test {\n" + + " public void foo() {\n" + + " new TestConstructor\n" + + " }" + + "}\n"); + + this.workingCopies[1] = getWorkingCopy( + "/Completion/src/test/TestConstructor.java", + "package test;"+ + "public class TestConstructor {\n" + + " public TestConstructor(int a) {\n" + + "}\n"); + + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true); + String str = this.workingCopies[0].getSource(); + String completeBehind = "TestConstructor"; + int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length(); + this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner); + + assertResults( + "TestConstructor[TYPE_REF]{TestConstructor, test, Ltest.TestConstructor;, null, null, " + (R_DEFAULT + R_RESOLVED + R_INTERESTING + R_CASE + R_EXACT_NAME + R_UNQUALIFIED + R_NON_RESTRICTED) + "}\n"+ + "TestConstructor[METHOD_REF]{TestConstructor(), Ltest.TestConstructor;, (I)V, TestConstructor, (a), " + (R_DEFAULT + R_RESOLVED + R_INTERESTING + R_CASE + R_EXACT_NAME + R_UNQUALIFIED + R_CONSTRUCTOR + R_NON_RESTRICTED) + "}", + requestor.getResults()); +} +public void test0332() throws JavaModelException { + this.workingCopies = new ICompilationUnit[2]; + this.workingCopies[0] = getWorkingCopy( + "/Completion/src/test/Test.java", + "package test;"+ + "public class Test {\n" + + " public void foo() {\n" + + " new TestConstructor\n" + + " }" + + "}\n"); + + this.workingCopies[1] = getWorkingCopy( + "/Completion/src/test/TestConstructor.java", + "package test;"+ + "public class TestConstructor {\n" + + " public TestConstructor(int a) {}\n" + + "}\n"); + + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true); + String str = this.workingCopies[0].getSource(); + String completeBehind = "TestConstructor"; + int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length(); + this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner); + + assertResults( + "TestConstructor[TYPE_REF]{TestConstructor, test, Ltest.TestConstructor;, null, null, " + (R_DEFAULT + R_RESOLVED + R_INTERESTING + R_CASE + R_EXACT_NAME + R_UNQUALIFIED + R_NON_RESTRICTED) + "}\n"+ + "TestConstructor[METHOD_REF]{TestConstructor(), Ltest.TestConstructor;, (I)V, TestConstructor, (a), " + (R_DEFAULT + R_RESOLVED + R_INTERESTING + R_CASE + R_EXACT_NAME + R_UNQUALIFIED + R_CONSTRUCTOR + R_NON_RESTRICTED) + "}", + requestor.getResults()); +} +public void test0333() throws JavaModelException { + this.workingCopies = new ICompilationUnit[2]; + this.workingCopies[0] = getWorkingCopy( + "/Completion/src/test/Test.java", + "package test;"+ + "public class Test {\n" + + " public void foo() {\n" + + " new TestConstructor\n" + + " }" + + "}\n"); + + this.workingCopies[1] = getWorkingCopy( + "/Completion/src/test/TestConstructor.java", + "package test;"+ + "public enum TestConstructor {\n" + + " TestConstructorConstant(0);\n" + + " TestConstructor(int a) {=\n" + + "}\n"); + + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true); + String str = this.workingCopies[0].getSource(); + String completeBehind = "TestConstructor"; + int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length(); + this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner); + + assertResults( + "TestConstructor[TYPE_REF]{TestConstructor, test, Ltest.TestConstructor;, null, null, " + (R_DEFAULT + R_RESOLVED + R_INTERESTING + R_CASE + R_EXACT_NAME + R_UNQUALIFIED + R_NON_RESTRICTED) + "}", + requestor.getResults()); +} +public void test0334() throws JavaModelException { + this.workingCopies = new ICompilationUnit[2]; + this.workingCopies[0] = getWorkingCopy( + "/Completion/src/test/Test.java", + "package test;"+ + "public class Test {\n" + + " void foo() {\n" + + " new TestConstructor\n" + + " }\n" + + "}\n"); + + this.workingCopies[1] = getWorkingCopy( + "/Completion/src/test2/TestConstructor.java", + "package test2;"+ + "public @interface TestConstructor {\n" + + "}\n"); + + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, false, true); + requestor.allowAllRequiredProposals(); + + String str = this.workingCopies[0].getSource(); + String completeBehind = "TestConstructor"; + int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length(); + this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner); + + assertResults( + "TestConstructor[TYPE_REF]{test2.TestConstructor, test2, Ltest2.TestConstructor;, null, null, " + (R_DEFAULT + R_RESOLVED + R_INTERESTING + R_CASE + R_EXACT_NAME + R_NON_RESTRICTED) + "}", + requestor.getResults()); +} //https://bugs.eclipse.org/bugs/show_bug.cgi?id=153130 public void testEC001() throws JavaModelException { this.workingCopies = new ICompilationUnit[1]; @@ -10671,7 +10816,7 @@ " public static int foo;\n" + "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); requestor.setFavoriteReferences(new String[]{"test.p.ZZZ.*"}); @@ -10709,7 +10854,7 @@ " public static int foo(){}\n" + "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); requestor.setFavoriteReferences(new String[]{"test.p.ZZZ.*"}); @@ -10747,7 +10892,7 @@ " public static int foo;\n" + "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); requestor.setFavoriteReferences(new String[]{"test.p.ZZZ"}); @@ -10779,7 +10924,7 @@ " public static int foo(){}\n" + "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); requestor.setFavoriteReferences(new String[]{"test.p.ZZZ"}); @@ -10811,7 +10956,7 @@ " public static int foo;\n" + "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); requestor.setFavoriteReferences(new String[]{"test.p.ZZZ.foo"}); @@ -10849,7 +10994,7 @@ " public static int foo(){}\n" + "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); requestor.setFavoriteReferences(new String[]{"test.p.ZZZ.foo"}); @@ -10888,7 +11033,7 @@ " public static int foo(){}\n" + "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); requestor.setFavoriteReferences(new String[]{"test.p.ZZZ.*"}); @@ -10927,7 +11072,7 @@ " public static int foo(){}\n" + "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); requestor.setFavoriteReferences(new String[]{"test.p.ZZZ.*"}); @@ -10962,7 +11107,7 @@ " public static int foo(){}\n" + "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); requestor.setFavoriteReferences(new String[]{"test.p.ZZZ.foo"}); @@ -11001,7 +11146,7 @@ " public static int foo(){}\n" + "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); requestor.setFavoriteReferences(new String[]{"test.p.ZZZ.foo"}); @@ -11036,7 +11181,7 @@ " public static int foo(){}\n" + "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); requestor.setFavoriteReferences(new String[]{"test.p.ZZZ.*"}); @@ -11075,7 +11220,7 @@ " public static int foo(){}\n" + "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); requestor.setFavoriteReferences(new String[]{"test.p.ZZZ.*"}); @@ -11110,7 +11255,7 @@ " public static int foo(){}\n" + "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); requestor.setFavoriteReferences(new String[]{"test.p.ZZZ.foo"}); @@ -11149,7 +11294,7 @@ " public static int foo(){}\n" + "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); requestor.setFavoriteReferences(new String[]{"test.p.ZZZ.foo"}); @@ -11191,7 +11336,7 @@ " public static int foo(){}\n" + "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); requestor.setFavoriteReferences(new String[]{"test.q.ZZZ2.foo"}); @@ -11227,7 +11372,7 @@ " public static int foo(){}\n" + "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); requestor.setFavoriteReferences(new String[]{"test.p.ZZZ.*"}); @@ -11266,7 +11411,7 @@ " public static int foo(){}\n" + "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); requestor.setFavoriteReferences(new String[]{"test.p.ZZZ.*"}); @@ -11301,7 +11446,7 @@ " public static int foo(){}\n" + "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); requestor.setFavoriteReferences(new String[]{"test.p.ZZZ.*"}); @@ -11341,7 +11486,7 @@ " public static int foo(){}\n" + "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); requestor.setFavoriteReferences(new String[]{"test.p.ZZZ.*"}); @@ -11381,7 +11526,7 @@ " public static int foo(int i){}\n" + "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); requestor.setFavoriteReferences(new String[]{"test.p.ZZZ.foo"}); @@ -11421,7 +11566,7 @@ " public static int foo(){}\n" + "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); requestor.setFavoriteReferences(new String[]{"test.p.ZZZ.foo"}); @@ -11459,7 +11604,7 @@ " public static int foo(){}\n" + "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); requestor.setFavoriteReferences(new String[]{"test.p.ZZZ.foo"}); @@ -11492,7 +11637,7 @@ " public static int foo;\n" + "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); requestor.setFavoriteReferences(new String[]{"test.p.ZZZ.*"}); @@ -11530,7 +11675,7 @@ " public int foo;\n" + "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); requestor.setFavoriteReferences(new String[]{"test.p.ZZZ.*"}); @@ -11562,7 +11707,7 @@ " public int foo;\n" + "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); requestor.setFavoriteReferences(new String[]{"test.p.ZZZ.foo"}); @@ -11594,7 +11739,7 @@ " public int foo(){return 0;};\n" + "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); requestor.setFavoriteReferences(new String[]{"test.p.ZZZ.*"}); @@ -11626,7 +11771,7 @@ " public int foo(){return 0;};\n" + "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); requestor.setFavoriteReferences(new String[]{"test.p.ZZZ.foo"}); @@ -11659,7 +11804,7 @@ " public static int foo(){return 0;};\n" + "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); requestor.setFavoriteReferences(new String[]{"test.p.ZZZ.foo"}); @@ -11704,7 +11849,7 @@ " public static int foo(){}\n" + "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); requestor.setFavoriteReferences(new String[]{"test.p.ZZZ.*"}); @@ -11752,7 +11897,7 @@ " public static int foo(){}\n" + "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false, true); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); requestor.allowAllRequiredProposals(); requestor.setFavoriteReferences(new String[]{"test.p.ZZZ.*"});