Package org.eclipse.viatra.query.runtime.localsearch.planner.compiler

## Interface IOperationCompiler

- All Known Implementing Classes:
    `AbstractOperationCompiler`, `EMFOperationCompiler`, `GenericOperationCompiler`

      public interface IOperationCompiler

  An operation compiler is responsible for creating executable search plans from the subplan structure.
  Since:
    1.7

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `java.util.List<ISearchOperation>` | `compile​(SubPlan plan, java.util.Set<PParameter> boundParameters)` | Compiles a plan of `POperation`s to a list of type `List<ISearchOperation>`
    `java.util.Set<CallWithAdornment>` | `getDependencies()` | Replaces previous method returning `MatcherReference`
    `java.util.Map<PVariable,​java.lang.Integer>` | `getVariableMappings()` |

- - ### Method Detail

    - #### compile

          java.util.List<ISearchOperation> compile​(SubPlan plan,
                                                   java.util.Set<PParameter> boundParameters)

      Compiles a plan of `POperation`s to a list of type `List<ISearchOperation>`
      Parameters:
        `plan` -
        `boundParameters` -
      Returns:
        an ordered list of POperations that make up the compiled search plan
      Throws:
        `ViatraQueryRuntimeException`

    - #### getDependencies

          java.util.Set<CallWithAdornment> getDependencies()

      Replaces previous method returning `MatcherReference`
      Since:
        2.1

    - #### getVariableMappings

          java.util.Map<PVariable,​java.lang.Integer> getVariableMappings()

      Returns:
        the cached variable bindings for the previously created plan