diff options
author | acolyer <acolyer> | 2005-09-02 09:35:02 +0000 |
---|---|---|
committer | acolyer <acolyer> | 2005-09-02 09:35:02 +0000 |
commit | ad753aa80558748ab918988809ba6f58b8c26419 (patch) | |
tree | 15a36e27d17c78829d0324a44ed8a4850c1a9789 | |
parent | 372a025d85641e17d9fff734a0c2e9770fd2d55f (diff) | |
download | aspectj-ad753aa80558748ab918988809ba6f58b8c26419.tar.gz aspectj-ad753aa80558748ab918988809ba6f58b8c26419.zip |
tests and fix for pr108062, failing to correctly tokenize (ZZLjava/...)
-rw-r--r-- | bcel-builder/src/org/aspectj/apache/bcel/classfile/GenericSignatureParser.java | 6 | ||||
-rw-r--r-- | lib/bcel/bcel-src.zip | bin | 870732 -> 870784 bytes | |||
-rw-r--r-- | lib/bcel/bcel.jar | bin | 593786 -> 593682 bytes | |||
-rw-r--r-- | tests/bugs150/pr108602.java | 38 | ||||
-rw-r--r-- | tests/src/org/aspectj/systemtest/ajc150/Ajc150Tests.java | 4 | ||||
-rw-r--r-- | tests/src/org/aspectj/systemtest/ajc150/ajc150.xml | 6 |
6 files changed, 51 insertions, 3 deletions
diff --git a/bcel-builder/src/org/aspectj/apache/bcel/classfile/GenericSignatureParser.java b/bcel-builder/src/org/aspectj/apache/bcel/classfile/GenericSignatureParser.java index fac5f506b..386f8743e 100644 --- a/bcel-builder/src/org/aspectj/apache/bcel/classfile/GenericSignatureParser.java +++ b/bcel-builder/src/org/aspectj/apache/bcel/classfile/GenericSignatureParser.java @@ -384,10 +384,12 @@ public class GenericSignatureParser { tokens.add(new String("" + chars[index])); } else { identifier.append(chars[index]); - } - couldSeePrimitive = false; + } inArray = false; break; + case 'L' : + couldSeePrimitive = false; + // deliberate fall-through default : identifier.append(chars[index]); } diff --git a/lib/bcel/bcel-src.zip b/lib/bcel/bcel-src.zip Binary files differindex 846d3e557..e1eedf2dd 100644 --- a/lib/bcel/bcel-src.zip +++ b/lib/bcel/bcel-src.zip diff --git a/lib/bcel/bcel.jar b/lib/bcel/bcel.jar Binary files differindex f63428de5..af02780a7 100644 --- a/lib/bcel/bcel.jar +++ b/lib/bcel/bcel.jar diff --git a/tests/bugs150/pr108602.java b/tests/bugs150/pr108602.java new file mode 100644 index 000000000..3ce6f4b1b --- /dev/null +++ b/tests/bugs150/pr108602.java @@ -0,0 +1,38 @@ +/* + * GenericsError.java + * + * Created on September 1, 2005, 9:36 AM + * + */ + +import java.util.Collection; + +interface GenericsError { + public Collection<String> test( + boolean arg1, + boolean arg2, + Object arg3) ; +} + + +/* + * GenericsErrorImpl.java + * + * Created on September 1, 2005, 9:37 AM + * + */ + +class GenericsErrorImpl implements GenericsError { + + public Collection<String> test( + boolean arg1, + boolean arg2, + Object arg3) { return null; } + +} + +aspect ForceUnpacking { + + before() : execution(* *(..)) {} + +}
\ No newline at end of file diff --git a/tests/src/org/aspectj/systemtest/ajc150/Ajc150Tests.java b/tests/src/org/aspectj/systemtest/ajc150/Ajc150Tests.java index 38e4ded22..af147c2bf 100644 --- a/tests/src/org/aspectj/systemtest/ajc150/Ajc150Tests.java +++ b/tests/src/org/aspectj/systemtest/ajc150/Ajc150Tests.java @@ -358,6 +358,10 @@ public class Ajc150Tests extends org.aspectj.testing.XMLBasedAjcTestCase { runTest("synthetic arguments on itd cons are not used in matching"); } + public void testParsingOfGenericTypeSignature() { + runTest("parse generic type signature with parameterized type in interface"); + } + // helper methods..... public SyntheticRepository createRepos(File cpentry) { diff --git a/tests/src/org/aspectj/systemtest/ajc150/ajc150.xml b/tests/src/org/aspectj/systemtest/ajc150/ajc150.xml index 1450fda38..f6e20ebc8 100644 --- a/tests/src/org/aspectj/systemtest/ajc150/ajc150.xml +++ b/tests/src/org/aspectj/systemtest/ajc150/ajc150.xml @@ -428,7 +428,11 @@ <message line="6" kind="warning" text="should match"/> </compile> </ajc-test> - + + <ajc-test dir="bugs150" pr="108602" title="parse generic type signature with parameterized type in interface"> + <compile files="pr108602.java" options="-1.5"/> + </ajc-test> + <!-- ============================================================================ --> <!-- ============================================================================ --> |