diff options
Diffstat (limited to 'aspectj5rt/java5-src/org/aspectj/lang/reflect')
23 files changed, 0 insertions, 1176 deletions
diff --git a/aspectj5rt/java5-src/org/aspectj/lang/reflect/Advice.java b/aspectj5rt/java5-src/org/aspectj/lang/reflect/Advice.java deleted file mode 100644 index 03be6c7f1..000000000 --- a/aspectj5rt/java5-src/org/aspectj/lang/reflect/Advice.java +++ /dev/null @@ -1,59 +0,0 @@ -/* ******************************************************************* - * Copyright (c) 2005 Contributors. - * 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://eclipse.org/legal/epl-v10.html - * - * Contributors: - * Adrian Colyer Initial implementation - * ******************************************************************/ -package org.aspectj.lang.reflect; - -import java.lang.reflect.Type; - -/** - * Runtime representation of an advice declaration inside an aspect - */ -public interface Advice { - - /** - * The declaring aspect - */ - AjType getDeclaringType(); - - /** - * The kind of advice (before, after-returning, after-throwing, etc.) - */ - AdviceKind getKind(); - - /** - * Returns the advice name, or the empty string if the advice is anonymous. - * If using the @AspectJ annotations, the advice name is the name of the - * annotated advice method. If using the code style, the advice is - * anonymous, unless the advice is annotated with the @AdviceName annotation, - * in which case the name given in the annotation is returned. - */ - String getName(); - - /** - * The advice parameters - */ - AjType<?>[] getParameterTypes(); - - /** - * The generic parameter types, @see java.lang.reflect.Method.getGenericParameterTypes - */ - Type[] getGenericParameterTypes(); - - /** - * The declared thrown exceptions by the advice - */ - AjType<?>[] getExceptionTypes(); - - /** - * The pointcut expression associated with the advice declaration. - */ - PointcutExpression getPointcutExpression(); -} diff --git a/aspectj5rt/java5-src/org/aspectj/lang/reflect/AdviceKind.java b/aspectj5rt/java5-src/org/aspectj/lang/reflect/AdviceKind.java deleted file mode 100644 index 82351db88..000000000 --- a/aspectj5rt/java5-src/org/aspectj/lang/reflect/AdviceKind.java +++ /dev/null @@ -1,23 +0,0 @@ -/* ******************************************************************* - * Copyright (c) 2005 Contributors. - * 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://eclipse.org/legal/epl-v10.html - * - * Contributors: - * Adrian Colyer Initial implementation - * ******************************************************************/ -package org.aspectj.lang.reflect; - -/** - * The different kinds of advice in AspectJ - */ -public enum AdviceKind { - BEFORE, - AFTER, - AFTER_RETURNING, - AFTER_THROWING, - AROUND; -} diff --git a/aspectj5rt/java5-src/org/aspectj/lang/reflect/AjType.java b/aspectj5rt/java5-src/org/aspectj/lang/reflect/AjType.java deleted file mode 100644 index 5e26a7d27..000000000 --- a/aspectj5rt/java5-src/org/aspectj/lang/reflect/AjType.java +++ /dev/null @@ -1,380 +0,0 @@ -/* ******************************************************************* - * Copyright (c) 2005 Contributors. - * 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://eclipse.org/legal/epl-v10.html - * - * Contributors: - * Adrian Colyer Initial implementation - * ******************************************************************/ -package org.aspectj.lang.reflect; - -import java.lang.reflect.AnnotatedElement; -import java.lang.reflect.Constructor; -import java.lang.reflect.Field; -import java.lang.reflect.Method; -import java.lang.reflect.Type; -import java.lang.reflect.TypeVariable; - -/** - * The runtime representation of a type (Aspect, Class, Interface, Annotation, Enum, or Array) in an AspectJ - * program. - */ -public interface AjType<T> extends Type, AnnotatedElement { - - /** - * The name of this type, in the same format as returned by Class.getName() - */ - public String getName(); - - /** - * The package in which this type is declared - */ - public Package getPackage(); - - /** - * The interfaces implemented by this type - */ - public AjType<?>[] getInterfaces(); - - /** - * The modifiers declared for this type. The return value can be interpreted - * using java.lang.reflect.Modifier - */ - public int getModifiers(); - - /** - * The java.lang.Class that corresponds to this AjType - */ - public Class<T> getJavaClass(); - - // scope - - /** - * The supertype of this type. If this type represents Object or a primitive type - * then null is returned. - */ - public AjType<?> getSupertype(); - - /** - * The generic supertype of this type, as defined by Class.getGenericSupertype - */ - public Type getGenericSupertype(); - - /** - * If this type represents a local or anonymous type declared within a method, return - * then enclosing Method object. - */ - public Method getEnclosingMethod(); - - /** - * If this type represents a local or anonymous type declared within a constructor, return - * then enclosing Method object. - */ - public Constructor getEnclosingConstructor(); - - /** - * Returns the immediately enclosing type of this type. - */ - public AjType<?> getEnclosingType(); - - /** - * If this type is a member of another type, return the AjType representing the type - * in which it was declared. - */ - public AjType<?> getDeclaringType(); - - /** - * If this type represents an aspect, returns the associated per-clause. - * Returns null for non-aspect types. - */ - public PerClause getPerClause(); - - // inner types - /** - * Returns an array containing all the public types that are members of this type - */ - public AjType<?>[] getAjTypes(); - - /** - * Returns an array containing all the types declared by this type - */ - public AjType<?>[] getDeclaredAjTypes(); - - // constructors - - /** - * Returns the constructor object for the specified public constructor of this type - */ - public Constructor getConstructor(AjType<?>... parameterTypes) throws NoSuchMethodException; - - /** - * Returns all of the public constructors of this type - */ - public Constructor[] getConstructors(); - - /** - * Returns the constructor object for the specified constructor of this type - */ - public Constructor getDeclaredConstructor(AjType<?>... parameterTypes) throws NoSuchMethodException; - - /** - * Returns all the constructors declared in this type - */ - public Constructor[] getDeclaredConstructors(); - - // fields - - /** - * Return the field declared in this type with the given name - */ - public Field getDeclaredField(String name) throws NoSuchFieldException; - - /** - * Returns all the fields declared in this type - */ - public Field[] getDeclaredFields(); - - /** - * Return the public field with the given name - */ - public Field getField(String name) throws NoSuchFieldException; - - /** - * Return the public fields declared by this type - */ - public Field[] getFields(); - - // methods - - /** - * Return the method object for the specified method declared in this type - */ - public Method getDeclaredMethod(String name, AjType<?>... parameterTypes) throws NoSuchMethodException; - - /** - * Return the method object for the specified public method declared in this type - */ - public Method getMethod(String name, AjType<?>... parameterTypes) throws NoSuchMethodException; - - /** - * Return all the methods declared by this type - */ - public Method[] getDeclaredMethods(); - - /** - * Returns all the public methods of this type - */ - public Method[] getMethods(); - - // pointcuts - - /** - * Return the pointcut object representing the specified pointcut declared by this type - */ - public Pointcut getDeclaredPointcut(String name) throws NoSuchPointcutException; - - /** - * Return the pointcut object representing the specified public pointcut - */ - public Pointcut getPointcut(String name) throws NoSuchPointcutException; - - /** - * Returns all of the pointcuts declared by this type - */ - public Pointcut[] getDeclaredPointcuts(); - - /** - * Returns all of the public pointcuts of this type - */ - public Pointcut[] getPointcuts(); - - // advice - - /** - * Returns all of the advice declared by this type, of an advice kind contained in the - * parameter list. - */ - public Advice[] getDeclaredAdvice(AdviceKind... ofTypes); - - /** - * Returns all of the advice for this type, of an advice kind contained in the parameter - * list. - */ - public Advice[] getAdvice(AdviceKind... ofTypes); - - /** - * Returns the advice with the given name. For an @AspectJ declared advice member, - * this is the name of the annotated method. For a code-style advice declaration, this - * is the name given in the @AdviceName annotation if present. - */ - public Advice getAdvice(String name) throws NoSuchAdviceException; - - /** - * Returns the advice declared in this type with the given name. For an @AspectJ declared advice member, - * this is the name of the annotated method. For a code-style advice declaration, this - * is the name given in the @AdviceName annotation if present. - */ - public Advice getDeclaredAdvice(String name) throws NoSuchAdviceException; - - // inter-type declarations - - /** - * Return the inter-type method declared by this type matching the given specification - */ - public InterTypeMethodDeclaration getDeclaredITDMethod(String name, AjType<?> target, AjType<?>... parameterTypes) throws NoSuchMethodException; - - /** - * Return all of the inter-type methods declared by this type - */ - public InterTypeMethodDeclaration[] getDeclaredITDMethods(); - - /** - * Return the public inter-type method of this type matching the given specification - */ - public InterTypeMethodDeclaration getITDMethod(String name, AjType<?> target, AjType<?>... parameterTypes) throws NoSuchMethodException; - - /** - * Return all of the public inter-type declared methods of this type - */ - public InterTypeMethodDeclaration[] getITDMethods(); - - /** - * Return the inter-type constructor declared by this type matching the given specification - */ - public InterTypeConstructorDeclaration getDeclaredITDConstructor(AjType<?> target, AjType<?>... parameterTypes) throws NoSuchMethodException; - - /** - * Returns all of the inter-type constructors declared by this type - */ - public InterTypeConstructorDeclaration[] getDeclaredITDConstructors(); - - /** - * Return the public inter-type constructor matching the given specification - */ - public InterTypeConstructorDeclaration getITDConstructor(AjType<?> target, AjType<?>... parameterTypes) throws NoSuchMethodException; - - /** - * Return all of the public inter-type constructors of this type - */ - public InterTypeConstructorDeclaration[] getITDConstructors(); - - /** - * Return the inter-type field declared in this type with the given specification - */ - public InterTypeFieldDeclaration getDeclaredITDField(String name, AjType<?> target) throws NoSuchFieldException; - - /** - * Return all of the inter-type fields declared in this type - */ - public InterTypeFieldDeclaration[] getDeclaredITDFields(); - - /** - * Return the public inter-type field matching the given specification - */ - public InterTypeFieldDeclaration getITDField(String name, AjType<?> target) throws NoSuchFieldException; - - /** - * Return all of the public inter-type fields for this type - */ - public InterTypeFieldDeclaration[] getITDFields(); - - // declare statements - /** - * Returns all of the declare error and declare warning members of this type, - * including declare error/warning members inherited from super-types - */ - public DeclareErrorOrWarning[] getDeclareErrorOrWarnings(); - - /** - * Returns all of the declare parents members of this type, including - * declare parent members inherited from super-types - */ - public DeclareParents[] getDeclareParents(); - - /** - * Return all of the declare soft members of this type, including declare - * soft members inherited from super-types - */ - public DeclareSoft[] getDeclareSofts(); - - /** - * Return all of the declare annotation members of this type, including declare - * annotation members inherited from super-types - */ - public DeclareAnnotation[] getDeclareAnnotations(); - - /** - * Return all of the declare precedence members of this type, including declare - * precedence members inherited from super-types - */ - public DeclarePrecedence[] getDeclarePrecedence(); - - // misc - - /** - * Returns the elements of this enum class, or null if this type does not represent - * an enum type. - */ - public T[] getEnumConstants(); - - /** - * Returns an array of TypeVariable objects that represent the type variables declared by - * this type (if any) - */ - public TypeVariable<Class<T>>[] getTypeParameters(); - - /** - * True if this is an enum type - */ - public boolean isEnum(); - - /** - * True if the given object is assignment-compatible with an object of the type represented - * by this AjType - */ - public boolean isInstance(Object o); - - /** - * True if this is an interface type - */ - public boolean isInterface(); - - /** - * Returns true if and only if the underlying type is a local class - */ - public boolean isLocalClass(); - - /** - * Returns true if and only if the underlying type is a member class - */ - public boolean isMemberClass(); - - /** - * Return true if this is an array type - */ - public boolean isArray(); - - /** - * Return true if this object represents a primitive type - */ - public boolean isPrimitive(); - - /** - * Return true if this is an aspect type - */ - public boolean isAspect(); - - /** - * Returns true if and only if the underlying type is a member aspect - */ - public boolean isMemberAspect(); - - /** - * Returns true if and only if the underlying type is a privileged aspect - */ - public boolean isPrivileged(); - -} diff --git a/aspectj5rt/java5-src/org/aspectj/lang/reflect/AjTypeSystem.java b/aspectj5rt/java5-src/org/aspectj/lang/reflect/AjTypeSystem.java deleted file mode 100644 index 6999dac19..000000000 --- a/aspectj5rt/java5-src/org/aspectj/lang/reflect/AjTypeSystem.java +++ /dev/null @@ -1,55 +0,0 @@ -/* ******************************************************************* - * Copyright (c) 2005 Contributors. - * 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://eclipse.org/legal/epl-v10.html - * - * Contributors: - * Adrian Colyer Initial implementation - * ******************************************************************/ -package org.aspectj.lang.reflect; - -import java.lang.ref.WeakReference; -import java.util.Collections; -import java.util.Map; -import java.util.WeakHashMap; - -import org.aspectj.internal.lang.reflect.AjTypeImpl; - -/** - * This is the anchor for the AspectJ runtime type system. - * Typical usage to get the AjType representation of a given type - * at runtime is to call <code>AjType<Foo> fooType = AjTypeSystem.getAjType(Foo.class);</code> - */ -public class AjTypeSystem { - - private static Map<Class, WeakReference<AjType>> ajTypes = - Collections.synchronizedMap(new WeakHashMap<Class,WeakReference<AjType>>()); - - /** - * Return the AspectJ runtime type representation of the given Java type. - * Unlike java.lang.Class, AjType understands pointcuts, advice, declare statements, - * and other AspectJ type members. AjType is the recommended reflection API for - * AspectJ programs as it offers everything that java.lang.reflect does, with - * AspectJ-awareness on top. - */ - public static <T> AjType<T> getAjType(Class<T> fromClass) { - WeakReference<AjType> weakRefToAjType = ajTypes.get(fromClass); - if (weakRefToAjType!=null) { - AjType<T> theAjType = weakRefToAjType.get(); - if (theAjType != null) { - return theAjType; - } else { - theAjType = new AjTypeImpl<T>(fromClass); - ajTypes.put(fromClass, new WeakReference<AjType>(theAjType)); - return theAjType; - } - } - // neither key nor value was found - AjType<T> theAjType = new AjTypeImpl<T>(fromClass); - ajTypes.put(fromClass, new WeakReference<AjType>(theAjType)); - return theAjType; - } -} diff --git a/aspectj5rt/java5-src/org/aspectj/lang/reflect/DeclareAnnotation.java b/aspectj5rt/java5-src/org/aspectj/lang/reflect/DeclareAnnotation.java deleted file mode 100644 index faee5d495..000000000 --- a/aspectj5rt/java5-src/org/aspectj/lang/reflect/DeclareAnnotation.java +++ /dev/null @@ -1,56 +0,0 @@ -/* ******************************************************************* - * Copyright (c) 2005 Contributors. - * 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://eclipse.org/legal/epl-v10.html - * - * Contributors: - * Adrian Colyer Initial implementation - * ******************************************************************/ -package org.aspectj.lang.reflect; - -import java.lang.annotation.Annotation; - -/** - * The AspectJ runtime representation of a declare annotation member in an aspect. - * - */ -public interface DeclareAnnotation { - - public enum Kind { Field, Method, Constructor, Type }; - - /** - * The aspect that declared this member. - */ - AjType<?> getDeclaringType(); - - /** - * The target element kind - */ - Kind getKind(); - - /** - * The target signature pattern. Returns null if getKind() == Type - */ - SignaturePattern getSignaturePattern(); - - /** - * The target type pattern. Returns null if getKind() != Type - */ - TypePattern getTypePattern(); - - /** - * The declared annotation. If the declared annotation does not have runtime retention, - * this method returns null. - */ - Annotation getAnnotation(); - - /** - * Returns the text of the annotation as declared in this member. Available for - * both runtime and class-file retention annotations - */ - String getAnnotationAsText(); - -} diff --git a/aspectj5rt/java5-src/org/aspectj/lang/reflect/DeclareErrorOrWarning.java b/aspectj5rt/java5-src/org/aspectj/lang/reflect/DeclareErrorOrWarning.java deleted file mode 100644 index a6a5abc53..000000000 --- a/aspectj5rt/java5-src/org/aspectj/lang/reflect/DeclareErrorOrWarning.java +++ /dev/null @@ -1,40 +0,0 @@ -/* ******************************************************************* - * Copyright (c) 2005 Contributors. - * 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://eclipse.org/legal/epl-v10.html - * - * Contributors: - * Adrian Colyer Initial implementation - * ******************************************************************/ -package org.aspectj.lang.reflect; - -/** - * AspectJ runtime representation of a declare error or declare warning member - * in an aspect. - */ -public interface DeclareErrorOrWarning { - - /** - * The type that declared this declare warning or declare error member. - */ - AjType getDeclaringType(); - - /** - * The pointcut expression associated with the warning or error - */ - PointcutExpression getPointcutExpression(); - - /** - * The message associated with the declare warning / declare error - */ - String getMessage(); - - /** - * True if this is a declare error member, false if it is declare warning - */ - boolean isError(); - -} diff --git a/aspectj5rt/java5-src/org/aspectj/lang/reflect/DeclareParents.java b/aspectj5rt/java5-src/org/aspectj/lang/reflect/DeclareParents.java deleted file mode 100644 index 8d3c98b78..000000000 --- a/aspectj5rt/java5-src/org/aspectj/lang/reflect/DeclareParents.java +++ /dev/null @@ -1,47 +0,0 @@ -/* ******************************************************************* - * Copyright (c) 2005 Contributors. - * 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://eclipse.org/legal/epl-v10.html - * - * Contributors: - * Adrian Colyer Initial implementation - * ******************************************************************/ -package org.aspectj.lang.reflect; - -import java.lang.reflect.Type; - -/** - * A declare parents member defined inside an aspect - */ -public interface DeclareParents { - - /** - * The declaring aspect - */ - AjType getDeclaringType(); - - /** - * The target type pattern - */ - TypePattern getTargetTypesPattern(); - - /** - * True if this is a declare parents...extends member declaration - */ - boolean isExtends(); - - /** - * True if this is a declare parents...implements member declaration - */ - boolean isImplements(); - - /** - * The set of types that the types matching getTargetTypesPattern are - * declared to implement or extend - */ - Type[] getParentTypes() throws ClassNotFoundException; - -} diff --git a/aspectj5rt/java5-src/org/aspectj/lang/reflect/DeclarePrecedence.java b/aspectj5rt/java5-src/org/aspectj/lang/reflect/DeclarePrecedence.java deleted file mode 100644 index 894580b70..000000000 --- a/aspectj5rt/java5-src/org/aspectj/lang/reflect/DeclarePrecedence.java +++ /dev/null @@ -1,32 +0,0 @@ -/* ******************************************************************* - * Copyright (c) 2005 Contributors. - * 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://eclipse.org/legal/epl-v10.html - * - * Contributors: - * Adrian Colyer Initial implementation - * ******************************************************************/ -package org.aspectj.lang.reflect; - -/** - * AspectJ runtime representation of a declare precedence statement as - * declared in an aspect. - */ -public interface DeclarePrecedence { - - /** - * The declaring aspect - */ - AjType getDeclaringType(); - - /** - * Returns an ordered set of type patterns. An aspect matching - * a type pattern at a lower index in the array takes precedence - * over an aspect that only matches a type pattern at a higher - * index in the array. - */ - TypePattern[] getPrecedenceOrder(); -} diff --git a/aspectj5rt/java5-src/org/aspectj/lang/reflect/DeclareSoft.java b/aspectj5rt/java5-src/org/aspectj/lang/reflect/DeclareSoft.java deleted file mode 100644 index cc607d680..000000000 --- a/aspectj5rt/java5-src/org/aspectj/lang/reflect/DeclareSoft.java +++ /dev/null @@ -1,34 +0,0 @@ -/* ******************************************************************* - * Copyright (c) 2005 Contributors. - * 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://eclipse.org/legal/epl-v10.html - * - * Contributors: - * Adrian Colyer Initial implementation - * ******************************************************************/ -package org.aspectj.lang.reflect; - -/** - * AspectJ runtime representation of a declare soft member within an aspect. - */ -public interface DeclareSoft { - - /** - * The aspect that declared this member - */ - AjType getDeclaringType(); - - /** - * The softened exception type - */ - AjType getSoftenedExceptionType() throws ClassNotFoundException; - - /** - * The pointcut determining the join points at which the exception is to be softened. - */ - PointcutExpression getPointcutExpression(); - -} diff --git a/aspectj5rt/java5-src/org/aspectj/lang/reflect/InterTypeConstructorDeclaration.java b/aspectj5rt/java5-src/org/aspectj/lang/reflect/InterTypeConstructorDeclaration.java deleted file mode 100644 index 8db4505e3..000000000 --- a/aspectj5rt/java5-src/org/aspectj/lang/reflect/InterTypeConstructorDeclaration.java +++ /dev/null @@ -1,36 +0,0 @@ -/* ******************************************************************* - * Copyright (c) 2005 Contributors. - * 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://eclipse.org/legal/epl-v10.html - * - * Contributors: - * Adrian Colyer Initial implementation - * ******************************************************************/ -package org.aspectj.lang.reflect; - -import java.lang.reflect.Type; - -/** - * Runtime representation of an inter-type constructor member declared within an - * aspect. - */ -public interface InterTypeConstructorDeclaration extends InterTypeDeclaration { - - /** - * The constructor parameters - */ - AjType<?>[] getParameterTypes(); - - /** - * The generic constructor parameters - */ - Type[] getGenericParameterTypes(); - - /** - * The declared exceptions thrown by this constructor - */ - AjType<?>[] getExceptionTypes(); -} diff --git a/aspectj5rt/java5-src/org/aspectj/lang/reflect/InterTypeDeclaration.java b/aspectj5rt/java5-src/org/aspectj/lang/reflect/InterTypeDeclaration.java deleted file mode 100644 index c00461011..000000000 --- a/aspectj5rt/java5-src/org/aspectj/lang/reflect/InterTypeDeclaration.java +++ /dev/null @@ -1,33 +0,0 @@ -/* ******************************************************************* - * Copyright (c) 2005 Contributors. - * 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://eclipse.org/legal/epl-v10.html - * - * Contributors: - * Adrian Colyer Initial implementation - * ******************************************************************/ -package org.aspectj.lang.reflect; - -/** - * Represents an inter-type method, field, or constructor declared in an aspect. - */ -public interface InterTypeDeclaration { - - /** - * The declaring aspect - */ - AjType<?> getDeclaringType(); - - /** - * The target type of this ITD - */ - AjType<?> getTargetType() throws ClassNotFoundException; - - /** - * Member modifiers, can be interpreted using java.lang.reflect.Modifier - */ - int getModifiers(); -} diff --git a/aspectj5rt/java5-src/org/aspectj/lang/reflect/InterTypeFieldDeclaration.java b/aspectj5rt/java5-src/org/aspectj/lang/reflect/InterTypeFieldDeclaration.java deleted file mode 100644 index 5a8acd76c..000000000 --- a/aspectj5rt/java5-src/org/aspectj/lang/reflect/InterTypeFieldDeclaration.java +++ /dev/null @@ -1,36 +0,0 @@ -/* ******************************************************************* - * Copyright (c) 2005 Contributors. - * 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://eclipse.org/legal/epl-v10.html - * - * Contributors: - * Adrian Colyer Initial implementation - * ******************************************************************/ -package org.aspectj.lang.reflect; - -import java.lang.reflect.Type; - -/** - * Represents an inter-type field declaration declared in an aspect. - */ -public interface InterTypeFieldDeclaration extends InterTypeDeclaration { - - /** - * The field name - */ - String getName(); - - /** - * The field type - */ - AjType<?> getType(); - - /** - * The generic field type - */ - Type getGenericType(); - -} diff --git a/aspectj5rt/java5-src/org/aspectj/lang/reflect/InterTypeMethodDeclaration.java b/aspectj5rt/java5-src/org/aspectj/lang/reflect/InterTypeMethodDeclaration.java deleted file mode 100644 index e570d8d2d..000000000 --- a/aspectj5rt/java5-src/org/aspectj/lang/reflect/InterTypeMethodDeclaration.java +++ /dev/null @@ -1,57 +0,0 @@ -/* ******************************************************************* - * Copyright (c) 2005 Contributors. - * 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://eclipse.org/legal/epl-v10.html - * - * Contributors: - * Adrian Colyer Initial implementation - * ******************************************************************/ -package org.aspectj.lang.reflect; - -import java.lang.reflect.Method; -import java.lang.reflect.Type; -import java.lang.reflect.TypeVariable; - -/** - * Represents an inter-type method declaration member within an aspect. - */ -public interface InterTypeMethodDeclaration extends InterTypeDeclaration { - - /** - * The name of this method - */ - String getName(); - - /** - * The method return type - */ - AjType<?> getReturnType(); - - /** - * The generic return type - */ - Type getGenericReturnType(); - - /** - * The method parameters - */ - AjType<?>[] getParameterTypes(); - - /** - * The generic method parameters - */ - Type[] getGenericParameterTypes(); - - /** - * The type variables declared by this method - */ - TypeVariable<Method>[] getTypeParameters(); - - /** - * The declared exceptions thrown by this method - */ - AjType<?>[] getExceptionTypes(); -} diff --git a/aspectj5rt/java5-src/org/aspectj/lang/reflect/NoSuchAdviceException.java b/aspectj5rt/java5-src/org/aspectj/lang/reflect/NoSuchAdviceException.java deleted file mode 100644 index 6b1ca8fa0..000000000 --- a/aspectj5rt/java5-src/org/aspectj/lang/reflect/NoSuchAdviceException.java +++ /dev/null @@ -1,34 +0,0 @@ -/* ******************************************************************* - * Copyright (c) 2005 Contributors. - * 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://eclipse.org/legal/epl-v10.html - * - * Contributors: - * Adrian Colyer Initial implementation - * ******************************************************************/ -package org.aspectj.lang.reflect; - -/** - * Thrown when AjType.getDeclaredAdvice is called with an advice name and no matching - * advice declaration can be found. - */ -public class NoSuchAdviceException extends Exception { - - private static final long serialVersionUID = 3256444698657634352L; - private String name; - - public NoSuchAdviceException(String name) { - this.name = name; - } - - /** - * The advice name that could not be found. - */ - public String getName() { - return name; - } - -} diff --git a/aspectj5rt/java5-src/org/aspectj/lang/reflect/NoSuchPointcutException.java b/aspectj5rt/java5-src/org/aspectj/lang/reflect/NoSuchPointcutException.java deleted file mode 100644 index 0274b74b4..000000000 --- a/aspectj5rt/java5-src/org/aspectj/lang/reflect/NoSuchPointcutException.java +++ /dev/null @@ -1,34 +0,0 @@ -/* ******************************************************************* - * Copyright (c) 2005 Contributors. - * 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://eclipse.org/legal/epl-v10.html - * - * Contributors: - * Adrian Colyer Initial implementation - * ******************************************************************/ -package org.aspectj.lang.reflect; - -/** - * Thrown when AjType.getDeclaredPointcut is called with a pointcut name, and no - * matching pointcut declaration can be found. - */ -public class NoSuchPointcutException extends Exception { - - private static final long serialVersionUID = 3256444698657634352L; - private String name; - - public NoSuchPointcutException(String name) { - this.name = name; - } - - /** - * The name of the pointcut that could not be found. - */ - public String getName() { - return name; - } - -} diff --git a/aspectj5rt/java5-src/org/aspectj/lang/reflect/PerClause.java b/aspectj5rt/java5-src/org/aspectj/lang/reflect/PerClause.java deleted file mode 100644 index c16feda33..000000000 --- a/aspectj5rt/java5-src/org/aspectj/lang/reflect/PerClause.java +++ /dev/null @@ -1,23 +0,0 @@ -/* ******************************************************************* - * Copyright (c) 2005 Contributors. - * 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://eclipse.org/legal/epl-v10.html - * - * Contributors: - * Adrian Colyer Initial implementation - * ******************************************************************/ -package org.aspectj.lang.reflect; - -/** - * AspectJ runtime representation of the per-clause associated with an aspect. - */ -public interface PerClause { - /** - * The kind of per-clause (singleton, perthis, pertarget,...) - */ - PerClauseKind getKind(); - -} diff --git a/aspectj5rt/java5-src/org/aspectj/lang/reflect/PerClauseKind.java b/aspectj5rt/java5-src/org/aspectj/lang/reflect/PerClauseKind.java deleted file mode 100644 index 1e2d42ecd..000000000 --- a/aspectj5rt/java5-src/org/aspectj/lang/reflect/PerClauseKind.java +++ /dev/null @@ -1,25 +0,0 @@ -/* ******************************************************************* - * Copyright (c) 2005 Contributors. - * 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://eclipse.org/legal/epl-v10.html - * - * Contributors: - * Adrian Colyer Initial implementation - * ******************************************************************/ -package org.aspectj.lang.reflect; - -/** - * The different per-clauses (aspect instantiation models) - * supported by AspectJ - */ -public enum PerClauseKind { - SINGLETON, - PERTHIS, - PERTARGET, - PERCFLOW, - PERCFLOWBELOW, - PERTYPEWITHIN; -} diff --git a/aspectj5rt/java5-src/org/aspectj/lang/reflect/Pointcut.java b/aspectj5rt/java5-src/org/aspectj/lang/reflect/Pointcut.java deleted file mode 100644 index dfec7ccbd..000000000 --- a/aspectj5rt/java5-src/org/aspectj/lang/reflect/Pointcut.java +++ /dev/null @@ -1,52 +0,0 @@ -/* ******************************************************************* - * Copyright (c) 2005 Contributors. - * 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://eclipse.org/legal/epl-v10.html - * - * Contributors: - * Adrian Colyer Initial implementation - * ******************************************************************/ -package org.aspectj.lang.reflect; - -/** - * AspectJ runtime representation of a pointcut member inside a class or aspect. - */ -public interface Pointcut { - - /** - * The declared name of the pointcut. - */ - String getName(); - - /** - * The modifiers associated with the pointcut declaration. - * Use java.lang.reflect.Modifier to interpret the return value - */ - int getModifiers(); - - /** - * The pointcut parameter types. - */ - AjType<?>[] getParameterTypes(); - - /** - * The pointcut parameter names. Returns an array of empty strings - * of length getParameterTypes().length if parameter names are not - * available at runtime. - */ - String[] getParameterNames(); - - /** - * The type that declared this pointcut - */ - AjType getDeclaringType(); - - /** - * The pointcut expression associated with this pointcut. - */ - PointcutExpression getPointcutExpression(); - -} diff --git a/aspectj5rt/java5-src/org/aspectj/lang/reflect/PointcutBasedPerClause.java b/aspectj5rt/java5-src/org/aspectj/lang/reflect/PointcutBasedPerClause.java deleted file mode 100644 index db040ea62..000000000 --- a/aspectj5rt/java5-src/org/aspectj/lang/reflect/PointcutBasedPerClause.java +++ /dev/null @@ -1,25 +0,0 @@ -/* ******************************************************************* - * Copyright (c) 2005 Contributors. - * 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://eclipse.org/legal/epl-v10.html - * - * Contributors: - * Adrian Colyer Initial implementation - * ******************************************************************/ -package org.aspectj.lang.reflect; - -/** - * Representation of a pointcut based per-clause associated with an aspect - * (perthis/target/cflow/cflowbelow) - * - */ -public interface PointcutBasedPerClause extends PerClause { - - /** - * Get the associated pointcut expression - */ - PointcutExpression getPointcutExpression(); -} diff --git a/aspectj5rt/java5-src/org/aspectj/lang/reflect/PointcutExpression.java b/aspectj5rt/java5-src/org/aspectj/lang/reflect/PointcutExpression.java deleted file mode 100644 index e229ba1f0..000000000 --- a/aspectj5rt/java5-src/org/aspectj/lang/reflect/PointcutExpression.java +++ /dev/null @@ -1,24 +0,0 @@ -/* ******************************************************************* - * Copyright (c) 2005 Contributors. - * 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://eclipse.org/legal/epl-v10.html - * - * Contributors: - * Adrian Colyer Initial implementation - * ******************************************************************/ -package org.aspectj.lang.reflect; - -/** - * Represents an anonymous pointcut expression as used in pointcuts, advice declarations, - * declares, and per-clauses - */ -public interface PointcutExpression { - - /** - * Returns a String representation of the pointcut expression - */ - String asString(); -} diff --git a/aspectj5rt/java5-src/org/aspectj/lang/reflect/SignaturePattern.java b/aspectj5rt/java5-src/org/aspectj/lang/reflect/SignaturePattern.java deleted file mode 100644 index 99ba44dda..000000000 --- a/aspectj5rt/java5-src/org/aspectj/lang/reflect/SignaturePattern.java +++ /dev/null @@ -1,23 +0,0 @@ -/* ******************************************************************* - * Copyright (c) 2005 Contributors. - * 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://eclipse.org/legal/epl-v10.html - * - * Contributors: - * Adrian Colyer Initial implementation - * ******************************************************************/ -package org.aspectj.lang.reflect; - -/** - * AspectJ runtime representation of a signature pattern as used in various - * aspect members (for example, declare @method, declare @field). - */ -public interface SignaturePattern { - - /** return a String representation of this pattern */ - String asString(); - -} diff --git a/aspectj5rt/java5-src/org/aspectj/lang/reflect/TypePattern.java b/aspectj5rt/java5-src/org/aspectj/lang/reflect/TypePattern.java deleted file mode 100644 index f3b69b421..000000000 --- a/aspectj5rt/java5-src/org/aspectj/lang/reflect/TypePattern.java +++ /dev/null @@ -1,22 +0,0 @@ -/* ******************************************************************* - * Copyright (c) 2005 Contributors. - * 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://eclipse.org/legal/epl-v10.html - * - * Contributors: - * Adrian Colyer Initial implementation - * ******************************************************************/ -package org.aspectj.lang.reflect; - -/** - * AspectJ runtime representation of a type pattern as used in member declarations - * such as declare parents. - */ -public interface TypePattern { - - /** a string representation of the pattern */ - String asString(); -} diff --git a/aspectj5rt/java5-src/org/aspectj/lang/reflect/TypePatternBasedPerClause.java b/aspectj5rt/java5-src/org/aspectj/lang/reflect/TypePatternBasedPerClause.java deleted file mode 100644 index 402b883b9..000000000 --- a/aspectj5rt/java5-src/org/aspectj/lang/reflect/TypePatternBasedPerClause.java +++ /dev/null @@ -1,26 +0,0 @@ -/* ******************************************************************* - * Copyright (c) 2005 Contributors. - * 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://eclipse.org/legal/epl-v10.html - * - * Contributors: - * Adrian Colyer Initial implementation - * ******************************************************************/ -package org.aspectj.lang.reflect; - -/** - * AspectJ runtime representation of a type pattern based per-clause associated - * with an aspect (pertypewithin). - * - */ -public interface TypePatternBasedPerClause { - - /** - * Get the associated type pattern - */ - TypePattern getTypePattern(); - -} |