org.codehaus.groovy.control

## Enum CompilePhase

- java.lang.Object
- - java.lang.Enum<CompilePhase>
  - - org.codehaus.groovy.control.CompilePhase

- All Implemented Interfaces:
    Serializable, Comparable<CompilePhase>

      public enum CompilePhase
      extends Enum<CompilePhase>

  The phases of the GroovyCompiler. This is an enum facade on top of the Phases object. In general, prefer using this object over Phases.
  Author:
    Hamlet D'Arcy

- - ### Enum Constant Summary

    Enum Constants
    Enum Constant and Description
    `CANONICALIZATION` Complete building the AST
    `CLASS_GENERATION` creates the binary output in memory
    `CONVERSION` An abstract syntax tree (AST) is created from token trees
    `FINALIZATION` Perform any last cleanup
    `INITIALIZATION` source files are opened and environment configured
    `INSTRUCTION_SELECTION` instruction set is chosen, for example java5 or pre java5
    `OUTPUT` write the binary output to the file system
    `PARSING` the grammar is used to to produce tree of tokens representing the source code
    `SEMANTIC_ANALYSIS` Performs consistency and validity checks that the grammar can't check for, and resolves classes

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static CompilePhase[]` | `phases` The phases as an array, with a null entry.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `getPhaseNumber()` Returns the underlieng integer Phase number.
    `static CompilePhase` | `valueOf(String name)` Returns the enum constant of this type with the specified name.
    `static CompilePhase[]` | `values()` Returns an array containing the constants of this enum type, in the order they are declared.

    - ### Methods inherited from class java.lang.Enum

      `clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf`

    - ### Methods inherited from class java.lang.Object

      `getClass, notify, notifyAll, wait, wait, wait`

- - ### Enum Constant Detail

    - #### INITIALIZATION

          public static final CompilePhase INITIALIZATION

      source files are opened and environment configured

    - #### PARSING

          public static final CompilePhase PARSING

      the grammar is used to to produce tree of tokens representing the source code

    - #### CONVERSION

          public static final CompilePhase CONVERSION

      An abstract syntax tree (AST) is created from token trees

    - #### SEMANTIC_ANALYSIS

          public static final CompilePhase SEMANTIC_ANALYSIS

      Performs consistency and validity checks that the grammar can't check for, and resolves classes

    - #### CANONICALIZATION

          public static final CompilePhase CANONICALIZATION

      Complete building the AST

    - #### INSTRUCTION_SELECTION

          public static final CompilePhase INSTRUCTION_SELECTION

      instruction set is chosen, for example java5 or pre java5

    - #### CLASS_GENERATION

          public static final CompilePhase CLASS_GENERATION

      creates the binary output in memory

    - #### OUTPUT

          public static final CompilePhase OUTPUT

      write the binary output to the file system

    - #### FINALIZATION

          public static final CompilePhase FINALIZATION

      Perform any last cleanup

  - ### Field Detail

    - #### phases

          public static CompilePhase[] phases

      The phases as an array, with a null entry.

  - ### Method Detail

    - #### values

          public static CompilePhase[] values()

      Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:

          for (CompilePhase c : CompilePhase.values())
              System.out.println(c);

      Returns:
        an array containing the constants of this enum type, in the order they are declared

    - #### valueOf

          public static CompilePhase valueOf(String name)

      Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (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 type has no constant with the specified name
        `NullPointerException` - if the argument is null

    - #### getPhaseNumber

          public int getPhaseNumber()

      Returns the underlieng integer Phase number.