Package: org.codehaus.groovy.classgen.asm

## [Java] Enum PackStrategy

- org.codehaus.groovy.classgen.asm.PackStrategy

-     public enum PackStrategy
      extends Enum

  The compilation strategy the GEP-27 capability analysis selects for a closure literal: keep today's per-closure class, or pack the closure by hoisting its body to a method on the enclosing class behind a shared `PackedClosure` adapter. The GEP-27 lattice also foresees a metafactory strategy (functional-interface targets) and object elision, but those are separate, later work and are not represented here yet.

- - ### Enum Constants Summary

    Enum constants classes
    Enum constant | Description
    --- | ---
    `FULL_CLASS` | S0 — generate the per-closure class (today's behaviour); preserves all `Closure` capabilities.
    `PACKED_ADAPTER` | S1 — hoist the body to a method on the enclosing class behind a shared `PackedClosure` adapter.

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class Enum` | `compareTo, compareTo, describeConstable, equals, getClass, getDeclaringClass, hashCode, name, notify, notifyAll, ordinal, toString, valueOf, wait, wait, wait`

- - ### Enum Constant Detail

    - #### PackStrategy FULL_CLASS

      S0 — generate the per-closure class (today's behaviour); preserves all `Closure` capabilities.

    - #### PackStrategy PACKED_ADAPTER

      S1 — hoist the body to a method on the enclosing class behind a shared `PackedClosure` adapter.