Index: model/org/eclipse/jdt/internal/compiler/SourceElementParser.java =================================================================== RCS file: /home/eclipse/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/compiler/SourceElementParser.java,v retrieving revision 1.45 diff -u -r1.45 SourceElementParser.java --- model/org/eclipse/jdt/internal/compiler/SourceElementParser.java 20 Apr 2005 21:43:51 -0000 1.45 +++ model/org/eclipse/jdt/internal/compiler/SourceElementParser.java 22 Apr 2005 14:40:57 -0000 @@ -329,6 +329,13 @@ requestor.acceptFieldReference(fr.token, fr.sourceStart); } } +protected void consumeMemberValuePair() { + super.consumeMemberValuePair(); + MemberValuePair memberValuepair = (MemberValuePair) this.astStack[this.astPtr]; + if (reportReferenceInfo) { + requestor.acceptMethodReference(memberValuepair.name, 0, memberValuepair.sourceStart); + } +} protected void consumeMethodHeaderName(boolean isAnnotationMethod) { long selectorSourcePositions = this.identifierPositionStack[this.identifierPtr]; int selectorSourceEnd = (int) selectorSourcePositions; @@ -435,6 +442,13 @@ (int)(messageSend.nameSourcePosition >>> 32)); } } +protected void consumeSingleMemberAnnotation() { + super.consumeSingleMemberAnnotation(); + SingleMemberAnnotation member = (SingleMemberAnnotation) expressionStack[expressionPtr]; + if (reportReferenceInfo) { + requestor.acceptMethodReference(TypeConstants.VALUE, 0, member.sourceStart); + } +} protected void consumeSingleStaticImportDeclarationName() { // SingleTypeImportDeclarationName ::= 'import' 'static' Name super.consumeSingleStaticImportDeclarationName(); Index: search/org/eclipse/jdt/internal/core/search/matching/MatchLocator.java =================================================================== RCS file: /home/eclipse/org.eclipse.jdt.core/search/org/eclipse/jdt/internal/core/search/matching/MatchLocator.java,v retrieving revision 1.236 diff -u -r1.236 MatchLocator.java --- search/org/eclipse/jdt/internal/core/search/matching/MatchLocator.java 11 Apr 2005 15:37:37 -0000 1.236 +++ search/org/eclipse/jdt/internal/core/search/matching/MatchLocator.java 22 Apr 2005 14:41:00 -0000 @@ -1767,15 +1767,10 @@ // report annotations if (method.annotations != null) { - for (int i=0, al=method.annotations.length; i -1 && encloses(enclosingElement)) { + if (accuracy > -1 && enclosesElement) { int offset = type.sourceStart; SearchMatch match = this.patternLocator.newDeclarationMatch(type, enclosingElement, type.binding, accuracy, type.sourceEnd-offset+1, this); report(match); @@ -1957,7 +1974,7 @@ if (typeParameter != null) { Integer level = (Integer) nodeSet.matchingNodes.removeKey(typeParameter); if (level != null && matchedClassContainer) { - if (level.intValue() > -1 && encloses(enclosingElement)) { + if (level.intValue() > -1 && enclosesElement) { int offset = typeParameter.sourceStart; SearchMatch match = this.patternLocator.newDeclarationMatch(typeParameter, enclosingElement, type.binding, level.intValue(), typeParameter.sourceEnd-offset+1, this); report(match); @@ -1983,13 +2000,7 @@ // report annotations if (type.annotations != null) { - for (int i=0, al=type.annotations.length; i