Package groovy.transform.stc
Class PickAnyArgumentHint
- java.lang.Object
- 
- groovy.transform.stc.ClosureSignatureHint
- 
- groovy.transform.stc.SingleSignatureClosureHint
- 
- groovy.transform.stc.PickAnyArgumentHint
 
 
 
- 
- Direct Known Subclasses:
- FirstParam,- FirstParam.FirstGenericType,- FirstParam.SecondGenericType,- FirstParam.ThirdGenericType,- SecondParam,- SecondParam.FirstGenericType,- SecondParam.SecondGenericType,- SecondParam.ThirdGenericType,- ThirdParam,- ThirdParam.FirstGenericType,- ThirdParam.SecondGenericType,- ThirdParam.ThirdGenericType
 
 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->...}PickAnyArgumentHintlets 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 genericTypeIndexvalue.This class is extended by several hint providers that make it easier to use as annotation values. - Since:
- 2.3.0
 
- 
- 
Constructor SummaryConstructors Constructor 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.
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description ClassNode[]getParameterTypes(MethodNode node, java.lang.String[] options, SourceUnit sourceUnit, CompilationUnit unit, ASTNode usage)- 
Methods inherited from class groovy.transform.stc.SingleSignatureClosureHintgetClosureSignatures
 - 
Methods inherited from class groovy.transform.stc.ClosureSignatureHintfindClassNode, pickGenericType, pickGenericType
 
- 
 
- 
- 
- 
Constructor Detail- 
PickAnyArgumentHintpublic PickAnyArgumentHint() Creates the an argument picker which extracts the type of the first parameter.
 - 
PickAnyArgumentHintpublic 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.- Parameters:
- parameterIndex- the index of the parameter from which to extract the type
- genericTypeIndex- if >=0, then returns the corresponding generic type instead of the parameter type.
 
 
- 
 - 
Method Detail- 
getParameterTypespublic ClassNode[] getParameterTypes(MethodNode node, java.lang.String[] options, SourceUnit sourceUnit, CompilationUnit unit, ASTNode usage) - Specified by:
- getParameterTypesin class- SingleSignatureClosureHint
 
 
- 
 
-