summaryrefslogtreecommitdiff
path: root/sources/scalac/typechecker/Infer.java
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2003-10-24 18:15:34 +0000
committerMartin Odersky <odersky@gmail.com>2003-10-24 18:15:34 +0000
commitc3dd593e0d28458e838008c3a8311c9994f3f8a2 (patch)
tree2490ce19deb2b3ecbf30724fa11d3ff7fe3f155f /sources/scalac/typechecker/Infer.java
parent71d2d7d9787f1be2927a9c66dd8e78e9a9b285ea (diff)
downloadscala-c3dd593e0d28458e838008c3a8311c9994f3f8a2.tar.gz
scala-c3dd593e0d28458e838008c3a8311c9994f3f8a2.tar.bz2
scala-c3dd593e0d28458e838008c3a8311c9994f3f8a2.zip
*** empty log message ***
Diffstat (limited to 'sources/scalac/typechecker/Infer.java')
-rw-r--r--sources/scalac/typechecker/Infer.java6
1 files changed, 5 insertions, 1 deletions
diff --git a/sources/scalac/typechecker/Infer.java b/sources/scalac/typechecker/Infer.java
index befd1d151c..b23890f0d0 100644
--- a/sources/scalac/typechecker/Infer.java
+++ b/sources/scalac/typechecker/Infer.java
@@ -958,7 +958,9 @@ public class Infer implements Modifiers, Kinds {
* If several applicable alternatives exist, take the
* most specialized one, or throw an error if no
* most specialized applicable alternative exists.
- * If no alternative matches, leave `tree' unchanged.
+ * If no alternative matches, leave `tree' unchanged,
+ * try to select method with pt = AnyType.
+ * If pt is AnyType, leave tree unchanged.
*/
public void methodAlternative(Tree tree, Symbol[] alts, Type[] alttypes,
Type[] argtypes, Type pt)
@@ -988,6 +990,8 @@ public class Infer implements Modifiers, Kinds {
}
}
tree.setSymbol(alts[best]).setType(alttypes[best]);
+ } else if (pt != Type.AnyType) {
+ methodAlternative(tree, alts, alttypes, argtypes, Type.AnyType);
}
}