[Java] Class IndyGuardsFiltersAndSignatures

  • org.codehaus.groovy.vmplugin.v7.IndyGuardsFiltersAndSignatures

This class contains guards, runtime filters and MethodType signatures used by indy.

Authors:
Jochen "blackdrag" Theodorou

Field Summary

Fields
Modifiers Name Description
protected static MethodHandle ARRAYLIST_CONSTRUCTOR
protected static MethodHandle BEAN_CONSTRUCTOR_PROPERTY_SETTER
protected static MethodHandle BOOLEAN_IDENTITY
protected static MethodHandle CLASS_FOR_NAME
protected static MethodHandle DTT_CAST_TO_TYPE
protected static MethodHandle EQUALS
protected static MethodHandle GROOVY_CAST_EXCEPTION
protected static MethodHandle GROOVY_OBJECT_GET_PROPERTY
protected static MethodHandle GROOVY_OBJECT_INVOKER
protected static MethodHandle HASHSET_CONSTRUCTOR
protected static MethodHandle HAS_CATEGORY_IN_CURRENT_THREAD_GUARD
protected static MethodHandle INTERCEPTABLE_INVOKER
protected static MethodHandle IS_NULL
protected static MethodHandle META_CLASS_INVOKE_STATIC_METHOD
protected static MethodHandle META_METHOD_INVOKER
protected static MethodHandle META_PROPERTY_GETTER
protected static MethodHandle MOP_GET
protected static MethodHandle MOP_INVOKE_CONSTRUCTOR
protected static MethodHandle MOP_INVOKE_METHOD
protected static MethodHandle NULL_REF
protected static MethodHandle SAME_CLASS
protected static MethodHandle SAME_MC
protected static MethodHandle SAM_CONVERSION
protected static MethodHandle SLOW_META_CLASS_FIND
protected static MethodHandle UNWRAP_EXCEPTION
protected static MethodHandle UNWRAP_METHOD

Methods Summary

Methods
Type Params Return Type Name and description
static Object invokeGroovyObjectInvoker(MissingMethodException e, Object receiver, String name, Object[] args)
GroovyObject.invokeMethod path as fallback.
static boolean isNull(Object o)
Guard to check if the argument is null.
static boolean isSameMetaClass(MetaClass mc, Object receiver)
called by handle
static boolean sameClass(Class c, Object o)
Guard to check if the provided Object has the same class as the provided Class.
static Object setBeanProperties(MetaClass mc, Object bean, Map properties)
This method is called by he handle to realize the bean constructor with property map.
static Object unwrap(GroovyRuntimeException gre)
Unwraps a GroovyRuntimeException.
static Object unwrap(Object o)
Unwraps a Wrapper.

Inherited Methods Summary

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

Field Detail

protected static final MethodHandle ARRAYLIST_CONSTRUCTOR

protected static final MethodHandle BEAN_CONSTRUCTOR_PROPERTY_SETTER

protected static final MethodHandle BOOLEAN_IDENTITY

protected static final MethodHandle CLASS_FOR_NAME

protected static final MethodHandle DTT_CAST_TO_TYPE

protected static final MethodHandle EQUALS

protected static final MethodHandle GROOVY_CAST_EXCEPTION

protected static final MethodHandle GROOVY_OBJECT_GET_PROPERTY

protected static final MethodHandle GROOVY_OBJECT_INVOKER

protected static final MethodHandle HASHSET_CONSTRUCTOR

protected static final MethodHandle HAS_CATEGORY_IN_CURRENT_THREAD_GUARD

protected static final MethodHandle INTERCEPTABLE_INVOKER

protected static final MethodHandle IS_NULL

protected static final MethodHandle META_CLASS_INVOKE_STATIC_METHOD

protected static final MethodHandle META_METHOD_INVOKER

protected static final MethodHandle META_PROPERTY_GETTER

protected static final MethodHandle MOP_GET

protected static final MethodHandle MOP_INVOKE_CONSTRUCTOR

protected static final MethodHandle MOP_INVOKE_METHOD

protected static final MethodHandle NULL_REF

protected static final MethodHandle SAME_CLASS

protected static final MethodHandle SAME_MC

protected static final MethodHandle SAM_CONVERSION

protected static final MethodHandle SLOW_META_CLASS_FIND

protected static final MethodHandle UNWRAP_EXCEPTION

protected static final MethodHandle UNWRAP_METHOD

Method Detail

public static Object invokeGroovyObjectInvoker(MissingMethodException e, Object receiver, String name, Object[] args)

GroovyObject.invokeMethod path as fallback. This method is called by the handle as exception handler in case the selected method causes a MissingMethodExecutionFailed, where we will just give through the exception, and a normal MissingMethodException where we call GroovyObject.invokeMethod if receiver class, the type transported by the exception and the name for the method stored in the exception and our current method name are equal. Should those conditions not apply we just rethrow the exception.

public static boolean isNull(Object o)

Guard to check if the argument is null. This method is called by the handle to check if the provided argument is null.

public static boolean isSameMetaClass(MetaClass mc, Object receiver)

called by handle

public static boolean sameClass(Class c, Object o)

Guard to check if the provided Object has the same class as the provided Class. This method will return false if the Object is null.

public static Object setBeanProperties(MetaClass mc, Object bean, Map properties)

This method is called by he handle to realize the bean constructor with property map.

public static Object unwrap(GroovyRuntimeException gre)

Unwraps a GroovyRuntimeException. This method is called by the handle to unwrap internal exceptions of the runtime.

public static Object unwrap(Object o)

Unwraps a Wrapper. This method is called by the handle to unwrap a Wrapper, which we use to force method selection.

© 2003-2020 The Apache Software Foundation
Licensed under the Apache license.
https://docs.groovy-lang.org/2.4.21/html/gapi/org/codehaus/groovy/vmplugin/v7/IndyGuardsFiltersAndSignatures.html