Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
Copyright (c) 2000, 2009 IBM Corporation and others. All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html Contributors: IBM Corporation - initial API and implementation /
 
 package org.eclipse.jdt.core.search;
 
 import  org.eclipse.core.resources.IResource;
An abstract Java search match that represents a reference.

Since:
3.4
 
 public abstract class ReferenceMatch extends SearchMatch {
 
Creates a new reference match.

Parameters:
enclosingElement the inner-most enclosing member that references this java element
accuracy one of A_ACCURATE or A_INACCURATE
offset the offset the match starts at, or -1 if unknown
length the length of the match, or -1 if unknown
insideDocComment true if this search match is inside a doc comment, and false otherwise
participant the search participant that created the match
resource the resource of the element
 
 public ReferenceMatch(IJavaElement enclosingElementint accuracyint offsetint lengthboolean insideDocCommentSearchParticipant participant, IResource resource) {
 	super(enclosingElementaccuracyoffsetlengthparticipantresource);
 	setInsideDocComment(insideDocComment);
 }

Returns the local element of this search match, or null if none. A local element is the inner-most element that contains the reference and that is not reachable by navigating from the root of the IJavaModel using IParent.getChildren().

Known element types for local elements are IJavaElement.ANNOTATION, IJavaElement.LOCAL_VARIABLE and IJavaElement.TYPE_PARAMETER.
However clients should not assume that this set of element types is closed as other types of elements may be returned in the future, e.g. if new types of elements are added in the Java model. Clients can only assume that the parent chain of this local element eventually leads to the element from getElement().

The local element being an IAnnotation is the most usual case. For example,

  • searching for the references to the method Annot.clazz() in
                 public class Test {
                     void method() {
                         @Annot(clazz=Test.class) int x;
                     }
                 }
    will return one MethodReferenceMatch match whose local element is the IAnnotation 'Annot'.

  • searching for the references to the type Deprecated in
                 public class Test {
                    @Deprecated void method() {}
                 }
    will return one TypeReferenceMatch match whose local element is the IAnnotation 'Deprecated'.

  • searching for the references to the field CONST in
                  @Num(number= Num.CONST)
                  @interface Num {
                      public static final int CONST= 42;
                      int number();
                  }
    will return one FieldReferenceMatch match whose local element is the IAnnotation 'Num'.

A local element may also be a ILocalVariable whose type is the referenced type. For example,

  • searching for the references to the type Test in
             public class Test {
                 void foo() {
                    Test local;
                 }
             }
    will return one TypeReferenceMatch match whose local element is the ILocalVariable 'local'.

Or a local element may be an ITypeParameter that extends the referenced type. For example,
  • searching for the references to the type Test in
             public class X< T extends Test> {
             }
    will return one TypeReferenceMatch match whose local element is the ITypeParameter 'T'.

Returns:
the local element of this search match, or null if none.
Since:
3.4
final public IJavaElement getLocalElement() {
	return this.;
Store the local element in the match.

Parameters:
element The local element to be stored
Since:
3.5
final public void setLocalElement(IJavaElement element) {
	this. = element;
New to GrepCode? Check out our FAQ X