Class FirstParam.Component

Enclosing class:
FirstParam

public static class FirstParam.Component extends FirstParam

A hint used to instruct the type checker to pick the type of the component of the first parameter type, which is therefore expected to be an array, like in this example:

void <T> doWithArray(T[] array, @ClosureParams(FirstParam.Component.class) Closure c) { array.each { c.call(it)} }
  • Constructor Details

    • Component

      public Component()
  • Method Details

    • getParameterTypes

      public ClassNode[] getParameterTypes(MethodNode node, String[] options, SourceUnit sourceUnit, CompilationUnit unit, ASTNode usage)
      Returns the single parameter signature accepted by the hinted closure.
      Overrides:
      getParameterTypes in class PickAnyArgumentHint
      Parameters:
      node - the annotated method node
      options - the hint options
      sourceUnit - the current source unit
      unit - the current compilation unit
      usage - the closure expression or related AST node
      Returns:
      the inferred parameter types