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

Author:
  Jochen Theodorou

### Field Summary

Fields
`static java.lang.Object[]` `EMPTY_ARGS`

### Constructor Summary

Constructors
Constructor and Description
`ScriptBytecodeAdapter()`

### Method Summary

All Methods Static Methods Concrete Methods
`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)