--- /dev/null
+public aspect ArgsBinding {
+// public void m() {}
+// public void m(String a) {}
+ public void m(String a,String b) {}
+// public void m(int a,String b) {}
+
+
+ before(String[] p): execution(* m(..)) && args(..,p,..) {}
+}
--- /dev/null
+public aspect ArgsMatching {
+// public void m() {}
+// public void m(String a) {}
+ public void m(String a,String b) {}
+// public void m(int a,String b) {}
+
+
+ before(): execution(* m(..)) && args(..,String,..) {}
+}
--- /dev/null
+public aspect Matching {
+ public void m() {}
+ public void m(String a) {}
+ public void m(String a,String b) {}
+ public void m(int a,String b) {}
+
+
+ before(): execution(* m(..,String,..)) {}
+}
public class Ajc162Tests extends org.aspectj.testing.XMLBasedAjcTestCase {
// AspectJ1.6.2
-// public void testAnnotationDecp_pr239441() { runTest("annotation decp"); }
- public void testAnnotationValueDecp_pr238992() { runTest("annotation value decp"); }
- public void testAnnotationValueDecp_pr238992_2() { runTest("annotation value decp - 2"); }
- public void testAnnotationValueDecp_pr238992_3() { runTest("annotation value decp - 3"); }
- public void testAnnotationValueDecp_pr238992_4() { runTest("annotation value decp - 4"); }
+ public void testAnnotationDecp_pr239441() { runTest("annotation decp"); }
+// public void testAnnotationValueDecp_pr238992() { runTest("annotation value decp"); }
+// public void testAnnotationValueDecp_pr238992_2() { runTest("annotation value decp - 2"); }
+// public void testAnnotationValueDecp_pr238992_3() { runTest("annotation value decp - 3"); }
+// public void testAnnotationValueDecp_pr238992_4() { runTest("annotation value decp - 4"); }
+ /*
+ * test plan
+ * execution(* *(..,String,..))
+ * args(..,String,..)
+ * @args(..,Foo,..)
+ *
+ */
+// public void testParameterSubsettingMatching_pr233718_Matching() { runTest("parameter subsetting - matching");}
+// public void testParameterSubsettingMatching_pr233718_ArgsMatching() { runTest("parameter subsetting - args matching");}
+// public void testParameterSubsettingMatching_pr233718_ArgsBinding() { runTest("parameter subsetting - args binding");}
+
public static Test suite() {
return XMLBasedAjcTestCase.loadSuite(Ajc162Tests.class);
}
</compile>
<run class="Foo4"/>
</ajc-test>
+
+ <ajc-test dir="bugs162/pr233718" title="parameter subsetting - matching">
+ <compile files="Matching.java" options="-1.5 -showWeaveInfo">
+ <message kind="weave" text="Join point 'method-execution(void Matching.m(java.lang.String))' in Type 'Matching' (Matching.java:3) advised by before advice from 'Matching' (Matching.java:8)"/>
+ <message kind="weave" text="'method-execution(void Matching.m(java.lang.String, java.lang.String))' in Type 'Matching' (Matching.java:4) advised by before advice from 'Matching' (Matching.java:8)"/>
+ <message kind="weave" text="'method-execution(void Matching.m(int, java.lang.String))' in Type 'Matching' (Matching.java:5) advised by before advice from 'Matching' (Matching.java:8)"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="bugs162/pr233718" title="parameter subsetting - args matching">
+ <compile files="ArgsMatching.java" options="-1.5 -showWeaveInfo">
+ <!--
+ <message kind="weave" text="Join point 'method-execution(void Matching.m(java.lang.String))' in Type 'Matching' (Matching.java:3) advised by before advice from 'Matching' (Matching.java:8)"/>
+ <message kind="weave" text="'method-execution(void Matching.m(java.lang.String, java.lang.String))' in Type 'Matching' (Matching.java:4) advised by before advice from 'Matching' (Matching.java:8)"/>
+ <message kind="weave" text="'method-execution(void Matching.m(int, java.lang.String))' in Type 'Matching' (Matching.java:5) advised by before advice from 'Matching' (Matching.java:8)"/>
+ -->
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="bugs162/pr233718" title="parameter subsetting - args binding">
+ <compile files="ArgsBinding.java" options="-1.5"/>
+ <run class="ArgsBinding"/>
+ </ajc-test>
+
</suite>
\ No newline at end of file