All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.aspectj.org.eclipse.jdt.core.search.TypeReferenceMatch Maven / Gradle / Ivy

Go to download

AspectJ tools most notably contains the AspectJ compiler (AJC). AJC applies aspects to Java classes during compilation, fully replacing Javac for plain Java classes and also compiling native AspectJ or annotation-based @AspectJ syntax. Furthermore, AJC can weave aspects into existing class files in a post-compile binary weaving step. This library is a superset of AspectJ weaver and hence also of AspectJ runtime.

There is a newer version: 1.9.22.1
Show newest version
/*******************************************************************************
 * Copyright (c) 2000, 2009 IBM Corporation and others.
 *
 * This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License 2.0
 * which accompanies this distribution, and is available at
 * https://www.eclipse.org/legal/epl-2.0/
 *
 * SPDX-License-Identifier: EPL-2.0
 *
 * Contributors:
 *     IBM Corporation - initial API and implementation
 *******************************************************************************/
package org.aspectj.org.eclipse.jdt.core.search;

import org.eclipse.core.resources.IResource;
import org.aspectj.org.eclipse.jdt.core.*;

/**
 * A Java search match that represents a type reference.
 * The element is the inner-most enclosing member that references this type.
 * 

* This class is intended to be instantiated and subclassed by clients. *

* * @since 3.0 */ public class TypeReferenceMatch extends ReferenceMatch { private IJavaElement[] otherElements; /** * Creates a new type reference match. * * @param enclosingElement the inner-most enclosing member that references this type * @param accuracy one of {@link #A_ACCURATE} or {@link #A_INACCURATE} * @param offset the offset the match starts at, or -1 if unknown * @param length the length of the match, or -1 if unknown * @param insideDocComment true if this search match is inside a doc * comment, and false otherwise * @param participant the search participant that created the match * @param resource the resource of the element */ public TypeReferenceMatch(IJavaElement enclosingElement, int accuracy, int offset, int length, boolean insideDocComment, SearchParticipant participant, IResource resource) { super(enclosingElement, accuracy, offset, length, insideDocComment, participant, resource); } /** * Returns other elements also enclosing the type reference. This typically can * happen for multiple fields or local variable declarations. *

* For example, *

    *
  • searching for the references to the type Test in *
     *         public class Test {
     *             Test test1, test2, test3;
     *             void method() {}
     *         }
     *         
    * will return one match whose other elements is an array of two fields: * {@link IField test2} and {@link IField test3}. *

    *
  • *
  • searching for the references to the type Test in *
     *         public class Test {
     *             String str;
     *             void method() {
     *                 Test local1, local2, local3;
     *             }
     *         }
     *         
    * will return one match whose other elements is an array of two local * variables: {@link ILocalVariable local2} and {@link ILocalVariable local3}. *

    *
  • *
  • since 3.6, searching for the references to the type * Test in *
     *         public class Test {
     *                 void testB(int testKind) {
     *                         @Annot int test1, test2;
     *                 }
     *         }
     *         @interface Annot {}
     *         
    * will return one match whose other elements is an array of one annotation: * {@link IAnnotation Annot} which parent is the local variable * {@link ILocalVariable test2}. *
  • *
* * @return the other elements of the search match, or null if none * @since 3.2 */ public final IJavaElement[] getOtherElements() { return this.otherElements; } /** * Sets the other elements of this search match. * * @see #getOtherElements() * * @param otherElements the other elements of the match, * or null if none * @since 3.2 */ public final void setOtherElements(IJavaElement[] otherElements) { this.otherElements = otherElements; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy