summaryrefslogtreecommitdiff
path: root/sources/scalac/symtab/Definitions.java
diff options
context:
space:
mode:
Diffstat (limited to 'sources/scalac/symtab/Definitions.java')
-rw-r--r--sources/scalac/symtab/Definitions.java15
1 files changed, 12 insertions, 3 deletions
diff --git a/sources/scalac/symtab/Definitions.java b/sources/scalac/symtab/Definitions.java
index fcafabc1aa..1cf278c6c0 100644
--- a/sources/scalac/symtab/Definitions.java
+++ b/sources/scalac/symtab/Definitions.java
@@ -315,10 +315,19 @@ public class Definitions {
// add members to class scala.Any
MATCH = new TermSymbol(
Position.NOPOS, Names.match, ANY_CLASS, Modifiers.FINAL);
+ Symbol matchTyParam1 = newTypeParameter(MATCH, ANY_TYPE);
+ Symbol matchTyParam2 = newTypeParameter(MATCH, ANY_TYPE);
MATCH.setInfo(
- Type.MethodType(
- new Symbol[]{newParameter(MATCH, OBJECT_TYPE)},
- OBJECT_TYPE));
+ Type.PolyType(
+ new Symbol[]{matchTyParam1, matchTyParam2},
+ Type.MethodType(
+ new Symbol[]{
+ newParameter(
+ MATCH,
+ functionType(
+ new Type[]{matchTyParam1.typeConstructor()},
+ matchTyParam2.typeConstructor()))},
+ matchTyParam2.typeConstructor())));
ANY_CLASS.members().enter(MATCH);
AS = new TermSymbol(