[Java] Class ClosureSignatureConflictResolver
- groovy.transform.stc.ClosureSignatureConflictResolver
public class ClosureSignatureConflictResolver extends Object
If multiple candidate signatures are found after applying type hints, a conflict resolver can attempt to resolve the ambiguity.
- Since:
- 2.5.0
Methods Summary
Type Params | Return Type | Name and description |
---|---|---|
public List<ClassNode> |
resolve(List<ClassNode> candidates, ClassNode receiver, Expression arguments, ClosureExpression closure, MethodNode methodNode, SourceUnit sourceUnit, CompilationUnit compilationUnit, String[] options)
|
Inherited Methods Summary
Methods inherited from class | Name |
---|---|
class Object | wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll |
Method Detail
public List<ClassNode> resolve(List<ClassNode> candidates, ClassNode receiver, Expression arguments, ClosureExpression closure, MethodNode methodNode, SourceUnit sourceUnit, CompilationUnit compilationUnit, String[] options)
- 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.
© 2003-2020 The Apache Software Foundation
Licensed under the Apache license.
https://docs.groovy-lang.org/3.0.7/html/gapi/groovy/transform/stc/ClosureSignatureConflictResolver.html