public class PointcutInGenericClassExample { public pointcut foo() : execution(* T.*(..)); } aspect A { declare warning : PointcutInGenericClassExample.foo() : "parameterized with C"; declare warning : PointcutInGenericClassExample.foo() : "parameterized with D"; // declare warning : PointcutInGenericClassExample.foo() // : "raw"; } class C { void bar() {} } class D { void goo() {} }