ClosureSignatureConflictResolver (Groovy 5.0.8)

Package: groovy.transform.stc

## [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

    Methods
    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)` Parameters: `candidates` - the list of signatures as determined after applying type hints and performing initial inference calculations

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class Object` | `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### 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.