summaryrefslogtreecommitdiff
path: root/sources/scalac/transformer/AddInterfaces.java
diff options
context:
space:
mode:
authorpaltherr <paltherr@epfl.ch>2003-09-11 12:03:13 +0000
committerpaltherr <paltherr@epfl.ch>2003-09-11 12:03:13 +0000
commitc4b7a33f58721756974e79f6df392f9f90825cfe (patch)
tree9cd774cdf215bcdb95e0979264c9942fa5f5ab08 /sources/scalac/transformer/AddInterfaces.java
parent3551973214371050c0517d65c1c0371ad37785aa (diff)
downloadscala-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.java14
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 {