resolve
public List<ClassNode[]> resolve(List<ClassNode[]> candidates,
ClassNode receiver,
Expression arguments,
ClosureExpression closure,
MethodNode methodNode,
SourceUnit sourceUnit,
CompilationUnit compilationUnit,
String[] options)
- Overrides:
resolve
in 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 Closure
parameter 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.