aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Kriegisch <Alexander@Kriegisch.name>2023-01-15 14:18:32 +0100
committerAlexander Kriegisch <Alexander@Kriegisch.name>2023-01-15 14:41:51 +0100
commit53837367b0f04a20aab530741ea7a24a42e309e5 (patch)
tree447dd9f9013acf229039468305fad6e494edcce1
parent43cb1e2fc4dc127c39e550bdcd2efaf84c4b7a0f (diff)
downloadaspectj-53837367b0f04a20aab530741ea7a24a42e309e5.tar.gz
aspectj-53837367b0f04a20aab530741ea7a24a42e309e5.zip
Comment on newly pointcut parsing found problem in test class
A pointcut like execution(*..Collection<?>[] *(..)) leads to an AJ core dump, which is something I noticed while fixing a test in the previous commit. I am going to create a new issue for it and link to this commit later. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
-rw-r--r--tests/bugs165/pr272233/Iffy2.java25
-rw-r--r--tests/src/test/resources/org/aspectj/systemtest/ajc165/ajc165.xml2
2 files changed, 27 insertions, 0 deletions
diff --git a/tests/bugs165/pr272233/Iffy2.java b/tests/bugs165/pr272233/Iffy2.java
index 99dd10935..2245f7d8d 100644
--- a/tests/bugs165/pr272233/Iffy2.java
+++ b/tests/bugs165/pr272233/Iffy2.java
@@ -19,6 +19,31 @@ class Iffy2 {
@Before("execution(java.util.Collection<?>[] *(..))")
public void advice5() {}
+ /**
+ * TODO: This pointcut is not parsed correctly. Obviously, the combination of
+ * '*' and '&lt;?&gt;' leads to an AJ core dump with this error message:
+ * <p>
+ * <code>
+ * org.aspectj.weaver.BCException: malformed org.aspectj.weaver.PointcutDeclaration attribute (length:219)
+ * org.aspectj.weaver.BCException: Bad type signature *
+ * at org.aspectj.weaver.AjAttribute.read(AjAttribute.java:137)
+ * at org.aspectj.weaver.bcel.Utility.readAjAttributes(Utility.java:102)
+ * at org.aspectj.weaver.bcel.BcelMethod.unpackAjAttributes(BcelMethod.java:197)
+ * at org.aspectj.weaver.bcel.BcelMethod.&lt;init&gt;(BcelMethod.java:91)
+ * at org.aspectj.weaver.bcel.BcelObjectType.getDeclaredMethods(BcelObjectType.java:290)
+ * at org.aspectj.weaver.ReferenceType.getDeclaredMethods(ReferenceType.java:870)
+ * at org.aspectj.weaver.ResolvedType.getDeclaredAdvice(ResolvedType.java:1028)
+ * at org.aspectj.weaver.ResolvedType.getDeclaredShadowMungers(ResolvedType.java:1068)
+ * at org.aspectj.weaver.ResolvedType.collectShadowMungers(ResolvedType.java:868)
+ * at org.aspectj.weaver.ResolvedType.collectCrosscuttingMembers(ResolvedType.java:794)
+ * at org.aspectj.weaver.CrosscuttingMembersSet.addOrReplaceAspect(CrosscuttingMembersSet.java:112)
+ * at org.aspectj.weaver.CrosscuttingMembersSet.addOrReplaceAspect(CrosscuttingMembersSet.java:67)
+ * at org.aspectj.weaver.bcel.BcelWeaver.prepareForWeave(BcelWeaver.java:512)
+ * </code>
+ */
+ //@Before("execution(*..Collection<?>[] *(..))")
+ public void advice6() {}
+
public Collection<?>[] getCollectionArray() {
return null;
}
diff --git a/tests/src/test/resources/org/aspectj/systemtest/ajc165/ajc165.xml b/tests/src/test/resources/org/aspectj/systemtest/ajc165/ajc165.xml
index e1258bdfb..7d879705f 100644
--- a/tests/src/test/resources/org/aspectj/systemtest/ajc165/ajc165.xml
+++ b/tests/src/test/resources/org/aspectj/systemtest/ajc165/ajc165.xml
@@ -83,6 +83,8 @@
<message kind="weave" text="advised by before advice from 'Iffy2' (Iffy2.java:14)"/>
<message kind="weave" text="advised by before advice from 'Iffy2' (Iffy2.java:17)"/>
<message kind="weave" text="advised by before advice from 'Iffy2' (Iffy2.java:20)"/>
+ <!-- TODO: Activate 'Iffy2.advice6()' pointcut after pointcut parsing problem has been fixed. -->
+ <!--<message kind="weave" text="advised by before advice from 'Iffy2' (Iffy2.java:XX)"/>-->
</compile>
</ajc-test>