Package groovy.transform.stc

# Class ThirdParam.Component

java.lang.Object
groovy.transform.stc.ClosureSignatureHint
groovy.transform.stc.SingleSignatureClosureHint
groovy.transform.stc.PickAnyArgumentHint
groovy.transform.stc.ThirdParam
groovy.transform.stc.ThirdParam.Component

Enclosing class:
  ThirdParam

public static class ThirdParam.Component extends ThirdParam

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

`void <T> doWithArray(String first, int second, T[] third, @ClosureParams(FirstParam.Component.class) Closure c) { ... }`

- ## Nested Class Summary

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

  `ThirdParam.Component, ThirdParam.FirstGenericType, ThirdParam.SecondGenericType, ThirdParam.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