diff options
-rw-r--r-- | src/reflect/scala/reflect/api/Symbols.scala | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/reflect/scala/reflect/api/Symbols.scala b/src/reflect/scala/reflect/api/Symbols.scala index 11c7a38498..563a985a37 100644 --- a/src/reflect/scala/reflect/api/Symbols.scala +++ b/src/reflect/scala/reflect/api/Symbols.scala @@ -232,6 +232,24 @@ trait Symbols extends base.Symbols { self: Universe => /** The overloaded alternatives of this symbol */ def alternatives: List[Symbol] + /** Resolves an overloaded TermSymbol to a single non-overloaded TermSymbol that accepts + * the specified argument types. + * @param pre The prefix type. By passing a prefix type, type-level type parameters + * can be converted within the member's type. Any example of a prefix would be + * `List[Int]`, which would replace references to the type parameter `A` with the type + * `Int`. + * @param targs Only alternatives that can accept these type arguments will be considered. In all + * alternatives that can accept these type arguments, they will be considered with these + * substituted for their corresponding type parameters. + * @param posVargs A sequence of the positional (normal) type arguments that a candidate alternative must + * accept. + * @param nameVargs A sequence of the named-parameter type arguments that a candidate alternative must + * accept. Each element in the sequence should be a pair of a parameter name and an + * argument type + * @param expected A candidate member must have a return type compatible with this type. + * @return Either a single, non-overloaded, Symbol referring the selected member or NoSymbol no single + * member could be selected given the passed arguments. + */ def resolveOverloaded( pre: Type = NoPrefix, targs: Seq[Type] = List(), |