public class PickAnyArgumentHint extends SingleSignatureClosureHint
Base class for hints which use the type of a parameter of the annotated method as the signature. This can optionally use a generic type of the selected parameter as the hint. For example, imagine the following method:
void foo(A firstArg, B secondArg, Closure c) {...}
 If the c closure should be { B it , then we can see that the parameter type
 should be picked from the second parameter of the foo method, which is what -> ...}PickAnyArgumentHint
 lets you do.
Alternatively, the method may look like this:
void <T> foo(A<T> firstArg, B secondArg, Closure c) {...}
 in which case if you want to express the fact that c should accept a <T> then you can use the
 genericTypeIndex value.
This class is extended by several hint providers that make it easier to use as annotation values.
| Constructor and Description | 
|---|
| PickAnyArgumentHint()Creates the an argument picker which extracts the type of the first parameter. | 
| PickAnyArgumentHint(int parameterIndex,
                   int genericTypeIndex)Creates a picker which will extract the parameterIndex-th parameter type, or its
 genericTypeIndex-th generic type genericTypeIndex is >=0. | 
| Modifier and Type | Method and Description | 
|---|---|
| ClassNode[] | getParameterTypes(MethodNode node,
                 String[] options,
                 SourceUnit sourceUnit,
                 CompilationUnit unit,
                 ASTNode usage) | 
getClosureSignaturesfindClassNode, pickGenericType, pickGenericTypepublic PickAnyArgumentHint()
public PickAnyArgumentHint(int parameterIndex,
                           int genericTypeIndex)
parameterIndex - the index of the parameter from which to extract the typegenericTypeIndex - if >=0, then returns the corresponding generic type instead of the parameter type.public ClassNode[] getParameterTypes(MethodNode node, String[] options, SourceUnit sourceUnit, CompilationUnit unit, ASTNode usage)
getParameterTypes in class SingleSignatureClosureHint