Package groovy.transform.stc
Class PickFirstResolver
java.lang.Object
groovy.transform.stc.ClosureSignatureConflictResolver
groovy.transform.stc.PickFirstResolver
Returns the first of several candidates found.
 This is useful if several types should be supported but only the first
 should be the default/inferred type. Other options in the list are
 obtained through explicitly typing the parameter(s).
- Since:
- 2.5.0
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionresolve(List<ClassNode[]> candidates, ClassNode receiver, Expression arguments, ClosureExpression closure, MethodNode methodNode, SourceUnit sourceUnit, CompilationUnit compilationUnit, String[] options) 
- 
Constructor Details- 
PickFirstResolverpublic PickFirstResolver()
 
- 
- 
Method Details- 
resolvepublic List<ClassNode[]> resolve(List<ClassNode[]> candidates, ClassNode receiver, Expression arguments, ClosureExpression closure, MethodNode methodNode, SourceUnit sourceUnit, CompilationUnit compilationUnit, String[] options) - Overrides:
- resolvein class- ClosureSignatureConflictResolver
- Parameters:
- candidates- the list of signatures as determined after applying type hints and performing initial inference calculations
- receiver- the receiver the method is being called on
- arguments- the arguments for the closure
- closure- the closure expression under analysis
- methodNode- the method for which a- Closureparameter was annotated with- ClosureParams
- sourceUnit- the source unit of the file being compiled
- compilationUnit- the compilation unit of the file being compiled
- options- the options, corresponding to the- ClosureParams.options()found on the annotation
- Returns:
- a non-null list of signatures, where a signature corresponds to an array of class nodes, each of them matching a parameter. A list with more than one element indicates that all ambiguities haven't yet been resolved.
 
 
-