[Checkers] Declarative specification of qualifier hierarchy

Michael Ernst mernst at csail.mit.edu
Wed Mar 26 15:06:01 EDT 2008

> > I have been working on creating a new 
> > GraphSubtypeRelation where the checkers would simply specify the subtype 
> > graph of the annotations.  
> A quick note: this is an important feature, and since it's been an open 
> issue for a while, I have some thoughts on its design,

A declarative specification has a number of advantages.

Here's an idea that eliminates code from the checker itself:  specify the
qualifier hierarchy just using meta-annotations, such as

  @interface Mutable { ... }

Also, an @IsDefaultQualifier might specify which annotation is the default
for backward compatibility.  (This idea of using meta-annotations might
have come from someone else; I don't remember.)

I imagine other approaches are possible.

Perhaps the others could describe their approaches, so that we can choose
the best design before implementing.


More information about the checkers mailing list