org.aspectj.weaver.Member Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of aspectjtools Show documentation
Show all versions of aspectjtools Show documentation
Tools from the AspectJ project
/* *******************************************************************
* Copyright (c) 2002-2010
* All rights reserved.
* This program and the accompanying materials are made available
* under the terms of the Eclipse Public License v 2.0
* which accompanies this distribution and is available at
* https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt
* ******************************************************************/
package org.aspectj.weaver;
import java.util.Collection;
/**
* Abstract representation of a member (field/constructor/method) within a type.
*
* @author PARC
* @author Adrian Colyer
* @author Andy Clement
*/
public interface Member extends Comparable {
Member[] NONE = new Member[0];
MemberKind METHOD = new MemberKind("METHOD", 1);
MemberKind FIELD = new MemberKind("FIELD", 2);
MemberKind CONSTRUCTOR = new MemberKind("CONSTRUCTOR", 3);
MemberKind STATIC_INITIALIZATION = new MemberKind("STATIC_INITIALIZATION", 4);
MemberKind POINTCUT = new MemberKind("POINTCUT", 5);
MemberKind ADVICE = new MemberKind("ADVICE", 6);
MemberKind HANDLER = new MemberKind("HANDLER", 7);
MemberKind MONITORENTER = new MemberKind("MONITORENTER", 8);
MemberKind MONITOREXIT = new MemberKind("MONITOREXIT", 9);
AnnotationAJ[][] NO_PARAMETER_ANNOTATIONXS = new AnnotationAJ[][] {};
ResolvedType[][] NO_PARAMETER_ANNOTATION_TYPES = new ResolvedType[][] {};
/**
* @return the kind of member from those listed as MemberKind instances
*/
MemberKind getKind();
String getName();
UnresolvedType getDeclaringType();
UnresolvedType[] getParameterTypes();
UnresolvedType[] getGenericParameterTypes();
UnresolvedType getType();
UnresolvedType getReturnType();
UnresolvedType getGenericReturnType();
/**
* Return full signature, including return type, e.g. "()LFastCar;". For a signature without the return type, use
* getParameterSignature() - it is important to choose the right one in the face of covariance.
*/
String getSignature();
JoinPointSignatureIterator getJoinPointSignatures(World world);
int getArity();
/**
* Return signature without return type, e.g. "()" for a signature *with* the return type, use getSignature() - it is important
* to choose the right one in the face of covariance.
*/
String getParameterSignature();
int getModifiers(World world);
int getModifiers();
/**
* Returns true iff the member is generic (NOT parameterized)
*/
boolean canBeParameterized();
AnnotationAJ[] getAnnotations();
Collection getDeclaringTypes(World world);
String[] getParameterNames(World world);
UnresolvedType[] getExceptions(World world);
ResolvedMember resolve(World world);
int compareTo(Member other);
}