org.eclipse.jdt.core.search
Class ReferenceMatch
java.lang.Object
org.eclipse.jdt.core.search.SearchMatch
org.eclipse.jdt.core.search.ReferenceMatch
- Direct Known Subclasses:
- InternalReferenceMatch
public abstract class ReferenceMatch
- extends SearchMatch
An abstract Java search match that represents a reference.
This class is not intended to be subclassed by clients.
- Since:
- 3.4
Methods inherited from class org.eclipse.jdt.core.search.SearchMatch |
getAccuracy, getElement, getLength, getOffset, getParticipant, getResource, getRule, isEquivalent, isErasure, isExact, isImplicit, isInsideDocComment, isRaw, setAccuracy, setElement, setImplicit, setInsideDocComment, setLength, setOffset, setParticipant, setRaw, setResource, setRule, toString |
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
ReferenceMatch
public ReferenceMatch(IJavaElement enclosingElement,
int accuracy,
int offset,
int length,
boolean insideDocComment,
SearchParticipant participant,
IResource resource)
- Creates a new reference match.
- Parameters:
enclosingElement
- the inner-most enclosing member that references this java elementaccuracy
- one of SearchMatch.A_ACCURATE
or SearchMatch.A_INACCURATE
offset
- the offset the match starts at, or -1 if unknownlength
- the length of the match, or -1 if unknowninsideDocComment
- true
if this search match is inside a doc
comment, and false
otherwiseparticipant
- the search participant that created the matchresource
- the resource of the element
getLocalElement
public final IJavaElement getLocalElement()
- 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 SearchMatch.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,
Or a local element may be an ITypeParameter
that extends the referenced
type. For example,
- Returns:
- the local element of this search match, or
null
if none. - Since:
- 3.4