--- /dev/null
+
+public aspect Aspect {
+
+ before () : call(public * method(..)) && target(Interface) {
+ System.out.println("Aspect.before()");
+ }
+}
--- /dev/null
+
+public interface Interface {
+
+ public void method ();
+}
--- /dev/null
+
+public class Missing implements Interface {
+
+ public void method () {
+ System.out.println("Missing.method()");
+ }
+
+}
--- /dev/null
+public class TestFail {
+
+ public void invoke () {
+ Interface i = new Missing();
+ i.method();
+ Missing cf = new Missing();
+ cf.method();
+ }
+
+ public static void main(String[] args) {
+ new TestFail().invoke();
+ }
+
+}
--- /dev/null
+
+public class TestPass {
+
+ public void invoke () {
+ Interface i = new CantFind();
+ i.method();
+ }
+
+ public static void main(String[] args) {
+ new TestFail();
+ }
+
+}
--- /dev/null
+<aspectj>
+ <aspects>
+ <aspect name="Aspect"/>
+ </aspects>
+ <weaver options="-verbose -showWeaveInfo"/>
+</aspectj>
\ No newline at end of file
// public void testVisibilityProblem_pr149071() { runTest("visibility problem");}
// public void testAdviceNotWovenAspectPath_pr147841() { runTest("advice not woven on aspectpath");}
public void testGenericSignatures_pr148409() { runTest("generic signature problem"); }
+
+ public void testCantFindType_pr149322_1() {
+ runTest("can't find type on interface call");
+ }
/////////////////////////////////////////
public static Test suite() {
</run>
</ajc-test>
+ <ajc-test dir="bugs153/pr149322" title="can't find type on interface call">
+ <compile files="Interface.java"/>
+ <compile
+ files="Missing.java"
+ outjar="missing.jar"
+ />
+ <compile files="TestFail.java" classpath="missing.jar"/>
+<!--
+ <compile files="Aspect.aj" options="-showWeaveInfo -inpath ." classpath="missing.jar">
+ <message kind="weave" text="void Interface.method()"/>
+ <message kind="weave" text="void Missing.method()"/>
+ </compile>
+ <compile files="Aspect.aj" options="-showWeaveInfo -inpath .">
+ <message kind="weave" text="void Interface.method()"/>
+ <message kind="weave" text="void Missing.method()"/>
+ </compile>
+-->
+ <compile files="Aspect.aj" options="-Xlint:warning -showWeaveInfo -inpath .">
+ <message kind="weave" text="void Interface.method()"/>
+ <message kind="warning" text="Missing"/>
+ </compile>
+<!--
+ <run class="TestFail" ltw="aop.xml"/>
+-->
+ </ajc-test>
+
</suite>
\ No newline at end of file