Вы можете использовать в пределах или withincode срезов в соответствовать содержащий класс, и cflow срез точек в соответствии с выполнением метода addActionListener(), а затем объединить, что с выполнить pointcut для соответствия телу метода actionPerformed().
Например, это срез точек будет соответствовать выполнение метода actionPerformed только в пределах внутреннего класса InnerTest из класса Test (предполагая, что пакет является test
) и только в пределах потока выполнения метода addActionListener:
pointcut innerTest(): within(test.Test.InnerTest) &&
cflow(execution(public void javax.swing.JButton.addActionListener(java.awt.event.ActionListener))) &&
execution(void actionPerformed(ActionEvent));
Если вас интересует только совпадение вызовов с действиемPerformed() внутри внутреннего класса, вы можете опустить предложение cflow.
Стоит отметить, что если все, что вы заинтересованы в сопрягает выполнение любого метода actionPerformed(), это будет достаточно:
pointcut innerTest():
execution(void java.awt.event.ActionListener+.actionPerformed(ActionEvent));