diff options
-rw-r--r-- | org.aspectj.matcher/src/main/java/org/aspectj/weaver/UnresolvedType.java | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/org.aspectj.matcher/src/main/java/org/aspectj/weaver/UnresolvedType.java b/org.aspectj.matcher/src/main/java/org/aspectj/weaver/UnresolvedType.java index e911ba44f..048f30cae 100644 --- a/org.aspectj.matcher/src/main/java/org/aspectj/weaver/UnresolvedType.java +++ b/org.aspectj.matcher/src/main/java/org/aspectj/weaver/UnresolvedType.java @@ -17,6 +17,8 @@ package org.aspectj.weaver; import java.io.DataInputStream; import java.io.IOException; import java.util.Map; +import java.util.regex.Matcher; +import java.util.regex.Pattern; import org.aspectj.util.GenericSignature; import org.aspectj.util.GenericSignature.ClassSignature; @@ -160,9 +162,13 @@ public class UnresolvedType implements Traceable, TypeVariableDeclaringElement { public final boolean isArray() { return signature.length() > 0 && signature.charAt(0) == '['; } - + public final int getDimensions() { - return signature.replaceAll("^(\\[*).*", "$1").length(); + int d = 0; + for (int i=0;i<signature.length() && signature.charAt(i)=='[';i++) { + d++; + } + return d; } /** |