Package groovy.transform.stc
Class ClosureSignatureConflictResolver
java.lang.Object
groovy.transform.stc.ClosureSignatureConflictResolver
- Direct Known Subclasses:
 PickFirstResolver
public class ClosureSignatureConflictResolver
extends java.lang.Object
If multiple candidate signatures are found after applying type hints,
 a conflict resolver can attempt to resolve the ambiguity.
- Since:
 - 2.5.0
 
- 
Constructor Summary
Constructors Constructor Description ClosureSignatureConflictResolver() - 
Method Summary
Modifier and Type Method Description java.util.List<ClassNode[]>resolve(java.util.List<ClassNode[]> candidates, ClassNode receiver, Expression arguments, ClosureExpression closure, MethodNode methodNode, SourceUnit sourceUnit, CompilationUnit compilationUnit, java.lang.String[] options)Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait 
- 
Constructor Details
- 
ClosureSignatureConflictResolver
public ClosureSignatureConflictResolver() 
 - 
 - 
Method Details
- 
resolve
public java.util.List<ClassNode[]> resolve(java.util.List<ClassNode[]> candidates, ClassNode receiver, Expression arguments, ClosureExpression closure, MethodNode methodNode, SourceUnit sourceUnit, CompilationUnit compilationUnit, java.lang.String[] options)- Parameters:
 candidates- the list of signatures as determined after applying type hints and performing initial inference calculationsreceiver- the receiver the method is being called onarguments- the arguments for the closureclosure- the closure expression under analysismethodNode- the method for which aClosureparameter was annotated withClosureParamssourceUnit- the source unit of the file being compiledcompilationUnit- the compilation unit of the file being compiledoptions- the options, corresponding to theClosureParams.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.
 
 
 -