Package org.codehaus.groovy.classgen.asm
Enum Class PackStrategy
- All Implemented Interfaces:
Serializable,Comparable<PackStrategy>,Constable
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.-
Nested Class Summary
Nested classes/interfaces inherited from class java.lang.Enum
Enum.EnumDesc<E extends Enum<E>> -
Enum Constant Summary
Enum ConstantsEnum ConstantDescriptionS0 — generate the per-closure class (today's behaviour); preserves allClosurecapabilities.S1 — hoist the body to a method on the enclosing class behind a sharedPackedClosureadapter. -
Method Summary
Modifier and TypeMethodDescriptionstatic PackStrategyReturns the enum constant of this class with the specified name.static PackStrategy[]values()Returns an array containing the constants of this enum class, in the order they are declared.
-
Enum Constant Details
-
FULL_CLASS
S0 — generate the per-closure class (today's behaviour); preserves allClosurecapabilities. -
PACKED_ADAPTER
S1 — hoist the body to a method on the enclosing class behind a sharedPackedClosureadapter.
-
-
Method Details
-
values
Returns an array containing the constants of this enum class, in the order they are declared.- Returns:
- an array containing the constants of this enum class, in the order they are declared
-
valueOf
Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)- Parameters:
name- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException- if this enum class has no constant with the specified nameNullPointerException- if the argument is null
-