summaryrefslogtreecommitdiffstats
path: root/weaver
diff options
context:
space:
mode:
authoraclement <aclement>2006-10-09 12:27:56 +0000
committeraclement <aclement>2006-10-09 12:27:56 +0000
commit9175cd11dfa04aa9b30da47ee8789bc79e24fa46 (patch)
tree306c791555b58e00ff525961a25486fba2b2caf6 /weaver
parent7884c4e70e295ab0f62cfabb8e2833ed33df1d77 (diff)
downloadaspectj-9175cd11dfa04aa9b30da47ee8789bc79e24fa46.tar.gz
aspectj-9175cd11dfa04aa9b30da47ee8789bc79e24fa46.zip
no 1.5 API!
Diffstat (limited to 'weaver')
-rw-r--r--weaver/src/org/aspectj/weaver/TypeFactory.java11
1 files changed, 10 insertions, 1 deletions
diff --git a/weaver/src/org/aspectj/weaver/TypeFactory.java b/weaver/src/org/aspectj/weaver/TypeFactory.java
index 22d8633f0..3168f9ca3 100644
--- a/weaver/src/org/aspectj/weaver/TypeFactory.java
+++ b/weaver/src/org/aspectj/weaver/TypeFactory.java
@@ -114,7 +114,7 @@ public class TypeFactory {
StringBuffer erasureSig = new StringBuffer(signature);
while (startOfParams!=-1) {
erasureSig.delete(startOfParams,endOfParams+1);
- startOfParams = erasureSig.indexOf("<");
+ startOfParams = locateFirstBracket(erasureSig);
if (startOfParams!=-1) endOfParams = locateMatchingEndBracket(erasureSig,startOfParams);
}
@@ -208,6 +208,15 @@ public class TypeFactory {
}
return idx;
}
+
+ private static int locateFirstBracket(StringBuffer signature) {
+ int idx = 0;
+ while (idx<signature.length()) {
+ if (signature.charAt(idx)=='<') return idx;
+ idx++;
+ }
+ return -1;
+ }
private static UnresolvedType[] createTypeParams(String typeParameterSpecification) {
String remainingToProcess = typeParameterSpecification;