summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoracolyer <acolyer>2005-03-09 14:13:14 +0000
committeracolyer <acolyer>2005-03-09 14:13:14 +0000
commitf90186cb8eac1b4abae4c9b8fd74828b98f534ab (patch)
treee9338477761d8b12a390c85437095185c58b8d84
parent82fa47384f23d3ed0cf20b531fff947182b08a84 (diff)
downloadaspectj-f90186cb8eac1b4abae4c9b8fd74828b98f534ab.tar.gz
aspectj-f90186cb8eac1b4abae4c9b8fd74828b98f534ab.zip
fix for Bugzilla Bug 86789
annotations and "circularity in declare precedence"
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/WildTypePattern.java9
1 files changed, 7 insertions, 2 deletions
diff --git a/weaver/src/org/aspectj/weaver/patterns/WildTypePattern.java b/weaver/src/org/aspectj/weaver/patterns/WildTypePattern.java
index 0eb128a9d..d869b4468 100644
--- a/weaver/src/org/aspectj/weaver/patterns/WildTypePattern.java
+++ b/weaver/src/org/aspectj/weaver/patterns/WildTypePattern.java
@@ -139,7 +139,7 @@ public class WildTypePattern extends TypePattern {
return innerMatchesExactly(targetTypeName);
}
- if (isStar()) {
+ if (isNamePatternStar()) {
// we match if the dimensions match
int numDimensionsInTargetType = 0;
if (dim > 0) {
@@ -367,7 +367,7 @@ public class WildTypePattern extends TypePattern {
public TypePattern resolveBindings(IScope scope, Bindings bindings,
boolean allowBinding, boolean requireExactType)
{
- if (isStar()) {
+ if (isNamePatternStar()) {
// If there is an annotation specified we have to
// use a special variant of Any TypePattern called
// AnyWithAnnotation
@@ -516,6 +516,11 @@ public class WildTypePattern extends TypePattern {
}
public boolean isStar() {
+ boolean annPatternStar = annotationPattern == AnnotationTypePattern.ANY;
+ return (isNamePatternStar() && annPatternStar);
+ }
+
+ private boolean isNamePatternStar() {
return namePatterns.length == 1 && namePatterns[0].isAny();
}