scala/scala — pull request #3093 by paulp (2013-10-31 17:15:46+00:00)
Title: SI-6546 InnerClasses attribute refers to absent class

At issue is that the optimizer would eliminate closure classes
completely, then neglect to eliminate those classes from the
container's InnerClasses attribute. This breaks tooling which
expects those entries to correspond to real classes.

The code changes are by mgarcia - I only added the test case,
which verifies that after being compiled under -optimise, there
are no inner classes. Before/after:
```diff
7,8d6
< InnerClasses:
< public final #22; //class A_1$$anonfun$f$1
37,45c35,40
< #21 = Utf8 A_1$$anonfun$f$1
< #22 = Class #21 // A_1$$anonfun$f$1
< #23 = Utf8 Code
---
> #21 = Utf8 Code
```