Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SI-6546 InnerClasses attribute refers to absent class #3097

Merged
merged 1 commit into from Nov 7, 2013
Merged

SI-6546 InnerClasses attribute refers to absent class #3097

merged 1 commit into from Nov 7, 2013

Commits on Nov 5, 2013

  1. 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 change is essentially mgarcia's - I minimized it and
    put the caches in perRunCaches, and added the test case which
    verifies that after being compiled under -optimise, there are
    no inner classes. Before/after:
    
      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
    paulp committed Nov 5, 2013
    Configuration menu
    Copy the full SHA
    075f6f2 View commit details
    Browse the repository at this point in the history