[JSR308] Wrapper types

Michael Ernst mernst at csail.mit.edu
Sun Mar 2 15:42:01 EST 2008

> 1. This would force the use Javarifier on every library that is
> included.

Yes.  Javarifier is an automatic tool.

> 2. For other types that are defined by other users, they would
> potentially need to create their own automatic annotator.

This isn't logically necessary, but an automatic inference tool makes a
type system much easier for developers to use.

In addition to Javarifier, other inference tools exist, including some that
purport to infer arbitrary type qualifiers.

> 3. Does Javarifier really trace where a passed in value ends up?

Yes.  More specifically, it is a static tool that computes an
over-approximation of the places that the value may end up.

> Lets say you have HashSet<Object> values;
> This set does not declare its elements as @ReadOnly,

Right.  If you want a Set that contains objects of @ReadOnly type,
you need a different declaration.


More information about the JSR308 mailing list