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 v1.0
* which accompanies this distribution and is available at
* http://www.eclipse.org/legal/epl-v10.html
* ******************************************************************/
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 {
public static final Member[] NONE = new Member[0];
public static final MemberKind METHOD = new MemberKind("METHOD", 1);
public static final MemberKind FIELD = new MemberKind("FIELD", 2);
public static final MemberKind CONSTRUCTOR = new MemberKind("CONSTRUCTOR", 3);
public static final MemberKind STATIC_INITIALIZATION = new MemberKind("STATIC_INITIALIZATION", 4);
public static final MemberKind POINTCUT = new MemberKind("POINTCUT", 5);
public static final MemberKind ADVICE = new MemberKind("ADVICE", 6);
public static final MemberKind HANDLER = new MemberKind("HANDLER", 7);
public static final MemberKind MONITORENTER = new MemberKind("MONITORENTER", 8);
public static final MemberKind MONITOREXIT = new MemberKind("MONITOREXIT", 9);
public static final AnnotationAJ[][] NO_PARAMETER_ANNOTATIONXS = new AnnotationAJ[][] {};
public static final ResolvedType[][] NO_PARAMETER_ANNOTATION_TYPES = new ResolvedType[][] {};
/**
* @return the kind of member from those listed as MemberKind instances
*/
public MemberKind getKind();
public String getName();
public UnresolvedType getDeclaringType();
public UnresolvedType[] getParameterTypes();
public UnresolvedType[] getGenericParameterTypes();
public UnresolvedType getType();
public UnresolvedType getReturnType();
public 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.
*/
public String getSignature();
public JoinPointSignatureIterator getJoinPointSignatures(World world);
public 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.
*/
public String getParameterSignature();
public int getModifiers(World world);
public int getModifiers();
/**
* Returns true iff the member is generic (NOT parameterized)
*/
public boolean canBeParameterized();
public AnnotationAJ[] getAnnotations();
public Collection getDeclaringTypes(World world);
public String[] getParameterNames(World world);
public UnresolvedType[] getExceptions(World world);
public ResolvedMember resolve(World world);
public int compareTo(Member other);
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy