Package org.codehaus.groovy.runtime

## Class ScriptBytecodeAdapter

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

-     public class ScriptBytecodeAdapter
      extends java.lang.Object

  A static helper class to interface bytecode and runtime

- - ### Field Summary

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

  - ### Constructor Detail

    - #### ScriptBytecodeAdapter

          public ScriptBytecodeAdapter()

  - ### Method Detail

    - #### unwrap

          public static java.lang.Throwable unwrap​(GroovyRuntimeException gre)

    - #### invokeMethodOnCurrentN

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

      Throws:
        `java.lang.Throwable`

    - #### invokeMethodOnCurrentNSafe

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

      Throws:
        `java.lang.Throwable`

    - #### invokeMethodOnCurrentNSpreadSafe

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

      Throws:
        `java.lang.Throwable`

    - #### invokeMethodOnCurrent0

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

      Throws:
        `java.lang.Throwable`

    - #### invokeMethodOnCurrent0Safe

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

      Throws:
        `java.lang.Throwable`

    - #### invokeMethodOnCurrent0SpreadSafe

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

      Throws:
        `java.lang.Throwable`

    - #### invokeMethodOnSuperN

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

      Throws:
        `java.lang.Throwable`

    - #### invokeMethodOnSuperNSafe

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

      Throws:
        `java.lang.Throwable`

    - #### invokeMethodOnSuperNSpreadSafe

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

      Throws:
        `java.lang.Throwable`

    - #### invokeMethodOnSuper0

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

      Throws:
        `java.lang.Throwable`

    - #### invokeMethodOnSuper0Safe

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

      Throws:
        `java.lang.Throwable`

    - #### invokeMethodOnSuper0SpreadSafe

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

      Throws:
        `java.lang.Throwable`

    - #### invokeMethodN

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

      Throws:
        `java.lang.Throwable`

    - #### invokeMethodNSafe

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

      Throws:
        `java.lang.Throwable`

    - #### invokeMethodNSpreadSafe

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

      Throws:
        `java.lang.Throwable`

    - #### invokeMethod0

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

      Throws:
        `java.lang.Throwable`

    - #### invokeMethod0Safe

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

      Throws:
        `java.lang.Throwable`

    - #### invokeMethod0SpreadSafe

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

      Throws:
        `java.lang.Throwable`

    - #### invokeStaticMethodN

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

      Throws:
        `java.lang.Throwable`

    - #### invokeStaticMethod0

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

      Throws:
        `java.lang.Throwable`

    - #### invokeNewN

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

      Throws:
        `java.lang.Throwable`

    - #### invokeNew0

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

      Throws:
        `java.lang.Throwable`

    - #### selectConstructorAndTransformArguments

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

      Throws:
        `java.lang.Throwable`

    - #### getFieldOnSuper

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

      Throws:
        `java.lang.Throwable`

    - #### getFieldOnSuperSafe

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

      Throws:
        `java.lang.Throwable`

    - #### getFieldOnSuperSpreadSafe

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

      Throws:
        `java.lang.Throwable`

    - #### setFieldOnSuper

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

      Throws:
        `java.lang.Throwable`

    - #### setFieldOnSuperSafe

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

      Throws:
        `java.lang.Throwable`

    - #### setFieldOnSuperSpreadSafe

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

      Throws:
        `java.lang.Throwable`

    - #### getField

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

      Throws:
        `java.lang.Throwable`

    - #### getFieldSafe

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

      Throws:
        `java.lang.Throwable`

    - #### getFieldSpreadSafe

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

      Throws:
        `java.lang.Throwable`

    - #### setField

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

      Throws:
        `java.lang.Throwable`

    - #### setFieldSafe

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

      Throws:
        `java.lang.Throwable`

    - #### setFieldSpreadSafe

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

      Throws:
        `java.lang.Throwable`

    - #### getGroovyObjectField

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

      Throws:
        `java.lang.Throwable`

    - #### getGroovyObjectFieldSafe

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

      Throws:
        `java.lang.Throwable`

    - #### getGroovyObjectFieldSpreadSafe

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

      Throws:
        `java.lang.Throwable`

    - #### setGroovyObjectField

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

      Throws:
        `java.lang.Throwable`

    - #### setGroovyObjectFieldSafe

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

      Throws:
        `java.lang.Throwable`

    - #### setGroovyObjectFieldSpreadSafe

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

      Throws:
        `java.lang.Throwable`

    - #### getPropertyOnSuper

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

      Throws:
        `java.lang.Throwable`

    - #### getPropertyOnSuperSafe

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

      Throws:
        `java.lang.Throwable`

    - #### getPropertyOnSuperSpreadSafe

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

      Throws:
        `java.lang.Throwable`

    - #### setPropertyOnSuper

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

      Throws:
        `java.lang.Throwable`

    - #### setPropertyOnSuperSafe

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

      Throws:
        `java.lang.Throwable`

    - #### setPropertyOnSuperSpreadSafe

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

      Throws:
        `java.lang.Throwable`

    - #### getProperty

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

      Throws:
        `java.lang.Throwable`

    - #### getPropertySafe

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

      Throws:
        `java.lang.Throwable`

    - #### getPropertySpreadSafe

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

      Throws:
        `java.lang.Throwable`

    - #### setProperty

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

      Throws:
        `java.lang.Throwable`

    - #### setPropertySafe

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

      Throws:
        `java.lang.Throwable`

    - #### setPropertySpreadSafe

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

      Throws:
        `java.lang.Throwable`

    - #### getGroovyObjectProperty

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

      Throws:
        `java.lang.Throwable`

    - #### getGroovyObjectPropertySafe

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

      Throws:
        `java.lang.Throwable`

    - #### getGroovyObjectPropertySpreadSafe

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

      Throws:
        `java.lang.Throwable`

    - #### setGroovyObjectProperty

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

      Throws:
        `java.lang.Throwable`

    - #### setGroovyObjectPropertySafe

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

      Throws:
        `java.lang.Throwable`

    - #### setGroovyObjectPropertySpreadSafe

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

      Throws:
        `java.lang.Throwable`

    - #### getMethodPointer

          public static Closure getMethodPointer​(java.lang.Object object,
                                                 java.lang.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 java.lang.Object invokeClosure​(java.lang.Object closure,
                                                       java.lang.Object[] arguments)
                                                throws java.lang.Throwable

      Throws:
        `java.lang.Throwable`

    - #### asType

          public static java.lang.Object asType​(java.lang.Object object,
                                                java.lang.Class type)
                                         throws java.lang.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:
        `java.lang.Throwable` - if the coercion fails

    - #### castToType

          public static java.lang.Object castToType​(java.lang.Object object,
                                                    java.lang.Class type)
                                             throws java.lang.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:
        `java.lang.Throwable` - if the type casting fails

    - #### createTuple

          public static Tuple createTuple​(java.lang.Object[] array)

    - #### createList

          public static java.util.List createList​(java.lang.Object[] values)

    - #### createPojoWrapper

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

    - #### createGroovyObjectWrapper

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

    - #### createMap

          public static java.util.Map createMap​(java.lang.Object[] values)

    - #### createRange

          public static java.util.List createRange​(java.lang.Object from,
                                                   java.lang.Object to,
                                                   boolean inclusive)
                                            throws java.lang.Throwable

      Throws:
        `java.lang.Throwable`

    - #### assertFailed

          public static void assertFailed​(java.lang.Object expression,
                                          java.lang.Object message)

    - #### isCase

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

      Throws:
        `java.lang.Throwable`

    - #### compareIdentical

          public static boolean compareIdentical​(java.lang.Object left,
                                                 java.lang.Object right)

    - #### compareNotIdentical

          public static boolean compareNotIdentical​(java.lang.Object left,
                                                    java.lang.Object right)

    - #### compareEqual

          public static boolean compareEqual​(java.lang.Object left,
                                             java.lang.Object right)

    - #### compareNotEqual

          public static boolean compareNotEqual​(java.lang.Object left,
                                                java.lang.Object right)

    - #### compareTo

          public static java.lang.Integer compareTo​(java.lang.Object left,
                                                    java.lang.Object right)

    - #### compareLessThan

          public static boolean compareLessThan​(java.lang.Object left,
                                                java.lang.Object right)

    - #### compareLessThanEqual

          public static boolean compareLessThanEqual​(java.lang.Object left,
                                                     java.lang.Object right)

    - #### compareGreaterThan

          public static boolean compareGreaterThan​(java.lang.Object left,
                                                   java.lang.Object right)

    - #### compareGreaterThanEqual

          public static boolean compareGreaterThanEqual​(java.lang.Object left,
                                                        java.lang.Object right)

    - #### regexPattern

          public static java.util.regex.Pattern regexPattern​(java.lang.Object regex)

    - #### findRegex

          public static java.util.regex.Matcher findRegex​(java.lang.Object left,
                                                          java.lang.Object right)
                                                   throws java.lang.Throwable

      Throws:
        `java.lang.Throwable`

    - #### matchRegex

          public static boolean matchRegex​(java.lang.Object left,
                                           java.lang.Object right)

    - #### despreadList

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

    - #### spreadMap

          public static java.lang.Object spreadMap​(java.lang.Object value)

    - #### unaryMinus

          public static java.lang.Object unaryMinus​(java.lang.Object value)
                                             throws java.lang.Throwable

      Throws:
        `java.lang.Throwable`

    - #### unaryPlus

          public static java.lang.Object unaryPlus​(java.lang.Object value)
                                            throws java.lang.Throwable

      Throws:
        `java.lang.Throwable`

    - #### bitwiseNegate

          public static java.lang.Object bitwiseNegate​(java.lang.Object value)
                                                throws java.lang.Throwable

      Throws:
        `java.lang.Throwable`

    - #### initMetaClass

          public static MetaClass initMetaClass​(java.lang.Object object)