aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--org.aspectj.matcher/src/main/java/org/aspectj/weaver/UnresolvedType.java10
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;
}
/**