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 and Description
    --- | ---
    `static Object[]` | `EMPTY_ARGS`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ScriptBytecodeAdapter()`

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and 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)