diff options
author | acolyer <acolyer> | 2005-03-09 14:13:14 +0000 |
---|---|---|
committer | acolyer <acolyer> | 2005-03-09 14:13:14 +0000 |
commit | f90186cb8eac1b4abae4c9b8fd74828b98f534ab (patch) | |
tree | e9338477761d8b12a390c85437095185c58b8d84 | |
parent | 82fa47384f23d3ed0cf20b531fff947182b08a84 (diff) | |
download | aspectj-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.java | 9 |
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(); } |