From: aclement Date: Thu, 2 Dec 2004 10:31:13 +0000 (+0000) Subject: 72766 - more helpers for identifying enums/annotations X-Git-Tag: Root_AspectJ5_Development~224 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=7296f648dfaf386a7cb577004f3e8f5dd5430ef3;p=aspectj.git 72766 - more helpers for identifying enums/annotations --- diff --git a/weaver/src/org/aspectj/weaver/ResolvedTypeX.java b/weaver/src/org/aspectj/weaver/ResolvedTypeX.java index bb3dda37e..5c5323664 100644 --- a/weaver/src/org/aspectj/weaver/ResolvedTypeX.java +++ b/weaver/src/org/aspectj/weaver/ResolvedTypeX.java @@ -455,6 +455,20 @@ public abstract class ResolvedTypeX extends TypeX { return false; } + /** + * Note: Only overridden by Name subtype. + */ + public boolean isEnum() { + return false; + } + + /** + * Note: Only overridden by Name subtype. + */ + public boolean isAnnotation() { + return false; + } + public boolean isSynthetic() { return signature.indexOf("$ajc") != -1; @@ -549,6 +563,14 @@ public abstract class ResolvedTypeX extends TypeX { public boolean isAspect() { return delegate.isAspect(); } + + public boolean isEnum() { + return delegate.isEnum(); + } + + public boolean isAnnotation() { + return delegate.isAnnotation(); + } public final boolean needsNoConversionFrom(TypeX o) { return isAssignableFrom(o); @@ -692,6 +714,8 @@ public abstract class ResolvedTypeX extends TypeX { public abstract boolean isAspect(); public abstract boolean isInterface(); + public abstract boolean isEnum(); + public abstract boolean isAnnotation(); public abstract ResolvedMember[] getDeclaredFields(); diff --git a/weaver/src/org/aspectj/weaver/TypeX.java b/weaver/src/org/aspectj/weaver/TypeX.java index eb0ec35b4..05bf35641 100644 --- a/weaver/src/org/aspectj/weaver/TypeX.java +++ b/weaver/src/org/aspectj/weaver/TypeX.java @@ -413,6 +413,20 @@ public class TypeX { public final boolean isClass(World world) { return world.resolve(this).isClass(); } + + /** + * Determines if this class represents an enum type. + */ + public final boolean isEnum(World world) { + return world.resolve(this).isEnum(); + } + + /** + * Determines if this class represents an annotation type. + */ + public final boolean isAnnotation(World world) { + return world.resolve(this).isAnnotation(); + } /**