I’m wondering whether I should warn about unnecessary annotations, e.g. if a method is annotated, but the supermethod is, too. It’s not strictly necessary, but it may be a good idea for clarity and conciseness. Then again, it’s additional documentation.
I’m also thinking that perhaps I should do some static checking when certain thread properties are known for a method. The main
method could, for example, be annotated with @RunsThread(@ThreadDesc(name="main", group="main", id=1, eventThread=false))
. Other threads could run it too, but this is definitely one possibility. When a call is made to a method annotated with @NotRunBy
that matches this description or @OnlyRunBy
that doesn’t match this description, a static error could be generated.