浏览代码

declareMixin

tags/pre268419
aclement 15 年前
父节点
当前提交
9a65e1e9ff
共有 2 个文件被更改,包括 54 次插入0 次删除
  1. 27
    0
      tests/multiIncremental/mixin/base/src/CaseA.java
  2. 27
    0
      tests/multiIncremental/mixin/inc1/src/CaseA.java

+ 27
- 0
tests/multiIncremental/mixin/base/src/CaseA.java 查看文件

@@ -0,0 +1,27 @@
// TESTING: Very basics with a simple static factory method
import org.aspectj.lang.annotation.*;

public class CaseA {
public static void main(String[]argv) {
CaseA ca = new CaseA();
((I)ca).methodOne(); // will only succeed if mixin applied
}
}

aspect X {
@DeclareMixin("CaseA")
public static I createImplementation() {
System.out.println("Delegate factory invoked");
return new Implementation();
}
}

interface I {
void methodOne();
}

class Implementation implements I {
public void methodOne() {
System.out.println("methodOne running");
}
}

+ 27
- 0
tests/multiIncremental/mixin/inc1/src/CaseA.java 查看文件

@@ -0,0 +1,27 @@
// TESTING: Very basics with a simple static factory method
import org.aspectj.lang.annotation.*;
public class CaseA {
public static void main(String[]argv) {
CaseA ca = new CaseA();
((I)ca).methodOne(); // will only succeed if mixin applied
}
}

aspect X {
@DeclareMixin("CaseA")
public static I createImplementation() {
System.out.println("Delegate factory invoked");
return new Implementation();
}
}

interface I {
void methodOne();
}

class Implementation implements I {
public void methodOne() {
System.out.println("methodOne running");
}
}

正在加载...
取消
保存