diff options
author | aclement <aclement> | 2006-10-09 12:27:56 +0000 |
---|---|---|
committer | aclement <aclement> | 2006-10-09 12:27:56 +0000 |
commit | 9175cd11dfa04aa9b30da47ee8789bc79e24fa46 (patch) | |
tree | 306c791555b58e00ff525961a25486fba2b2caf6 /weaver | |
parent | 7884c4e70e295ab0f62cfabb8e2833ed33df1d77 (diff) | |
download | aspectj-9175cd11dfa04aa9b30da47ee8789bc79e24fa46.tar.gz aspectj-9175cd11dfa04aa9b30da47ee8789bc79e24fa46.zip |
no 1.5 API!
Diffstat (limited to 'weaver')
-rw-r--r-- | weaver/src/org/aspectj/weaver/TypeFactory.java | 11 |
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; |