import java.util.*; /** * - args(List) matches List, List, List */ public aspect RawArgs { before() : args(List) && call(* *(..)) { System.out.println("args(List) match at " + thisJoinPointStaticPart); } public static void main(String[] args) { Generic g = new Generic(); g.foo(new ArrayList()); g.bar(new ArrayList()); g.tada(new ArrayList()); g.tada(new ArrayList()); g.tada(new ArrayList()); } } class Generic { void foo(List lt) { ; } void bar(List ls) { ; } void tada(List l) { ; } }