Class ClosureUtils

java.lang.Object
org.codehaus.groovy.ast.tools.ClosureUtils

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

    • ClosureUtils

      public ClosureUtils()
  • Method Details

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

      public static java.lang.String getResolveStrategyName​(int resolveStrategy)
      Returns the constant name associated with the given resolve strategy.
      Since:
      3.0.5