aboutsummaryrefslogtreecommitdiffstats
path: root/weaver
diff options
context:
space:
mode:
authoraclement <aclement>2004-12-02 10:31:13 +0000
committeraclement <aclement>2004-12-02 10:31:13 +0000
commit7296f648dfaf386a7cb577004f3e8f5dd5430ef3 (patch)
tree917105c7e69a8a95ed2225d9ddcaee18d52b12af /weaver
parent4a3b9fe5d1218adfc82296965be280c592769284 (diff)
downloadaspectj-7296f648dfaf386a7cb577004f3e8f5dd5430ef3.tar.gz
aspectj-7296f648dfaf386a7cb577004f3e8f5dd5430ef3.zip
72766 - more helpers for identifying enums/annotations
Diffstat (limited to 'weaver')
-rw-r--r--weaver/src/org/aspectj/weaver/ResolvedTypeX.java24
-rw-r--r--weaver/src/org/aspectj/weaver/TypeX.java14
2 files changed, 38 insertions, 0 deletions
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();
+ }
/**