diff options
author | paltherr <paltherr@epfl.ch> | 2003-07-15 15:04:51 +0000 |
---|---|---|
committer | paltherr <paltherr@epfl.ch> | 2003-07-15 15:04:51 +0000 |
commit | 40eddc459e87ff08d484be9b981fb93c903be265 (patch) | |
tree | 0c4ec1dbfb26bb2593c2434213448427a1734de8 | |
parent | da378d9a6d19cc8f5ac3cdb08ae791d07cc524fd (diff) | |
download | scala-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(...)"
-rw-r--r-- | sources/scalac/typechecker/Analyzer.java | 2 | ||||
-rw-r--r-- | sources/scalac/typechecker/RefCheck.java | 6 |
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)); |