summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorschinz <schinz@epfl.ch>2005-05-19 12:53:44 +0000
committerschinz <schinz@epfl.ch>2005-05-19 12:53:44 +0000
commite67937da147a13d714e5c536be1ba2ac7327ef0e (patch)
tree1f309ed44c898b3acf5e257e74a15e1da6b15f08
parentcb4fd037826cf84e0ffa817d315f6d02cad56954 (diff)
downloadscala-e67937da147a13d714e5c536be1ba2ac7327ef0e.tar.gz
scala-e67937da147a13d714e5c536be1ba2ac7327ef0e.tar.bz2
scala-e67937da147a13d714e5c536be1ba2ac7327ef0e.zip
- bug fix: transform all isInstance/asInstance ...
- bug fix: transform all isInstance/asInstance calls, even those in qualifiers of other such calls
-rw-r--r--sources/scalac/transformer/TypesAsValuesPhase.java3
1 files changed, 2 insertions, 1 deletions
diff --git a/sources/scalac/transformer/TypesAsValuesPhase.java b/sources/scalac/transformer/TypesAsValuesPhase.java
index 9d6bb9c5a9..52b84333fe 100644
--- a/sources/scalac/transformer/TypesAsValuesPhase.java
+++ b/sources/scalac/transformer/TypesAsValuesPhase.java
@@ -1324,12 +1324,13 @@ public class TypesAsValuesPhase extends Phase {
case Apply(TypeApply(Tree fun, Tree[] targs), Tree[] vargs):
Symbol funSym = fun.symbol();
if (funSym == defs.ANY_IS || funSym == defs.ANY_AS) {
+ assert vargs.length == 0;
Symbol erasedSym = (funSym == defs.ANY_AS)
? defs.ANY_AS_ERASED
: defs.ANY_IS_ERASED;
return gen.mkApplyTV(tree.pos,
gen.Select(fun.pos,
- qualifierOf(fun),
+ transform(qualifierOf(fun)),
erasedSym),
targs,
vargs);