summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/reflect/scala/reflect/api/Symbols.scala18
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(),