Class ScriptBytecodeAdapter


  • public class ScriptBytecodeAdapter
    extends java.lang.Object
    A static helper class to interface bytecode and runtime
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.Object[] EMPTY_ARGS  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      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

      • 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)