Package org.codehaus.groovy.runtime

## Class ScriptBytecodeAdapter

- java.lang.Object
- - org.codehaus.groovy.runtime.ScriptBytecodeAdapter

-     public class ScriptBytecodeAdapter
      extends Object

  A static helper class to interface bytecode and runtime

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static Object[]` | `EMPTY_ARGS` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `ScriptBytecodeAdapter()` |

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static void` | `assertFailed​(Object expression, Object message)` |
    `static Object` | `asType​(Object object, Class type)` | Provides a hook for type coercion of the given object to the required type
    `static Object` | `bitwiseNegate​(Object value)` |
    `static Object` | `castToType​(Object object, Class type)` | Provides a hook for type casting of the given object to the required type
    `static boolean` | `compareEqual​(Object left, Object right)` |
    `static boolean` | `compareGreaterThan​(Object left, Object right)` |
    `static boolean` | `compareGreaterThanEqual​(Object left, Object right)` |
    `static boolean` | `compareIdentical​(Object left, Object right)` |
    `static boolean` | `compareLessThan​(Object left, Object right)` |
    `static boolean` | `compareLessThanEqual​(Object left, Object right)` |
    `static boolean` | `compareNotEqual​(Object left, Object right)` |
    `static boolean` | `compareNotIdentical​(Object left, Object right)` |
    `static Integer` | `compareTo​(Object left, Object right)` |
    `static Wrapper` | `createGroovyObjectWrapper​(GroovyObject val, Class clazz)` |
    `static List` | `createList​(Object[] values)` |
    `static Map` | `createMap​(Object[] values)` |
    `static Wrapper` | `createPojoWrapper​(Object val, Class clazz)` |
    `static List` | `createRange​(Object from, Object to, boolean inclusive)` |
    `static Tuple` | `createTuple​(Object[] array)` |
    `static Object[]` | `despreadList​(Object[] args, Object[] spreads, int[] positions)` |
    `static Matcher` | `findRegex​(Object left, Object right)` |
    `static Object` | `getField​(Class senderClass, Object receiver, String messageName)` |
    `static Object` | `getFieldOnSuper​(Class senderClass, Object receiver, String messageName)` |
    `static Object` | `getFieldOnSuperSafe​(Class senderClass, Object receiver, String messageName)` |
    `static Object` | `getFieldOnSuperSpreadSafe​(Class senderClass, Object receiver, String messageName)` |
    `static Object` | `getFieldSafe​(Class senderClass, Object receiver, String messageName)` |
    `static Object` | `getFieldSpreadSafe​(Class senderClass, Object receiver, String messageName)` |
    `static Object` | `getGroovyObjectField​(Class senderClass, GroovyObject receiver, String messageName)` |
    `static Object` | `getGroovyObjectFieldSafe​(Class senderClass, GroovyObject receiver, String messageName)` |
    `static Object` | `getGroovyObjectFieldSpreadSafe​(Class senderClass, GroovyObject receiver, String messageName)` |
    `static Object` | `getGroovyObjectProperty​(Class senderClass, GroovyObject receiver, String messageName)` |
    `static Object` | `getGroovyObjectPropertySafe​(Class senderClass, GroovyObject receiver, String messageName)` |
    `static Object` | `getGroovyObjectPropertySpreadSafe​(Class senderClass, GroovyObject receiver, String messageName)` |
    `static Closure` | `getMethodPointer​(Object object, String methodName)` | Returns the method pointer for the given object name
    `static Object` | `getProperty​(Class senderClass, Object receiver, String messageName)` |
    `static Object` | `getPropertyOnSuper​(Class senderClass, GroovyObject receiver, String messageName)` |
    `static Object` | `getPropertyOnSuperSafe​(Class senderClass, GroovyObject receiver, String messageName)` |
    `static Object` | `getPropertyOnSuperSpreadSafe​(Class senderClass, GroovyObject receiver, String messageName)` |
    `static Object` | `getPropertySafe​(Class senderClass, Object receiver, String messageName)` |
    `static Object` | `getPropertySpreadSafe​(Class senderClass, Object receiver, String messageName)` |
    `static MetaClass` | `initMetaClass​(Object object)` |
    `static Object` | `invokeClosure​(Object closure, Object[] arguments)` |
    `static Object` | `invokeMethod0​(Class senderClass, Object receiver, String messageName)` |
    `static Object` | `invokeMethod0Safe​(Class senderClass, Object receiver, String messageName)` |
    `static Object` | `invokeMethod0SpreadSafe​(Class senderClass, Object receiver, String messageName)` |
    `static Object` | `invokeMethodN​(Class senderClass, Object receiver, String messageName, Object[] messageArguments)` |
    `static Object` | `invokeMethodNSafe​(Class senderClass, Object receiver, String messageName, Object[] messageArguments)` |
    `static Object` | `invokeMethodNSpreadSafe​(Class senderClass, Object receiver, String messageName, Object[] messageArguments)` |
    `static Object` | `invokeMethodOnCurrent0​(Class senderClass, GroovyObject receiver, String messageName)` |
    `static Object` | `invokeMethodOnCurrent0Safe​(Class senderClass, GroovyObject receiver, String messageName, Object[] messageArguments)` |
    `static Object` | `invokeMethodOnCurrent0SpreadSafe​(Class senderClass, GroovyObject receiver, String messageName, Object[] messageArguments)` |
    `static Object` | `invokeMethodOnCurrentN​(Class senderClass, GroovyObject receiver, String messageName, Object[] messageArguments)` |
    `static Object` | `invokeMethodOnCurrentNSafe​(Class senderClass, GroovyObject receiver, String messageName, Object[] messageArguments)` |
    `static Object` | `invokeMethodOnCurrentNSpreadSafe​(Class senderClass, GroovyObject receiver, String messageName, Object[] messageArguments)` |
    `static Object` | `invokeMethodOnSuper0​(Class senderClass, GroovyObject receiver, String messageName)` |
    `static Object` | `invokeMethodOnSuper0Safe​(Class senderClass, GroovyObject receiver, String messageName, Object[] messageArguments)` |
    `static Object` | `invokeMethodOnSuper0SpreadSafe​(Class senderClass, GroovyObject receiver, String messageName, Object[] messageArguments)` |
    `static Object` | `invokeMethodOnSuperN​(Class senderClass, GroovyObject receiver, String messageName, Object[] messageArguments)` |
    `static Object` | `invokeMethodOnSuperNSafe​(Class senderClass, GroovyObject receiver, String messageName, Object[] messageArguments)` |
    `static Object` | `invokeMethodOnSuperNSpreadSafe​(Class senderClass, GroovyObject receiver, String messageName, Object[] messageArguments)` |
    `static Object` | `invokeNew0​(Class senderClass, Class receiver)` |
    `static Object` | `invokeNewN​(Class senderClass, Class receiver, Object arguments)` |
    `static Object` | `invokeStaticMethod0​(Class senderClass, Class receiver, String messageName)` |
    `static Object` | `invokeStaticMethodN​(Class senderClass, Class receiver, String messageName, Object[] messageArguments)` |
    `static boolean` | `isCase​(Object switchValue, Object caseExpression)` |
    `static boolean` | `matchRegex​(Object left, Object right)` |
    `static Pattern` | `regexPattern​(Object regex)` |
    `static int` | `selectConstructorAndTransformArguments​(Object[] arguments, int numberOfConstructors, Class which)` |
    `static void` | `setField​(Object messageArgument, Class senderClass, Object receiver, String messageName)` |
    `static void` | `setFieldOnSuper​(Object messageArgument, Class senderClass, Object receiver, String messageName)` |
    `static void` | `setFieldOnSuperSafe​(Object messageArgument, Class senderClass, Object receiver, String messageName)` |
    `static void` | `setFieldOnSuperSpreadSafe​(Object messageArgument, Class senderClass, Object receiver, String messageName)` |
    `static void` | `setFieldSafe​(Object messageArgument, Class senderClass, Object receiver, String messageName)` |
    `static void` | `setFieldSpreadSafe​(Object messageArgument, Class senderClass, Object receiver, String messageName)` |
    `static void` | `setGroovyObjectField​(Object messageArgument, Class senderClass, GroovyObject receiver, String messageName)` |
    `static void` | `setGroovyObjectFieldSafe​(Object messageArgument, Class senderClass, GroovyObject receiver, String messageName)` |
    `static void` | `setGroovyObjectFieldSpreadSafe​(Object messageArgument, Class senderClass, GroovyObject receiver, String messageName)` |
    `static void` | `setGroovyObjectProperty​(Object messageArgument, Class senderClass, GroovyObject receiver, String messageName)` |
    `static void` | `setGroovyObjectPropertySafe​(Object messageArgument, Class senderClass, GroovyObject receiver, String messageName)` |
    `static void` | `setGroovyObjectPropertySpreadSafe​(Object messageArgument, Class senderClass, GroovyObject receiver, String messageName)` |
    `static void` | `setProperty​(Object messageArgument, Class senderClass, Object receiver, String messageName)` |
    `static void` | `setPropertyOnSuper​(Object messageArgument, Class senderClass, GroovyObject receiver, String messageName)` |
    `static void` | `setPropertyOnSuperSafe​(Object messageArgument, Class senderClass, GroovyObject receiver, String messageName)` |
    `static void` | `setPropertyOnSuperSpreadSafe​(Object messageArgument, Class senderClass, GroovyObject receiver, String messageName)` |
    `static void` | `setPropertySafe​(Object messageArgument, Class senderClass, Object receiver, String messageName)` |
    `static void` | `setPropertySpreadSafe​(Object messageArgument, Class senderClass, Object receiver, String messageName)` |
    `static Object` | `spreadMap​(Object value)` |
    `static Object` | `unaryMinus​(Object value)` |
    `static Object` | `unaryPlus​(Object value)` |
    `static Throwable` | `unwrap​(GroovyRuntimeException gre)` |

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

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

- - ### Field Detail

    - #### EMPTY_ARGS

          public static final Object[] EMPTY_ARGS

  - ### Constructor Detail

    - #### ScriptBytecodeAdapter

          public ScriptBytecodeAdapter()

  - ### Method Detail

    - #### unwrap

          public static Throwable unwrap​(GroovyRuntimeException gre)

    - #### invokeMethodOnCurrentN

          public static Object invokeMethodOnCurrentN​(Class senderClass,
                                                      GroovyObject receiver,
                                                      String messageName,
                                                      Object[] messageArguments)
                                               throws Throwable

      Throws:
        `Throwable`

    - #### invokeMethodOnCurrentNSafe

          public static Object invokeMethodOnCurrentNSafe​(Class senderClass,
                                                          GroovyObject receiver,
                                                          String messageName,
                                                          Object[] messageArguments)
                                                   throws Throwable

      Throws:
        `Throwable`

    - #### invokeMethodOnCurrentNSpreadSafe

          public static Object invokeMethodOnCurrentNSpreadSafe​(Class senderClass,
                                                                GroovyObject receiver,
                                                                String messageName,
                                                                Object[] messageArguments)
                                                         throws Throwable

      Throws:
        `Throwable`

    - #### invokeMethodOnCurrent0

          public static Object invokeMethodOnCurrent0​(Class senderClass,
                                                      GroovyObject receiver,
                                                      String messageName)
                                               throws Throwable

      Throws:
        `Throwable`

    - #### invokeMethodOnCurrent0Safe

          public static Object invokeMethodOnCurrent0Safe​(Class senderClass,
                                                          GroovyObject receiver,
                                                          String messageName,
                                                          Object[] messageArguments)
                                                   throws Throwable

      Throws:
        `Throwable`

    - #### invokeMethodOnCurrent0SpreadSafe

          public static Object invokeMethodOnCurrent0SpreadSafe​(Class senderClass,
                                                                GroovyObject receiver,
                                                                String messageName,
                                                                Object[] messageArguments)
                                                         throws Throwable

      Throws:
        `Throwable`

    - #### invokeMethodOnSuperN

          public static Object invokeMethodOnSuperN​(Class senderClass,
                                                    GroovyObject receiver,
                                                    String messageName,
                                                    Object[] messageArguments)
                                             throws Throwable

      Throws:
        `Throwable`

    - #### invokeMethodOnSuperNSafe

          public static Object invokeMethodOnSuperNSafe​(Class senderClass,
                                                        GroovyObject receiver,
                                                        String messageName,
                                                        Object[] messageArguments)
                                                 throws Throwable

      Throws:
        `Throwable`

    - #### invokeMethodOnSuperNSpreadSafe

          public static Object invokeMethodOnSuperNSpreadSafe​(Class senderClass,
                                                              GroovyObject receiver,
                                                              String messageName,
                                                              Object[] messageArguments)
                                                       throws Throwable

      Throws:
        `Throwable`

    - #### invokeMethodOnSuper0

          public static Object invokeMethodOnSuper0​(Class senderClass,
                                                    GroovyObject receiver,
                                                    String messageName)
                                             throws Throwable

      Throws:
        `Throwable`

    - #### invokeMethodOnSuper0Safe

          public static Object invokeMethodOnSuper0Safe​(Class senderClass,
                                                        GroovyObject receiver,
                                                        String messageName,
                                                        Object[] messageArguments)
                                                 throws Throwable

      Throws:
        `Throwable`

    - #### invokeMethodOnSuper0SpreadSafe

          public static Object invokeMethodOnSuper0SpreadSafe​(Class senderClass,
                                                              GroovyObject receiver,
                                                              String messageName,
                                                              Object[] messageArguments)
                                                       throws Throwable

      Throws:
        `Throwable`

    - #### invokeMethodN

          public static Object invokeMethodN​(Class senderClass,
                                             Object receiver,
                                             String messageName,
                                             Object[] messageArguments)
                                      throws Throwable

      Throws:
        `Throwable`

    - #### invokeMethodNSafe

          public static Object invokeMethodNSafe​(Class senderClass,
                                                 Object receiver,
                                                 String messageName,
                                                 Object[] messageArguments)
                                          throws Throwable

      Throws:
        `Throwable`

    - #### invokeMethodNSpreadSafe

          public static Object invokeMethodNSpreadSafe​(Class senderClass,
                                                       Object receiver,
                                                       String messageName,
                                                       Object[] messageArguments)
                                                throws Throwable

      Throws:
        `Throwable`

    - #### invokeMethod0

          public static Object invokeMethod0​(Class senderClass,
                                             Object receiver,
                                             String messageName)
                                      throws Throwable

      Throws:
        `Throwable`

    - #### invokeMethod0Safe

          public static Object invokeMethod0Safe​(Class senderClass,
                                                 Object receiver,
                                                 String messageName)
                                          throws Throwable

      Throws:
        `Throwable`

    - #### invokeMethod0SpreadSafe

          public static Object invokeMethod0SpreadSafe​(Class senderClass,
                                                       Object receiver,
                                                       String messageName)
                                                throws Throwable

      Throws:
        `Throwable`

    - #### invokeStaticMethodN

          public static Object invokeStaticMethodN​(Class senderClass,
                                                   Class receiver,
                                                   String messageName,
                                                   Object[] messageArguments)
                                            throws Throwable

      Throws:
        `Throwable`

    - #### invokeStaticMethod0

          public static Object invokeStaticMethod0​(Class senderClass,
                                                   Class receiver,
                                                   String messageName)
                                            throws Throwable

      Throws:
        `Throwable`

    - #### invokeNewN

          public static Object invokeNewN​(Class senderClass,
                                          Class receiver,
                                          Object arguments)
                                   throws Throwable

      Throws:
        `Throwable`

    - #### invokeNew0

          public static Object invokeNew0​(Class senderClass,
                                          Class receiver)
                                   throws Throwable

      Throws:
        `Throwable`

    - #### selectConstructorAndTransformArguments

          public static int selectConstructorAndTransformArguments​(Object[] arguments,
                                                                   int numberOfConstructors,
                                                                   Class which)
                                                            throws Throwable

      Throws:
        `Throwable`

    - #### getFieldOnSuper

          public static Object getFieldOnSuper​(Class senderClass,
                                               Object receiver,
                                               String messageName)
                                        throws Throwable

      Throws:
        `Throwable`

    - #### getFieldOnSuperSafe

          public static Object getFieldOnSuperSafe​(Class senderClass,
                                                   Object receiver,
                                                   String messageName)
                                            throws Throwable

      Throws:
        `Throwable`

    - #### getFieldOnSuperSpreadSafe

          public static Object getFieldOnSuperSpreadSafe​(Class senderClass,
                                                         Object receiver,
                                                         String messageName)
                                                  throws Throwable

      Throws:
        `Throwable`

    - #### setFieldOnSuper

          public static void setFieldOnSuper​(Object messageArgument,
                                             Class senderClass,
                                             Object receiver,
                                             String messageName)
                                      throws Throwable

      Throws:
        `Throwable`

    - #### setFieldOnSuperSafe

          public static void setFieldOnSuperSafe​(Object messageArgument,
                                                 Class senderClass,
                                                 Object receiver,
                                                 String messageName)
                                          throws Throwable

      Throws:
        `Throwable`

    - #### setFieldOnSuperSpreadSafe

          public static void setFieldOnSuperSpreadSafe​(Object messageArgument,
                                                       Class senderClass,
                                                       Object receiver,
                                                       String messageName)
                                                throws Throwable

      Throws:
        `Throwable`

    - #### getField

          public static Object getField​(Class senderClass,
                                        Object receiver,
                                        String messageName)
                                 throws Throwable

      Throws:
        `Throwable`

    - #### getFieldSafe

          public static Object getFieldSafe​(Class senderClass,
                                            Object receiver,
                                            String messageName)
                                     throws Throwable

      Throws:
        `Throwable`

    - #### getFieldSpreadSafe

          public static Object getFieldSpreadSafe​(Class senderClass,
                                                  Object receiver,
                                                  String messageName)
                                           throws Throwable

      Throws:
        `Throwable`

    - #### setField

          public static void setField​(Object messageArgument,
                                      Class senderClass,
                                      Object receiver,
                                      String messageName)
                               throws Throwable

      Throws:
        `Throwable`

    - #### setFieldSafe

          public static void setFieldSafe​(Object messageArgument,
                                          Class senderClass,
                                          Object receiver,
                                          String messageName)
                                   throws Throwable

      Throws:
        `Throwable`

    - #### setFieldSpreadSafe

          public static void setFieldSpreadSafe​(Object messageArgument,
                                                Class senderClass,
                                                Object receiver,
                                                String messageName)
                                         throws Throwable

      Throws:
        `Throwable`

    - #### getGroovyObjectField

          public static Object getGroovyObjectField​(Class senderClass,
                                                    GroovyObject receiver,
                                                    String messageName)
                                             throws Throwable

      Throws:
        `Throwable`

    - #### getGroovyObjectFieldSafe

          public static Object getGroovyObjectFieldSafe​(Class senderClass,
                                                        GroovyObject receiver,
                                                        String messageName)
                                                 throws Throwable

      Throws:
        `Throwable`

    - #### getGroovyObjectFieldSpreadSafe

          public static Object getGroovyObjectFieldSpreadSafe​(Class senderClass,
                                                              GroovyObject receiver,
                                                              String messageName)
                                                       throws Throwable

      Throws:
        `Throwable`

    - #### setGroovyObjectField

          public static void setGroovyObjectField​(Object messageArgument,
                                                  Class senderClass,
                                                  GroovyObject receiver,
                                                  String messageName)
                                           throws Throwable

      Throws:
        `Throwable`

    - #### setGroovyObjectFieldSafe

          public static void setGroovyObjectFieldSafe​(Object messageArgument,
                                                      Class senderClass,
                                                      GroovyObject receiver,
                                                      String messageName)
                                               throws Throwable

      Throws:
        `Throwable`

    - #### setGroovyObjectFieldSpreadSafe

          public static void setGroovyObjectFieldSpreadSafe​(Object messageArgument,
                                                            Class senderClass,
                                                            GroovyObject receiver,
                                                            String messageName)
                                                     throws Throwable

      Throws:
        `Throwable`

    - #### getPropertyOnSuper

          public static Object getPropertyOnSuper​(Class senderClass,
                                                  GroovyObject receiver,
                                                  String messageName)
                                           throws Throwable

      Throws:
        `Throwable`

    - #### getPropertyOnSuperSafe

          public static Object getPropertyOnSuperSafe​(Class senderClass,
                                                      GroovyObject receiver,
                                                      String messageName)
                                               throws Throwable

      Throws:
        `Throwable`

    - #### getPropertyOnSuperSpreadSafe

          public static Object getPropertyOnSuperSpreadSafe​(Class senderClass,
                                                            GroovyObject receiver,
                                                            String messageName)
                                                     throws Throwable

      Throws:
        `Throwable`

    - #### setPropertyOnSuper

          public static void setPropertyOnSuper​(Object messageArgument,
                                                Class senderClass,
                                                GroovyObject receiver,
                                                String messageName)
                                         throws Throwable

      Throws:
        `Throwable`

    - #### setPropertyOnSuperSafe

          public static void setPropertyOnSuperSafe​(Object messageArgument,
                                                    Class senderClass,
                                                    GroovyObject receiver,
                                                    String messageName)
                                             throws Throwable

      Throws:
        `Throwable`

    - #### setPropertyOnSuperSpreadSafe

          public static void setPropertyOnSuperSpreadSafe​(Object messageArgument,
                                                          Class senderClass,
                                                          GroovyObject receiver,
                                                          String messageName)
                                                   throws Throwable

      Throws:
        `Throwable`

    - #### getProperty

          public static Object getProperty​(Class senderClass,
                                           Object receiver,
                                           String messageName)
                                    throws Throwable

      Throws:
        `Throwable`

    - #### getPropertySafe

          public static Object getPropertySafe​(Class senderClass,
                                               Object receiver,
                                               String messageName)
                                        throws Throwable

      Throws:
        `Throwable`

    - #### getPropertySpreadSafe

          public static Object getPropertySpreadSafe​(Class senderClass,
                                                     Object receiver,
                                                     String messageName)
                                              throws Throwable

      Throws:
        `Throwable`

    - #### setProperty

          public static void setProperty​(Object messageArgument,
                                         Class senderClass,
                                         Object receiver,
                                         String messageName)
                                  throws Throwable

      Throws:
        `Throwable`

    - #### setPropertySafe

          public static void setPropertySafe​(Object messageArgument,
                                             Class senderClass,
                                             Object receiver,
                                             String messageName)
                                      throws Throwable

      Throws:
        `Throwable`

    - #### setPropertySpreadSafe

          public static void setPropertySpreadSafe​(Object messageArgument,
                                                   Class senderClass,
                                                   Object receiver,
                                                   String messageName)
                                            throws Throwable

      Throws:
        `Throwable`

    - #### getGroovyObjectProperty

          public static Object getGroovyObjectProperty​(Class senderClass,
                                                       GroovyObject receiver,
                                                       String messageName)
                                                throws Throwable

      Throws:
        `Throwable`

    - #### getGroovyObjectPropertySafe

          public static Object getGroovyObjectPropertySafe​(Class senderClass,
                                                           GroovyObject receiver,
                                                           String messageName)
                                                    throws Throwable

      Throws:
        `Throwable`

    - #### getGroovyObjectPropertySpreadSafe

          public static Object getGroovyObjectPropertySpreadSafe​(Class senderClass,
                                                                 GroovyObject receiver,
                                                                 String messageName)
                                                          throws Throwable

      Throws:
        `Throwable`

    - #### setGroovyObjectProperty

          public static void setGroovyObjectProperty​(Object messageArgument,
                                                     Class senderClass,
                                                     GroovyObject receiver,
                                                     String messageName)
                                              throws Throwable

      Throws:
        `Throwable`

    - #### setGroovyObjectPropertySafe

          public static void setGroovyObjectPropertySafe​(Object messageArgument,
                                                         Class senderClass,
                                                         GroovyObject receiver,
                                                         String messageName)
                                                  throws Throwable

      Throws:
        `Throwable`

    - #### setGroovyObjectPropertySpreadSafe

          public static void setGroovyObjectPropertySpreadSafe​(Object messageArgument,
                                                               Class senderClass,
                                                               GroovyObject receiver,
                                                               String messageName)
                                                        throws Throwable

      Throws:
        `Throwable`

    - #### getMethodPointer

          public static Closure getMethodPointer​(Object object,
                                                 String methodName)

      Returns the method pointer for the given object name
      Parameters:
        `object` - the object containing the method
        `methodName` - the name of the method of interest
      Returns:
        the resulting Closure

    - #### invokeClosure

          public static Object invokeClosure​(Object closure,
                                             Object[] arguments)
                                      throws Throwable

      Throws:
        `Throwable`

    - #### asType

          public static Object asType​(Object object,
                                      Class type)
                               throws Throwable

      Provides a hook for type coercion of the given object to the required type
      Parameters:
        `type` - of object to convert the given object to
        `object` - the object to be converted
      Returns:
        the original object or a new converted value
      Throws:
        `Throwable` - if the coercion fails

    - #### castToType

          public static Object castToType​(Object object,
                                          Class type)
                                   throws Throwable

      Provides a hook for type casting of the given object to the required type
      Parameters:
        `type` - of object to convert the given object to
        `object` - the object to be converted
      Returns:
        the original object or a new converted value
      Throws:
        `Throwable` - if the type casting fails

    - #### createTuple

          public static Tuple createTuple​(Object[] array)

    - #### createList

          public static List createList​(Object[] values)

    - #### createPojoWrapper

          public static Wrapper createPojoWrapper​(Object val,
                                                  Class clazz)

    - #### createGroovyObjectWrapper

          public static Wrapper createGroovyObjectWrapper​(GroovyObject val,
                                                          Class clazz)

    - #### createMap

          public static Map createMap​(Object[] values)

    - #### createRange

          public static List createRange​(Object from,
                                         Object to,
                                         boolean inclusive)
                                  throws Throwable

      Throws:
        `Throwable`

    - #### assertFailed

          public static void assertFailed​(Object expression,
                                          Object message)

    - #### isCase

          public static boolean isCase​(Object switchValue,
                                       Object caseExpression)
                                throws Throwable

      Throws:
        `Throwable`

    - #### compareIdentical

          public static boolean compareIdentical​(Object left,
                                                 Object right)

    - #### compareNotIdentical

          public static boolean compareNotIdentical​(Object left,
                                                    Object right)

    - #### compareEqual

          public static boolean compareEqual​(Object left,
                                             Object right)

    - #### compareNotEqual

          public static boolean compareNotEqual​(Object left,
                                                Object right)

    - #### compareTo

          public static Integer compareTo​(Object left,
                                          Object right)

    - #### compareLessThan

          public static boolean compareLessThan​(Object left,
                                                Object right)

    - #### compareLessThanEqual

          public static boolean compareLessThanEqual​(Object left,
                                                     Object right)

    - #### compareGreaterThan

          public static boolean compareGreaterThan​(Object left,
                                                   Object right)

    - #### compareGreaterThanEqual

          public static boolean compareGreaterThanEqual​(Object left,
                                                        Object right)

    - #### regexPattern

          public static Pattern regexPattern​(Object regex)

    - #### findRegex

          public static Matcher findRegex​(Object left,
                                          Object right)
                                   throws Throwable

      Throws:
        `Throwable`

    - #### matchRegex

          public static boolean matchRegex​(Object left,
                                           Object right)

    - #### despreadList

          public static Object[] despreadList​(Object[] args,
                                              Object[] spreads,
                                              int[] positions)

    - #### spreadMap

          public static Object spreadMap​(Object value)

    - #### unaryMinus

          public static Object unaryMinus​(Object value)
                                   throws Throwable

      Throws:
        `Throwable`

    - #### unaryPlus

          public static Object unaryPlus​(Object value)
                                  throws Throwable

      Throws:
        `Throwable`

    - #### bitwiseNegate

          public static Object bitwiseNegate​(Object value)
                                      throws Throwable

      Throws:
        `Throwable`

    - #### initMetaClass

          public static MetaClass initMetaClass​(Object object)