Automatic Resource Management, V.2

Neal Gafter neal at
Tue Apr 21 08:00:10 PDT 2009

On Sun, Apr 19, 2009 at 11:45 PM, Joshua Bloch <jjb at> wrote:

> The variable #localVar is a compiler-generated identifier distinct from any
> other identifiers (compiler-generated or otherwise) that are in scope (JLS
> §6.3) at the point where the automatic resource management statement
> occurs.
> The *Type *in the above desugaring is replaced by the static type of *
> Expression*.

This introduces the possibility of local variables with intersection and
recursive types.  Such variables could not have occurred previously because
they are not denotable.  I believe there are three tables in the class file
format that may be affected.  Can you please include in the specification a
description of how you want them handled?

More information about the coin-dev mailing list