Class 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) { ... }
  • 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