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
- Version:
- $Revision: 17783 $
- Author:
- Jochen Theodorou
Method Summary |
static void |
assertFailed(Object expression,
Object message)
|
static Object |
asType(Object object,
Class type)
Provides a hook for type coercion of the given object to the required type |
static Object |
bitwiseNegate(Object value)
|
static Object |
castToType(Object object,
Class type)
Provides a hook for type casting of the given object to the required type |
static boolean |
compareEqual(Object left,
Object right)
|
static boolean |
compareGreaterThan(Object left,
Object right)
|
static boolean |
compareGreaterThanEqual(Object left,
Object right)
|
static boolean |
compareIdentical(Object left,
Object right)
|
static boolean |
compareLessThan(Object left,
Object right)
|
static boolean |
compareLessThanEqual(Object left,
Object right)
|
static boolean |
compareNotEqual(Object left,
Object right)
|
static Integer |
compareTo(Object left,
Object right)
|
static Wrapper |
createGroovyObjectWrapper(GroovyObject val,
Class clazz)
|
static List |
createList(Object[] values)
|
static Map |
createMap(Object[] values)
|
static Wrapper |
createPojoWrapper(Object val,
Class clazz)
|
static List |
createRange(Object from,
Object to,
boolean inclusive)
|
static Tuple |
createTuple(Object[] array)
|
static Object[] |
despreadList(Object[] args,
Object[] spreads,
int[] positions)
|
static Matcher |
findRegex(Object left,
Object right)
|
static Object |
getField(Class senderClass,
Object receiver,
String messageName)
|
static Object |
getFieldOnSuper(Class senderClass,
Object receiver,
String messageName)
|
static Object |
getFieldOnSuperSafe(Class senderClass,
Object receiver,
String messageName)
|
static Object |
getFieldOnSuperSpreadSafe(Class senderClass,
Object receiver,
String messageName)
|
static Object |
getFieldSafe(Class senderClass,
Object receiver,
String messageName)
|
static Object |
getFieldSpreadSafe(Class senderClass,
Object receiver,
String messageName)
|
static Object |
getGroovyObjectField(Class senderClass,
GroovyObject receiver,
String messageName)
|
static Object |
getGroovyObjectFieldSafe(Class senderClass,
GroovyObject receiver,
String messageName)
|
static Object |
getGroovyObjectFieldSpreadSafe(Class senderClass,
GroovyObject receiver,
String messageName)
|
static Object |
getGroovyObjectProperty(Class senderClass,
GroovyObject receiver,
String messageName)
|
static Object |
getGroovyObjectPropertySafe(Class senderClass,
GroovyObject receiver,
String messageName)
|
static Object |
getGroovyObjectPropertySpreadSafe(Class senderClass,
GroovyObject receiver,
String messageName)
|
static Closure |
getMethodPointer(Object object,
String methodName)
Returns the method pointer for the given object name |
static Object |
getProperty(Class senderClass,
Object receiver,
String messageName)
|
static Object |
getPropertyOnSuper(Class senderClass,
GroovyObject receiver,
String messageName)
|
static Object |
getPropertyOnSuperSafe(Class senderClass,
GroovyObject receiver,
String messageName)
|
static Object |
getPropertyOnSuperSpreadSafe(Class senderClass,
GroovyObject receiver,
String messageName)
|
static Object |
getPropertySafe(Class senderClass,
Object receiver,
String messageName)
|
static Object |
getPropertySpreadSafe(Class senderClass,
Object receiver,
String messageName)
|
static MetaClass |
initMetaClass(Object object)
|
static Object |
invokeClosure(Object closure,
Object[] arguments)
|
static Object |
invokeMethod0(Class senderClass,
Object receiver,
String messageName)
|
static Object |
invokeMethod0Safe(Class senderClass,
Object receiver,
String messageName)
|
static Object |
invokeMethod0SpreadSafe(Class senderClass,
Object receiver,
String messageName)
|
static Object |
invokeMethodN(Class senderClass,
Object receiver,
String messageName,
Object[] messageArguments)
|
static Object |
invokeMethodNSafe(Class senderClass,
Object receiver,
String messageName,
Object[] messageArguments)
|
static Object |
invokeMethodNSpreadSafe(Class senderClass,
Object receiver,
String messageName,
Object[] messageArguments)
|
static Object |
invokeMethodOnCurrent0(Class senderClass,
GroovyObject receiver,
String messageName)
|
static Object |
invokeMethodOnCurrent0Safe(Class senderClass,
GroovyObject receiver,
String messageName,
Object[] messageArguments)
|
static Object |
invokeMethodOnCurrent0SpreadSafe(Class senderClass,
GroovyObject receiver,
String messageName,
Object[] messageArguments)
|
static Object |
invokeMethodOnCurrentN(Class senderClass,
GroovyObject receiver,
String messageName,
Object[] messageArguments)
|
static Object |
invokeMethodOnCurrentNSafe(Class senderClass,
GroovyObject receiver,
String messageName,
Object[] messageArguments)
|
static Object |
invokeMethodOnCurrentNSpreadSafe(Class senderClass,
GroovyObject receiver,
String messageName,
Object[] messageArguments)
|
static Object |
invokeMethodOnSuper0(Class senderClass,
GroovyObject receiver,
String messageName)
|
static Object |
invokeMethodOnSuper0Safe(Class senderClass,
GroovyObject receiver,
String messageName,
Object[] messageArguments)
|
static Object |
invokeMethodOnSuper0SpreadSafe(Class senderClass,
GroovyObject receiver,
String messageName,
Object[] messageArguments)
|
static Object |
invokeMethodOnSuperN(Class senderClass,
GroovyObject receiver,
String messageName,
Object[] messageArguments)
|
static Object |
invokeMethodOnSuperNSafe(Class senderClass,
GroovyObject receiver,
String messageName,
Object[] messageArguments)
|
static Object |
invokeMethodOnSuperNSpreadSafe(Class senderClass,
GroovyObject receiver,
String messageName,
Object[] messageArguments)
|
static Object |
invokeNew0(Class senderClass,
Class receiver)
|
static Object |
invokeNewN(Class senderClass,
Class receiver,
Object arguments)
|
static Object |
invokeStaticMethod0(Class senderClass,
Class receiver,
String messageName)
|
static Object |
invokeStaticMethodN(Class senderClass,
Class receiver,
String messageName,
Object[] messageArguments)
|
static boolean |
isCase(Object switchValue,
Object caseExpression)
|
static boolean |
matchRegex(Object left,
Object right)
|
static Pattern |
regexPattern(Object regex)
|
static int |
selectConstructorAndTransformArguments(Object[] arguments,
int numberOfConstructors,
Class which)
|
static void |
setField(Object messageArgument,
Class senderClass,
Object receiver,
String messageName)
|
static void |
setFieldOnSuper(Object messageArgument,
Class senderClass,
Object receiver,
String messageName)
|
static void |
setFieldOnSuperSafe(Object messageArgument,
Class senderClass,
Object receiver,
String messageName)
|
static void |
setFieldOnSuperSpreadSafe(Object messageArgument,
Class senderClass,
Object receiver,
String messageName)
|
static void |
setFieldSafe(Object messageArgument,
Class senderClass,
Object receiver,
String messageName)
|
static void |
setFieldSpreadSafe(Object messageArgument,
Class senderClass,
Object receiver,
String messageName)
|
static void |
setGroovyObjectField(Object messageArgument,
Class senderClass,
GroovyObject receiver,
String messageName)
|
static void |
setGroovyObjectFieldSafe(Object messageArgument,
Class senderClass,
GroovyObject receiver,
String messageName)
|
static void |
setGroovyObjectFieldSpreadSafe(Object messageArgument,
Class senderClass,
GroovyObject receiver,
String messageName)
|
static void |
setGroovyObjectProperty(Object messageArgument,
Class senderClass,
GroovyObject receiver,
String messageName)
|
static void |
setGroovyObjectPropertySafe(Object messageArgument,
Class senderClass,
GroovyObject receiver,
String messageName)
|
static void |
setGroovyObjectPropertySpreadSafe(Object messageArgument,
Class senderClass,
GroovyObject receiver,
String messageName)
|
static void |
setProperty(Object messageArgument,
Class senderClass,
Object receiver,
String messageName)
|
static void |
setPropertyOnSuper(Object messageArgument,
Class senderClass,
GroovyObject receiver,
String messageName)
|
static void |
setPropertyOnSuperSafe(Object messageArgument,
Class senderClass,
GroovyObject receiver,
String messageName)
|
static void |
setPropertyOnSuperSpreadSafe(Object messageArgument,
Class senderClass,
GroovyObject receiver,
String messageName)
|
static void |
setPropertySafe(Object messageArgument,
Class senderClass,
Object receiver,
String messageName)
|
static void |
setPropertySpreadSafe(Object messageArgument,
Class senderClass,
Object receiver,
String messageName)
|
static Object |
spreadMap(Object value)
|
static Object |
unaryMinus(Object value)
|
static Object |
unaryPlus(Object value)
|
static Throwable |
unwrap(GroovyRuntimeException gre)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
EMPTY_ARGS
public static final Object[] EMPTY_ARGS
ScriptBytecodeAdapter
public ScriptBytecodeAdapter()
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
createTuple
public static Tuple createTuple(Object[] array)
createList
public static List createList(Object[] values)
createPojoWrapper
public static Wrapper createPojoWrapper(Object val,
Class clazz)
createGroovyObjectWrapper
public static Wrapper createGroovyObjectWrapper(GroovyObject val,
Class clazz)
createMap
public static Map createMap(Object[] values)
createRange
public static List createRange(Object from,
Object to,
boolean inclusive)
throws Throwable
- Throws:
Throwable
assertFailed
public static void assertFailed(Object expression,
Object message)
isCase
public static boolean isCase(Object switchValue,
Object caseExpression)
throws Throwable
- Throws:
Throwable
compareIdentical
public static boolean compareIdentical(Object left,
Object right)
compareEqual
public static boolean compareEqual(Object left,
Object right)
compareNotEqual
public static boolean compareNotEqual(Object left,
Object right)
compareTo
public static Integer compareTo(Object left,
Object right)
compareLessThan
public static boolean compareLessThan(Object left,
Object right)
compareLessThanEqual
public static boolean compareLessThanEqual(Object left,
Object right)
compareGreaterThan
public static boolean compareGreaterThan(Object left,
Object right)
compareGreaterThanEqual
public static boolean compareGreaterThanEqual(Object left,
Object right)
regexPattern
public static Pattern regexPattern(Object regex)
findRegex
public static Matcher findRegex(Object left,
Object right)
throws Throwable
- Throws:
Throwable
matchRegex
public static boolean matchRegex(Object left,
Object right)
despreadList
public static Object[] despreadList(Object[] args,
Object[] spreads,
int[] positions)
spreadMap
public static Object spreadMap(Object value)
unaryMinus
public static Object unaryMinus(Object value)
throws Throwable
- Throws:
Throwable
unaryPlus
public static Object unaryPlus(Object value)
throws Throwable
- Throws:
Throwable
bitwiseNegate
public static Object bitwiseNegate(Object value)
throws Throwable
- Throws:
Throwable
initMetaClass
public static MetaClass initMetaClass(Object object)