Package org.codehaus.groovy.runtime
Class ScriptBytecodeAdapter
- java.lang.Object
-
- org.codehaus.groovy.runtime.ScriptBytecodeAdapter
-
public class ScriptBytecodeAdapter extends Object
A static helper class to interface bytecode and runtime
-
-
Field Summary
Fields Modifier and Type Field Description static Object[]
EMPTY_ARGS
-
Constructor Summary
Constructors Constructor Description ScriptBytecodeAdapter()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static void
assertFailed(Object expression, Object message)
static Object
asType(Object object, Class type)
Provides a hook for type coercion of the given object to the required typestatic Object
bitwiseNegate(Object value)
static Object
castToType(Object object, Class type)
Provides a hook for type casting of the given object to the required typestatic 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 namestatic 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)
-
-
-
Field Detail
-
EMPTY_ARGS
public static final Object[] EMPTY_ARGS
-
-
Method Detail
-
unwrap
public static Throwable unwrap(GroovyRuntimeException gre)
-
invokeMethodOnCurrentN
public static Object invokeMethodOnCurrentN(Class senderClass, GroovyObject receiver, String messageName, Object[] messageArguments) throws Throwable
- Throws:
Throwable
-
invokeMethodOnCurrentNSafe
public static Object invokeMethodOnCurrentNSafe(Class senderClass, GroovyObject receiver, String messageName, Object[] messageArguments) throws Throwable
- Throws:
Throwable
-
invokeMethodOnCurrentNSpreadSafe
public static Object invokeMethodOnCurrentNSpreadSafe(Class senderClass, GroovyObject receiver, String messageName, Object[] messageArguments) throws Throwable
- Throws:
Throwable
-
invokeMethodOnCurrent0
public static Object invokeMethodOnCurrent0(Class senderClass, GroovyObject receiver, String messageName) throws Throwable
- Throws:
Throwable
-
invokeMethodOnCurrent0Safe
public static Object invokeMethodOnCurrent0Safe(Class senderClass, GroovyObject receiver, String messageName, Object[] messageArguments) throws Throwable
- Throws:
Throwable
-
invokeMethodOnCurrent0SpreadSafe
public static Object invokeMethodOnCurrent0SpreadSafe(Class senderClass, GroovyObject receiver, String messageName, Object[] messageArguments) throws Throwable
- Throws:
Throwable
-
invokeMethodOnSuperN
public static Object invokeMethodOnSuperN(Class senderClass, GroovyObject receiver, String messageName, Object[] messageArguments) throws Throwable
- Throws:
Throwable
-
invokeMethodOnSuperNSafe
public static Object invokeMethodOnSuperNSafe(Class senderClass, GroovyObject receiver, String messageName, Object[] messageArguments) throws Throwable
- Throws:
Throwable
-
invokeMethodOnSuperNSpreadSafe
public static Object invokeMethodOnSuperNSpreadSafe(Class senderClass, GroovyObject receiver, String messageName, Object[] messageArguments) throws Throwable
- Throws:
Throwable
-
invokeMethodOnSuper0
public static Object invokeMethodOnSuper0(Class senderClass, GroovyObject receiver, String messageName) throws Throwable
- Throws:
Throwable
-
invokeMethodOnSuper0Safe
public static Object invokeMethodOnSuper0Safe(Class senderClass, GroovyObject receiver, String messageName, Object[] messageArguments) throws Throwable
- Throws:
Throwable
-
invokeMethodOnSuper0SpreadSafe
public static Object invokeMethodOnSuper0SpreadSafe(Class senderClass, GroovyObject receiver, String messageName, Object[] messageArguments) throws Throwable
- Throws:
Throwable
-
invokeMethodN
public static Object invokeMethodN(Class senderClass, Object receiver, String messageName, Object[] messageArguments) throws Throwable
- Throws:
Throwable
-
invokeMethodNSafe
public static Object invokeMethodNSafe(Class senderClass, Object receiver, String messageName, Object[] messageArguments) throws Throwable
- Throws:
Throwable
-
invokeMethodNSpreadSafe
public static Object invokeMethodNSpreadSafe(Class senderClass, Object receiver, String messageName, Object[] messageArguments) throws Throwable
- Throws:
Throwable
-
invokeMethod0
public static Object invokeMethod0(Class senderClass, Object receiver, String messageName) throws Throwable
- Throws:
Throwable
-
invokeMethod0Safe
public static Object invokeMethod0Safe(Class senderClass, Object receiver, String messageName) throws Throwable
- Throws:
Throwable
-
invokeMethod0SpreadSafe
public static Object invokeMethod0SpreadSafe(Class senderClass, Object receiver, String messageName) throws Throwable
- Throws:
Throwable
-
invokeStaticMethodN
public static Object invokeStaticMethodN(Class senderClass, Class receiver, String messageName, Object[] messageArguments) throws Throwable
- Throws:
Throwable
-
invokeStaticMethod0
public static Object invokeStaticMethod0(Class senderClass, Class receiver, String messageName) throws Throwable
- Throws:
Throwable
-
invokeNewN
public static Object invokeNewN(Class senderClass, Class receiver, Object arguments) throws Throwable
- Throws:
Throwable
-
invokeNew0
public static Object invokeNew0(Class senderClass, Class receiver) throws Throwable
- Throws:
Throwable
-
selectConstructorAndTransformArguments
public static int selectConstructorAndTransformArguments(Object[] arguments, int numberOfConstructors, Class which) throws Throwable
- Throws:
Throwable
-
getFieldOnSuper
public static Object getFieldOnSuper(Class senderClass, Object receiver, String messageName) throws Throwable
- Throws:
Throwable
-
getFieldOnSuperSafe
public static Object getFieldOnSuperSafe(Class senderClass, Object receiver, String messageName) throws Throwable
- Throws:
Throwable
-
getFieldOnSuperSpreadSafe
public static Object getFieldOnSuperSpreadSafe(Class senderClass, Object receiver, String messageName) throws Throwable
- Throws:
Throwable
-
setFieldOnSuper
public static void setFieldOnSuper(Object messageArgument, Class senderClass, Object receiver, String messageName) throws Throwable
- Throws:
Throwable
-
setFieldOnSuperSafe
public static void setFieldOnSuperSafe(Object messageArgument, Class senderClass, Object receiver, String messageName) throws Throwable
- Throws:
Throwable
-
setFieldOnSuperSpreadSafe
public static void setFieldOnSuperSpreadSafe(Object messageArgument, Class senderClass, Object receiver, String messageName) throws Throwable
- Throws:
Throwable
-
getField
public static Object getField(Class senderClass, Object receiver, String messageName) throws Throwable
- Throws:
Throwable
-
getFieldSafe
public static Object getFieldSafe(Class senderClass, Object receiver, String messageName) throws Throwable
- Throws:
Throwable
-
getFieldSpreadSafe
public static Object getFieldSpreadSafe(Class senderClass, Object receiver, String messageName) throws Throwable
- Throws:
Throwable
-
setField
public static void setField(Object messageArgument, Class senderClass, Object receiver, String messageName) throws Throwable
- Throws:
Throwable
-
setFieldSafe
public static void setFieldSafe(Object messageArgument, Class senderClass, Object receiver, String messageName) throws Throwable
- Throws:
Throwable
-
setFieldSpreadSafe
public static void setFieldSpreadSafe(Object messageArgument, Class senderClass, Object receiver, String messageName) throws Throwable
- Throws:
Throwable
-
getGroovyObjectField
public static Object getGroovyObjectField(Class senderClass, GroovyObject receiver, String messageName) throws Throwable
- Throws:
Throwable
-
getGroovyObjectFieldSafe
public static Object getGroovyObjectFieldSafe(Class senderClass, GroovyObject receiver, String messageName) throws Throwable
- Throws:
Throwable
-
getGroovyObjectFieldSpreadSafe
public static Object getGroovyObjectFieldSpreadSafe(Class senderClass, GroovyObject receiver, String messageName) throws Throwable
- Throws:
Throwable
-
setGroovyObjectField
public static void setGroovyObjectField(Object messageArgument, Class senderClass, GroovyObject receiver, String messageName) throws Throwable
- Throws:
Throwable
-
setGroovyObjectFieldSafe
public static void setGroovyObjectFieldSafe(Object messageArgument, Class senderClass, GroovyObject receiver, String messageName) throws Throwable
- Throws:
Throwable
-
setGroovyObjectFieldSpreadSafe
public static void setGroovyObjectFieldSpreadSafe(Object messageArgument, Class senderClass, GroovyObject receiver, String messageName) throws Throwable
- Throws:
Throwable
-
getPropertyOnSuper
public static Object getPropertyOnSuper(Class senderClass, GroovyObject receiver, String messageName) throws Throwable
- Throws:
Throwable
-
getPropertyOnSuperSafe
public static Object getPropertyOnSuperSafe(Class senderClass, GroovyObject receiver, String messageName) throws Throwable
- Throws:
Throwable
-
getPropertyOnSuperSpreadSafe
public static Object getPropertyOnSuperSpreadSafe(Class senderClass, GroovyObject receiver, String messageName) throws Throwable
- Throws:
Throwable
-
setPropertyOnSuper
public static void setPropertyOnSuper(Object messageArgument, Class senderClass, GroovyObject receiver, String messageName) throws Throwable
- Throws:
Throwable
-
setPropertyOnSuperSafe
public static void setPropertyOnSuperSafe(Object messageArgument, Class senderClass, GroovyObject receiver, String messageName) throws Throwable
- Throws:
Throwable
-
setPropertyOnSuperSpreadSafe
public static void setPropertyOnSuperSpreadSafe(Object messageArgument, Class senderClass, GroovyObject receiver, String messageName) throws Throwable
- Throws:
Throwable
-
getProperty
public static Object getProperty(Class senderClass, Object receiver, String messageName) throws Throwable
- Throws:
Throwable
-
getPropertySafe
public static Object getPropertySafe(Class senderClass, Object receiver, String messageName) throws Throwable
- Throws:
Throwable
-
getPropertySpreadSafe
public static Object getPropertySpreadSafe(Class senderClass, Object receiver, String messageName) throws Throwable
- Throws:
Throwable
-
setProperty
public static void setProperty(Object messageArgument, Class senderClass, Object receiver, String messageName) throws Throwable
- Throws:
Throwable
-
setPropertySafe
public static void setPropertySafe(Object messageArgument, Class senderClass, Object receiver, String messageName) throws Throwable
- Throws:
Throwable
-
setPropertySpreadSafe
public static void setPropertySpreadSafe(Object messageArgument, Class senderClass, Object receiver, String messageName) throws Throwable
- Throws:
Throwable
-
getGroovyObjectProperty
public static Object getGroovyObjectProperty(Class senderClass, GroovyObject receiver, String messageName) throws Throwable
- Throws:
Throwable
-
getGroovyObjectPropertySafe
public static Object getGroovyObjectPropertySafe(Class senderClass, GroovyObject receiver, String messageName) throws Throwable
- Throws:
Throwable
-
getGroovyObjectPropertySpreadSafe
public static Object getGroovyObjectPropertySpreadSafe(Class senderClass, GroovyObject receiver, String messageName) throws Throwable
- Throws:
Throwable
-
setGroovyObjectProperty
public static void setGroovyObjectProperty(Object messageArgument, Class senderClass, GroovyObject receiver, String messageName) throws Throwable
- Throws:
Throwable
-
setGroovyObjectPropertySafe
public static void setGroovyObjectPropertySafe(Object messageArgument, Class senderClass, GroovyObject receiver, String messageName) throws Throwable
- Throws:
Throwable
-
setGroovyObjectPropertySpreadSafe
public static void setGroovyObjectPropertySpreadSafe(Object messageArgument, Class senderClass, GroovyObject receiver, String messageName) throws Throwable
- Throws:
Throwable
-
getMethodPointer
public static Closure getMethodPointer(Object object, String methodName)
Returns the method pointer for the given object name- Parameters:
object
- the object containing the methodmethodName
- the name of the method of interest- Returns:
- the resulting Closure
-
invokeClosure
public static Object invokeClosure(Object closure, Object[] arguments) throws Throwable
- Throws:
Throwable
-
asType
public static Object asType(Object object, Class type) throws Throwable
Provides a hook for type coercion of the given object to the required type- Parameters:
type
- of object to convert the given object toobject
- the object to be converted- Returns:
- the original object or a new converted value
- Throws:
Throwable
- if the coercion fails
-
castToType
public static Object castToType(Object object, Class type) throws Throwable
Provides a hook for type casting of the given object to the required type- Parameters:
type
- of object to convert the given object toobject
- the object to be converted- Returns:
- the original object or a new converted value
- Throws:
Throwable
- if the type casting fails
-
createGroovyObjectWrapper
public static Wrapper createGroovyObjectWrapper(GroovyObject val, Class clazz)
-
createRange
public static List createRange(Object from, Object to, boolean inclusive) throws Throwable
- Throws:
Throwable
-
isCase
public static boolean isCase(Object switchValue, Object caseExpression) throws Throwable
- Throws:
Throwable
-
findRegex
public static Matcher findRegex(Object left, Object right) throws Throwable
- Throws:
Throwable
-
-