Package: org.codehaus.groovy.runtime

## [Java] Class ScriptBytecodeAdapter

- org.codehaus.groovy.runtime.ScriptBytecodeAdapter

- A static helper class to interface bytecode and runtime

  Authors:
    Jochen Theodorou

- - ### Field Summary

    Fields
    Modifiers | Name | Description
    --- | --- | ---
    `static Object[]` | `EMPTY_ARGS` |

  - ### Properties Summary

    Properties
    Type | Name and description
    --- | ---
    `Object` | `field`
    `Object` | `fieldOnSuper`
    `Object` | `fieldOnSuperSafe`
    `Object` | `fieldOnSuperSpreadSafe`
    `Object` | `fieldSafe`
    `Object` | `fieldSpreadSafe`
    `Object` | `groovyObjectField`
    `Object` | `groovyObjectFieldSafe`
    `Object` | `groovyObjectFieldSpreadSafe`
    `Object` | `groovyObjectProperty`
    `Object` | `groovyObjectPropertySafe`
    `Object` | `groovyObjectPropertySpreadSafe`
    `Object` | `property`
    `Object` | `propertyOnSuper`
    `Object` | `propertyOnSuperSafe`
    `Object` | `propertyOnSuperSpreadSafe`
    `Object` | `propertySafe`
    `Object` | `propertySpreadSafe`

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `static Object` | `asType(Object object, Class type)` Provides a hook for type coercion of the given object to the required type
    `` | `static void` | `assertFailed(Object expression, Object message)`
    `` | `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)`

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class Object` | `wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll`

- - ### Field Detail

    - #### public static final Object[] EMPTY_ARGS

  - ### Property Detail

    - #### Object field

    - #### Object fieldOnSuper

    - #### Object fieldOnSuperSafe

    - #### Object fieldOnSuperSpreadSafe

    - #### Object fieldSafe

    - #### Object fieldSpreadSafe

    - #### Object groovyObjectField

    - #### Object groovyObjectFieldSafe

    - #### Object groovyObjectFieldSpreadSafe

    - #### Object groovyObjectProperty

    - #### Object groovyObjectPropertySafe

    - #### Object groovyObjectPropertySpreadSafe

    - #### Object property

    - #### Object propertyOnSuper

    - #### Object propertyOnSuperSafe

    - #### Object propertyOnSuperSpreadSafe

    - #### Object propertySafe

    - #### Object propertySpreadSafe

  - ### Method Detail

    - #### public static Object asType(Object object, Class type)

      Provides a hook for type coercion of the given object to the required type

      throws:
        Throwable if the coercion fails
      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

    - #### public static void assertFailed(Object expression, Object message)

    - #### public static Object bitwiseNegate(Object value)

    - #### public static Object castToType(Object object, Class type)

      Provides a hook for type casting of the given object to the required type

      throws:
        Throwable if the type casting fails
      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

    - #### public static boolean compareEqual(Object left, Object right)

    - #### public static boolean compareGreaterThan(Object left, Object right)

    - #### public static boolean compareGreaterThanEqual(Object left, Object right)

    - #### public static boolean compareIdentical(Object left, Object right)

    - #### public static boolean compareLessThan(Object left, Object right)

    - #### public static boolean compareLessThanEqual(Object left, Object right)

    - #### public static boolean compareNotEqual(Object left, Object right)

    - #### public static boolean compareNotIdentical(Object left, Object right)

    - #### public static Integer compareTo(Object left, Object right)

    - #### public static Wrapper createGroovyObjectWrapper(GroovyObject val, Class clazz)

    - #### public static List createList(Object[] values)

    - #### public static Map createMap(Object[] values)

    - #### public static Wrapper createPojoWrapper(Object val, Class clazz)

    - #### public static List createRange(Object from, Object to, boolean inclusive)

    - #### public static Tuple createTuple(Object[] array)

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

    - #### public static Matcher findRegex(Object left, Object right)

    - #### public static Object getField(Class senderClass, Object receiver, String messageName)

    - #### public static Object getFieldOnSuper(Class senderClass, Object receiver, String messageName)

    - #### public static Object getFieldOnSuperSafe(Class senderClass, Object receiver, String messageName)

    - #### public static Object getFieldOnSuperSpreadSafe(Class senderClass, Object receiver, String messageName)

    - #### public static Object getFieldSafe(Class senderClass, Object receiver, String messageName)

    - #### public static Object getFieldSpreadSafe(Class senderClass, Object receiver, String messageName)

    - #### public static Object getGroovyObjectField(Class senderClass, GroovyObject receiver, String messageName)

    - #### public static Object getGroovyObjectFieldSafe(Class senderClass, GroovyObject receiver, String messageName)

    - #### public static Object getGroovyObjectFieldSpreadSafe(Class senderClass, GroovyObject receiver, String messageName)

    - #### public static Object getGroovyObjectProperty(Class senderClass, GroovyObject receiver, String messageName)

    - #### public static Object getGroovyObjectPropertySafe(Class senderClass, GroovyObject receiver, String messageName)

    - #### public static Object getGroovyObjectPropertySpreadSafe(Class senderClass, GroovyObject receiver, String messageName)

    - #### 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

    - #### public static Object getProperty(Class senderClass, Object receiver, String messageName)

    - #### public static Object getPropertyOnSuper(Class senderClass, GroovyObject receiver, String messageName)

    - #### public static Object getPropertyOnSuperSafe(Class senderClass, GroovyObject receiver, String messageName)

    - #### public static Object getPropertyOnSuperSpreadSafe(Class senderClass, GroovyObject receiver, String messageName)

    - #### public static Object getPropertySafe(Class senderClass, Object receiver, String messageName)

    - #### public static Object getPropertySpreadSafe(Class senderClass, Object receiver, String messageName)

    - #### public static MetaClass initMetaClass(Object object)

    - #### public static Object invokeClosure(Object closure, Object[] arguments)

    - #### public static Object invokeMethod0(Class senderClass, Object receiver, String messageName)

    - #### public static Object invokeMethod0Safe(Class senderClass, Object receiver, String messageName)

    - #### public static Object invokeMethod0SpreadSafe(Class senderClass, Object receiver, String messageName)

    - #### public static Object invokeMethodN(Class senderClass, Object receiver, String messageName, Object[] messageArguments)

    - #### public static Object invokeMethodNSafe(Class senderClass, Object receiver, String messageName, Object[] messageArguments)

    - #### public static Object invokeMethodNSpreadSafe(Class senderClass, Object receiver, String messageName, Object[] messageArguments)

    - #### public static Object invokeMethodOnCurrent0(Class senderClass, GroovyObject receiver, String messageName)

    - #### public static Object invokeMethodOnCurrent0Safe(Class senderClass, GroovyObject receiver, String messageName, Object[] messageArguments)

    - #### public static Object invokeMethodOnCurrent0SpreadSafe(Class senderClass, GroovyObject receiver, String messageName, Object[] messageArguments)

    - #### public static Object invokeMethodOnCurrentN(Class senderClass, GroovyObject receiver, String messageName, Object[] messageArguments)

    - #### public static Object invokeMethodOnCurrentNSafe(Class senderClass, GroovyObject receiver, String messageName, Object[] messageArguments)

    - #### public static Object invokeMethodOnCurrentNSpreadSafe(Class senderClass, GroovyObject receiver, String messageName, Object[] messageArguments)

    - #### public static Object invokeMethodOnSuper0(Class senderClass, GroovyObject receiver, String messageName)

    - #### public static Object invokeMethodOnSuper0Safe(Class senderClass, GroovyObject receiver, String messageName, Object[] messageArguments)

    - #### public static Object invokeMethodOnSuper0SpreadSafe(Class senderClass, GroovyObject receiver, String messageName, Object[] messageArguments)

    - #### public static Object invokeMethodOnSuperN(Class senderClass, GroovyObject receiver, String messageName, Object[] messageArguments)

    - #### public static Object invokeMethodOnSuperNSafe(Class senderClass, GroovyObject receiver, String messageName, Object[] messageArguments)

    - #### public static Object invokeMethodOnSuperNSpreadSafe(Class senderClass, GroovyObject receiver, String messageName, Object[] messageArguments)

    - #### public static Object invokeNew0(Class senderClass, Class receiver)

    - #### public static Object invokeNewN(Class senderClass, Class receiver, Object arguments)

    - #### public static Object invokeStaticMethod0(Class senderClass, Class receiver, String messageName)

    - #### public static Object invokeStaticMethodN(Class senderClass, Class receiver, String messageName, Object[] messageArguments)

    - #### public static boolean isCase(Object switchValue, Object caseExpression)

    - #### public static boolean matchRegex(Object left, Object right)

    - #### public static Pattern regexPattern(Object regex)

    - #### public static int selectConstructorAndTransformArguments(Object[] arguments, int numberOfConstructors, Class which)

    - #### public static void setField(Object messageArgument, Class senderClass, Object receiver, String messageName)

    - #### public static void setFieldOnSuper(Object messageArgument, Class senderClass, Object receiver, String messageName)

    - #### public static void setFieldOnSuperSafe(Object messageArgument, Class senderClass, Object receiver, String messageName)

    - #### public static void setFieldOnSuperSpreadSafe(Object messageArgument, Class senderClass, Object receiver, String messageName)

    - #### public static void setFieldSafe(Object messageArgument, Class senderClass, Object receiver, String messageName)

    - #### public static void setFieldSpreadSafe(Object messageArgument, Class senderClass, Object receiver, String messageName)

    - #### public static void setGroovyObjectField(Object messageArgument, Class senderClass, GroovyObject receiver, String messageName)

    - #### public static void setGroovyObjectFieldSafe(Object messageArgument, Class senderClass, GroovyObject receiver, String messageName)

    - #### public static void setGroovyObjectFieldSpreadSafe(Object messageArgument, Class senderClass, GroovyObject receiver, String messageName)

    - #### public static void setGroovyObjectProperty(Object messageArgument, Class senderClass, GroovyObject receiver, String messageName)

    - #### public static void setGroovyObjectPropertySafe(Object messageArgument, Class senderClass, GroovyObject receiver, String messageName)

    - #### public static void setGroovyObjectPropertySpreadSafe(Object messageArgument, Class senderClass, GroovyObject receiver, String messageName)

    - #### public static void setProperty(Object messageArgument, Class senderClass, Object receiver, String messageName)

    - #### public static void setPropertyOnSuper(Object messageArgument, Class senderClass, GroovyObject receiver, String messageName)

    - #### public static void setPropertyOnSuperSafe(Object messageArgument, Class senderClass, GroovyObject receiver, String messageName)

    - #### public static void setPropertyOnSuperSpreadSafe(Object messageArgument, Class senderClass, GroovyObject receiver, String messageName)

    - #### public static void setPropertySafe(Object messageArgument, Class senderClass, Object receiver, String messageName)

    - #### public static void setPropertySpreadSafe(Object messageArgument, Class senderClass, Object receiver, String messageName)

    - #### public static Object spreadMap(Object value)

    - #### public static Object unaryMinus(Object value)

    - #### public static Object unaryPlus(Object value)

    - #### public static Throwable unwrap(GroovyRuntimeException gre)