[Checkers] Eclipse Plugin (sorry)

Adam Kiezun akiezun at csail.mit.edu
Mon Jun 23 11:36:14 EDT 2008

> ::Technical Eclipse issues::
> - The plug-in was importing the checkers.jar and had references to it in
> Run*CheckerActions.  This required checkers.jar to be Java 5 compatible.
>  After looking at the code, I realized that only the name was necessary;
> once I made that change, I was able to remove that dependancy, and have the
> plug-in work in my eclipse.

This is fine but makes for brittle code because you need to hard wire
the class name.

> - the plug-in is shipped with javac.jar and checkers.jar and need to be
> updated every time we made a release.  A user needs to update the plug-in
> along with the jars every-time.  I prefer using a global variable to find
> javac.jar and checkers.jar (or have a dialog somewhere to set them).

I think global variables are not great. They are opaque and make
things not self-contained.

> ::Experience with working with the plug-in::
> 1. The plug-in tries to find checkers.jar through the classpath of the
> project.  I found that to be a bit annoying.
> - When a project imports checkers.jar, it needs to import javac.jar too;
> because of checkers.jar dependancy on javac.jar.  I don't particularly like
> that.  The proper solution for this one is to distribute a jar with the
> qualifiers only to be used by eclipse projects.
> - Also, when using eclipse, I prefer using the commented out annotations
> (e.g. /*@Interned*/) and using jsr308_imports flag.  checkers.jar doesn't
> need to be in the path in that case.

I think there was some problem with not having checkers.jar on the classpath.

> 2. The markers contain all lines instead of the first line.  The formating
> is disturbed, and I was getting messages like:
>> dereference of possibly-null reference m m.toString(); ^ 1 error
> to the side.
> It might be OK to ignore the last two lines for each message and the last
> three lines for the last message (they simply print the tree with a pointer
> ^ to the error).  If they aren't properly printed, there is no point in
> having them.

Eventually, those lines should be properly printed. I have not managed
to do that yet.

Thanks for your comments.

More information about the checkers mailing list