diff options
author | paltherr <paltherr@epfl.ch> | 2003-09-11 12:03:13 +0000 |
---|---|---|
committer | paltherr <paltherr@epfl.ch> | 2003-09-11 12:03:13 +0000 |
commit | c4b7a33f58721756974e79f6df392f9f90825cfe (patch) | |
tree | 9cd774cdf215bcdb95e0979264c9942fa5f5ab08 /sources/scalac/transformer/AddInterfaces.java | |
parent | 3551973214371050c0517d65c1c0371ad37785aa (diff) | |
download | scala-c4b7a33f58721756974e79f6df392f9f90825cfe.tar.gz scala-c4b7a33f58721756974e79f6df392f9f90825cfe.tar.bz2 scala-c4b7a33f58721756974e79f6df392f9f90825cfe.zip |
- Reviewed and cleaned TreeGen.
- Fixed some errors.
- Removed "dangerous" methods in TreeGen.
- Renamed some methods in TreeGen.
Diffstat (limited to 'sources/scalac/transformer/AddInterfaces.java')
-rw-r--r-- | sources/scalac/transformer/AddInterfaces.java | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/sources/scalac/transformer/AddInterfaces.java b/sources/scalac/transformer/AddInterfaces.java index 287cd7e6b4..15747cce48 100644 --- a/sources/scalac/transformer/AddInterfaces.java +++ b/sources/scalac/transformer/AddInterfaces.java @@ -183,7 +183,7 @@ class AddInterfaces extends Transformer { Map memMap = phase.getClassMemberMap(realClsSym); assert memMap != null : Debug.show(clsSym) + " " + Debug.show(realClsSym); - return gen.Select(qualifier, (Symbol)memMap.get(sym)); + return gen.Select(tree.pos, qualifier, (Symbol)memMap.get(sym)); } else return super.transform(tree); } else { @@ -197,13 +197,7 @@ class AddInterfaces extends Transformer { Type qualifierType = qualifier.type().bound(); if (phase.needInterface(qualifierType.symbol())) { Type castType = qualifierType.baseType(owner); - qualifier = - gen.Apply( - gen.TypeApply( - gen.Select(qualifier, defs.AS), - new Tree[] { - gen.mkType(tree.pos, castType)}), - Tree.EMPTY_ARRAY); + qualifier = gen.mkAsInstanceOf(qualifier, castType); } } return copy.Select(tree, sym, qualifier); @@ -223,13 +217,13 @@ class AddInterfaces extends Transformer { : Debug.show(clsSym) + " " + Debug.show(realClsSym); assert memMap.containsKey(sym) : Debug.show(sym) + " not in " + memMap; - return gen.Ident((Symbol)memMap.get(sym)); + return gen.Ident(tree.pos, (Symbol)memMap.get(sym)); } else return super.transform(tree); } else if (typeSubst != null) { Symbol newSym = (Symbol)typeSubst.lookupSymbol(tree.symbol()); if (newSym != null) - return gen.Ident(newSym); + return gen.Ident(tree.pos, newSym); else return super.transform(tree); } else { |