org.eclipse.incquery.patternlanguage.typing

## Interface ITypeInferrer

- All Known Implementing Classes:
    AbstractTypeInferrer, EMFTypeInferrer, ITypeInferrer.NullTypeInferrer

      public interface ITypeInferrer

  The type inferrer calculates the types of variables and variable references of the pattern model.
  Author:
    Zoltan Ujhelyi

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface and Description
    --- | ---
    `static class` | `ITypeInferrer.NullTypeInferrer` An empty implementation of `ITypeInferrer` that can be used by the abstract pattern language module.

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `IInputKey` | `getDeclaredType(Variable var)` Returns the declared type of a variable
    `IInputKey` | `getInferredVariableType(Variable var)` Returns the inferred type of a variable
    `org.eclipse.xtext.common.types.JvmTypeReference` | `getVariableJvmType(Variable var, org.eclipse.emf.ecore.EObject context)` Creates a Jvm Type Reference for a selected variable.
    `IInputKey` | `getVariableReferenceType(VariableReference reference)` Calculates the type of a variable reference.
    `IInputKey` | `getVariableType(Variable var)` Returns the type of a variable.

- - ### Method Detail

    - #### getDeclaredType

          IInputKey getDeclaredType(Variable var)

      Returns the declared type of a variable
      Parameters:
        `var` -
      Returns:
        the declared type of the variable, or null if no type declaration is available

    - #### getInferredVariableType

          IInputKey getInferredVariableType(Variable var)

      Returns the inferred type of a variable
      Parameters:
        `var` -

    - #### getVariableType

          IInputKey getVariableType(Variable var)

      Returns the type of a variable.
      Parameters:
        `var` -
      Returns:
        if the variable has a declared type, it is returned; otherwise the inferred type is calculated.

    - #### getVariableReferenceType

          IInputKey getVariableReferenceType(VariableReference reference)

      Calculates the type of a variable reference. A type of a reference is the type of the referred variable.
      Parameters:
        `reference` -

    - #### getVariableJvmType

          org.eclipse.xtext.common.types.JvmTypeReference getVariableJvmType(Variable var,
                                                                             org.eclipse.emf.ecore.EObject context)

      Creates a Jvm Type Reference for a selected variable. Useful during Jvm Model Inference
      Parameters:
        `var` -
        `context` -