extackJ-如何捕获子类也捕获构造函数



我有一个抽象类Foo

如果我创建一个混凝土类的新实例,该实例在一个名为 Bar的方面。

,我想有一个编译错误。

我尝试了:

public pointcut errorcall(): call(Foo.new(..)) && !within(Bar);
declare error: errorcall():"Error: You must use Bar creation methods!";

,但它不会捕获Foo的子类。

如果我将点键声明为:

public pointcut errorcall(): call(ConcreteFoo.new(..)) && !within(Bar);

它捕获了栏外的混凝土创建,但我想拦截foo的每个子类。

我该怎么做?

MyClass+符号也抓住子类。可以在任何方面找到此信息,例如这里:

public pointcut errorcall():
  call(Foo+.new(..)) && !within(Bar);

最新更新