From 7296f648dfaf386a7cb577004f3e8f5dd5430ef3 Mon Sep 17 00:00:00 2001 From: aclement Date: Thu, 2 Dec 2004 10:31:13 +0000 Subject: [PATCH] 72766 - more helpers for identifying enums/annotations --- .../src/org/aspectj/weaver/ResolvedTypeX.java | 24 +++++++++++++++++++ weaver/src/org/aspectj/weaver/TypeX.java | 14 +++++++++++ 2 files changed, 38 insertions(+) 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(); + } /** -- 2.39.5