summaryrefslogtreecommitdiff
path: root/sources/scalac
diff options
context:
space:
mode:
authorpaltherr <paltherr@epfl.ch>2003-07-15 15:04:51 +0000
committerpaltherr <paltherr@epfl.ch>2003-07-15 15:04:51 +0000
commit40eddc459e87ff08d484be9b981fb93c903be265 (patch)
tree0c4ec1dbfb26bb2593c2434213448427a1734de8 /sources/scalac
parentda378d9a6d19cc8f5ac3cdb08ae791d07cc524fd (diff)
downloadscala-40eddc459e87ff08d484be9b981fb93c903be265.tar.gz
scala-40eddc459e87ff08d484be9b981fb93c903be265.tar.bz2
scala-40eddc459e87ff08d484be9b981fb93c903be265.zip
- Removed "case TypeRef(...)" from method Type....
- Removed "case TypeRef(...)" from method Type.typeParams and Type.valueParams (fixes at least one bug in lambdalift). - Fixed code in Analyzer which relied on the "case TypeRef(...)" - Fixed code in RefCheck which relied on the "case TypeRef(...)"
Diffstat (limited to 'sources/scalac')
-rw-r--r--sources/scalac/typechecker/Analyzer.java2
-rw-r--r--sources/scalac/typechecker/RefCheck.java6
2 files changed, 4 insertions, 4 deletions
diff --git a/sources/scalac/typechecker/Analyzer.java b/sources/scalac/typechecker/Analyzer.java
index a5b55e18b2..fb903640aa 100644
--- a/sources/scalac/typechecker/Analyzer.java
+++ b/sources/scalac/typechecker/Analyzer.java
@@ -2202,7 +2202,7 @@ public class Analyzer extends Transformer implements Modifiers, Kinds {
Tree tpe1 = transform(tpe, TYPEmode | FUNmode);
Tree[] args1 = transform(args, TYPEmode);
Type[] argtypes = Tree.typeOf(args);
- //todo: this needs to be refined.
+ //todo: this needs to be refined. (same code in RefCheck.transform)
Symbol[] tparams =
(Type.isSameAs(tpe1.type.typeArgs(), Symbol.type(tpe1.type.unalias().symbol().typeParams())))
? tpe1.type.unalias().symbol().typeParams()
diff --git a/sources/scalac/typechecker/RefCheck.java b/sources/scalac/typechecker/RefCheck.java
index d7f3cf2c02..79a3e1a015 100644
--- a/sources/scalac/typechecker/RefCheck.java
+++ b/sources/scalac/typechecker/RefCheck.java
@@ -883,11 +883,11 @@ public class RefCheck extends Transformer implements Modifiers, Kinds {
return super.transform(tree);
case AppliedType(Tree tpe, Tree[] args):
- //todo: this needs to be refined.
+ //todo: this needs to be refined. (same code in Analyzer.transform)
Symbol[] tparams =
(Type.isSameAs(
- tpe.type.typeArgs(), Symbol.type(tpe.type.typeParams())))
- ? tpe.type.typeParams() : Symbol.EMPTY_ARRAY;
+ tpe.type.typeArgs(), Symbol.type(tpe.type.unalias().symbol().typeParams())))
+ ? tpe.type.unalias().symbol().typeParams() : Symbol.EMPTY_ARRAY;
checkBounds(tree.pos, tparams, Tree.typeOf(args));
return elimTypeNode(super.transform(tree));