TypeTransformers (Groovy 2.4.11)
Date: 2017-04-27

org.codehaus.groovy.vmplugin.v7

## Class TypeTransformers

- java.lang.Object
- - org.codehaus.groovy.vmplugin.v7.TypeTransformers

-     public class TypeTransformers
      extends Object

  This class contains several transformers for used during method invocation.
  Author:
    Jochen "blackdrag" Theodorou

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `TypeTransformers()`

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected static MethodHandle` | `addTransformer(MethodHandle handle, int pos, Object arg, Class parameter)` Adds a type transformer applied at runtime.
    `static MethodHandle` | `applyUnsharpFilter(MethodHandle handle, int pos, MethodHandle transformer)` Apply a transformer as filter.

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

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### TypeTransformers

          public TypeTransformers()

  - ### Method Detail

    - #### addTransformer

          protected static MethodHandle addTransformer(MethodHandle handle,
                                                       int pos,
                                                       Object arg,
                                                       Class parameter)

      Adds a type transformer applied at runtime. This method handles transformations to String from GString, array transformations and number based transformations

    - #### applyUnsharpFilter

          public static MethodHandle applyUnsharpFilter(MethodHandle handle,
                                                        int pos,
                                                        MethodHandle transformer)

      Apply a transformer as filter. The filter may not match exactly in the types. In this case needed additional type transformations are done by `MethodHandle.asType(MethodType)`