import java.lang.annotation.*; | |||||
aspect X { | |||||
declare warning: @Anno *: "Nothing should be annotated Anno!"; | |||||
} | |||||
@Anno | |||||
class C { | |||||
} | |||||
class D { | |||||
} | |||||
@Retention(RetentionPolicy.RUNTIME) | |||||
@interface Anno {} |
import java.lang.annotation.*; | |||||
aspect X { | |||||
declare error: I+ && !hasmethod(* foo(..)): "Missing foo() method in I subtype"; | |||||
} | |||||
interface I {} | |||||
class C implements I { | |||||
void foo() {} | |||||
} | |||||
class D implements I { | |||||
} |
import java.lang.annotation.*; | |||||
aspect X { | |||||
declare warning: I+ && !hasmethod(* foo(..)): "Missing foo() method in I subtype"; | |||||
} | |||||
interface I {} | |||||
class C implements I { | |||||
void foo() {} | |||||
} | |||||
class D implements I { | |||||
} |