Package groovy.transform.stc

# Class FirstParam.Component

java.lang.Object
groovy.transform.stc.ClosureSignatureHint
groovy.transform.stc.SingleSignatureClosureHint
groovy.transform.stc.PickAnyArgumentHint
groovy.transform.stc.FirstParam
groovy.transform.stc.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)} }`

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from class groovy.transform.stc.FirstParam

  `FirstParam.Component, FirstParam.FirstGenericType, FirstParam.SecondGenericType, FirstParam.ThirdGenericType`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Component()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `ClassNode[]`
  `getParameterTypes(MethodNode node, String[] options, SourceUnit sourceUnit, CompilationUnit unit, ASTNode usage)`
  Returns the single parameter signature accepted by the hinted closure.

  ### Methods inherited from class groovy.transform.stc.SingleSignatureClosureHint

  `getClosureSignatures`

  ### Methods inherited from class groovy.transform.stc.ClosureSignatureHint

  `findClassNode, pickGenericType, pickGenericType`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## 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