summaryrefslogtreecommitdiff
path: root/sources/scalac/transformer/AddInterfaces.java
diff options
context:
space:
mode:
Diffstat (limited to 'sources/scalac/transformer/AddInterfaces.java')
-rw-r--r--sources/scalac/transformer/AddInterfaces.java24
1 files changed, 10 insertions, 14 deletions
diff --git a/sources/scalac/transformer/AddInterfaces.java b/sources/scalac/transformer/AddInterfaces.java
index 5de93523ca..4c9cfd010f 100644
--- a/sources/scalac/transformer/AddInterfaces.java
+++ b/sources/scalac/transformer/AddInterfaces.java
@@ -311,14 +311,12 @@ class AddInterfaces extends SubstTransformer {
int ifaceMods = classDef.mods | INTERFACE_MODS;
ClassDef interfaceDef = (ClassDef)make.ClassDef(classDef.pos,
- ifaceMods,
- classDef.name,
+ ifaceSym,
classDef.tparams,
EMPTY_PARAMS,
classDef.tpe,
ifaceTmpl);
interfaceDef.setType(Type.NoType);
- interfaceDef.setSymbol(ifaceSym);
createdIFaces.add(ifaceSym);
@@ -360,13 +358,13 @@ class AddInterfaces extends SubstTransformer {
return copy.Apply(tree, fixClassSymbols(fun), args);
case TypeApply(Tree fun, Tree[] args):
return copy.TypeApply(tree, fixClassSymbols(fun), args);
- case Select(Tree qualifier, Name selector): {
+ case Select(Tree qualifier, _): {
Symbol classSym = getClassSym(tree.symbol());
- return copy.Select(tree, qualifier, classSym.name).setSymbol(classSym);
+ return copy.Select(tree, classSym, qualifier);
}
- case Ident(Name name): {
+ case Ident(_): {
Symbol classSym = getClassSym(tree.symbol());
- return copy.Ident(tree, classSym.name).setSymbol(classSym);
+ return copy.Ident(tree, classSym);
}
default:
throw global.fail("unexpected tree",tree);
@@ -403,8 +401,8 @@ class AddInterfaces extends SubstTransformer {
}
switch (tree) {
- case ClassDef(int mods,
- Name name,
+ case ClassDef(_,
+ _,
TypeDef[] tparams,
ValDef[][] vparams,
Tree tpe,
@@ -498,13 +496,11 @@ class AddInterfaces extends SubstTransformer {
Tree newTree =
copy.ClassDef(classDef,
- classSym.flags,
- classSym.name.toTypeName(),
+ classSym,
transform(tparams),
transform(vparams),
transform(tpe),
- newImpl)
- .setSymbol(classSym);
+ newImpl);
thisTypeSubst = thisTypeSubst.outer;
popSymbolSubst();
@@ -555,7 +551,7 @@ class AddInterfaces extends SubstTransformer {
return super.transform(tree);
}
- case Select(Super(_), Name selector): {
+ case Select(Super(_), _): {
// Use class member symbol for "super" references.
Symbol sym = tree.symbol();
if (needInterface(sym.classOwner())) {