Class ClosureUtils


  • public class ClosureUtils
    extends java.lang.Object
    Handy methods when working with Closure AST data structures.
    • Constructor Detail

      • ClosureUtils

        public ClosureUtils()
    • Method Detail

      • convertClosureToSource

        public static java.lang.String convertClosureToSource​(ReaderSource readerSource,
                                                              ClosureExpression expression)
                                                       throws java.lang.Exception
        Converts a ClosureExpression into the String source.
        Parameters:
        readerSource - a source
        expression - a closure. Can't be null
        Returns:
        the source the closure was created from
        Throws:
        java.lang.IllegalArgumentException - when expression is null
        java.lang.Exception - when closure can't be read from source
      • hasSingleCharacterArg

        public static boolean hasSingleCharacterArg​(Closure c)
        Does the Closure have a single char-like (char or Character) argument.
        Parameters:
        c - a Closure
        Returns:
        true if it has exactly one argument and the type is char or Character
      • hasSingleStringArg

        public static boolean hasSingleStringArg​(Closure c)
        Does the Closure have a single String argument.
        Parameters:
        c - a Closure
        Returns:
        true if it has exactly one argument and the type is String
      • hasImplicitParameter

        public static boolean hasImplicitParameter​(ClosureExpression ce)
        Returns:
        true if the ClosureExpression has an implicit 'it' parameter
      • getParametersSafe

        public static Parameter[] getParametersSafe​(ClosureExpression ce)
        Returns:
        the parameters for the ClosureExpression