summaryrefslogtreecommitdiff
path: root/sources/scalac/transformer/LambdaLift.java
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2003-07-31 09:57:59 +0000
committerMartin Odersky <odersky@gmail.com>2003-07-31 09:57:59 +0000
commit03449ed20a3cca9e8d974c7efeff6b4e01ecb66d (patch)
treedb1153ac4bffac098d6d6d053f727992f1a2e4da /sources/scalac/transformer/LambdaLift.java
parentbe21ca1267f48e8fd14d5e32f3c7a4d814005eef (diff)
downloadscala-03449ed20a3cca9e8d974c7efeff6b4e01ecb66d.tar.gz
scala-03449ed20a3cca9e8d974c7efeff6b4e01ecb66d.tar.bz2
scala-03449ed20a3cca9e8d974c7efeff6b4e01ecb66d.zip
*** empty log message ***
Diffstat (limited to 'sources/scalac/transformer/LambdaLift.java')
-rw-r--r--sources/scalac/transformer/LambdaLift.java16
1 files changed, 8 insertions, 8 deletions
diff --git a/sources/scalac/transformer/LambdaLift.java b/sources/scalac/transformer/LambdaLift.java
index acfa0f9c49..099b26a46d 100644
--- a/sources/scalac/transformer/LambdaLift.java
+++ b/sources/scalac/transformer/LambdaLift.java
@@ -58,7 +58,7 @@ public class LambdaLift extends OwnerTransformer
* otherwise current symbol itself
*/
static Symbol asFunction(Symbol sym) {
- return sym.kind == CLASS ? sym.constructor() : sym;
+ return sym.kind == CLASS ? sym.primaryConstructor() : sym;
}
/** `asFunction' applied to the next enclosing function or class owner.
@@ -174,7 +174,7 @@ public class LambdaLift extends OwnerTransformer
Name newname = global.freshNameCreator.newName(sym.name);
sym.name = newname;
if (sym.kind == CLASS)
- sym.constructor().name = newname.toConstrName();
+ sym.primaryConstructor().name = newname.toTypeName();
}
private Type.Map traverseTypeMap = new Type.Map() {
@@ -327,9 +327,9 @@ public class LambdaLift extends OwnerTransformer
((ClassDef) tree).mods &= ~LIFTED;
Tree tree1 = copy.ClassDef(
tree, sym,
- addTypeParams(transform(tparams, sym), newtparams(sym.constructor())),
+ addTypeParams(transform(tparams, sym), newtparams(sym.primaryConstructor())),
new ValDef[][]{
- addParams(transform(vparams, sym)[0], newparams(sym.constructor()))},
+ addParams(transform(vparams, sym)[0], newparams(sym.primaryConstructor()))},
transform(tpe, sym),
transform(impl, sym));
liftedDefs.append(tree1);
@@ -488,7 +488,7 @@ public class LambdaLift extends OwnerTransformer
((ClassDef) tree).mods |= LIFTED;
Symbol sym = tree.symbol();
assert sym.isLocal() : sym;
- liftSymbol(sym, ftvsParams(sym.constructor()), fvsParams(sym.constructor()));
+ liftSymbol(sym, ftvsParams(sym.primaryConstructor()), fvsParams(sym.primaryConstructor()));
break;
case DefDef(_, _, _, _, _, _):
@@ -502,7 +502,7 @@ public class LambdaLift extends OwnerTransformer
void liftSymbol(Symbol sym, Symbol[] newtparams, Symbol[] newparams) {
Symbol enclClass = sym.owner().enclClass();
if (!sym.isPrimaryConstructor()) sym.setOwner(enclClass);
- enclClass.members().enter(sym);
+ if (!sym.isConstructor()) enclClass.members().enter(sym);
if (sym.isMethod()) {
if (newtparams.length != 0 || newparams.length != 0) {
sym.updateInfo(
@@ -513,7 +513,7 @@ public class LambdaLift extends OwnerTransformer
global.log(sym + " has now type " + sym.typeAt(descr.nextPhase));
}
} else if (sym.kind == CLASS) {
- liftSymbol(sym.constructor(), newtparams, newparams);
+ liftSymbol(sym.primaryConstructor(), newtparams, newparams);
} else {
throw new ApplicationError();
}
@@ -609,7 +609,7 @@ public class LambdaLift extends OwnerTransformer
gen.TypeApply(
gen.mkRef(
pos,
- global.definitions.getClass(Names.scala_COLONCOLON).constructor()),
+ global.definitions.getClass(Names.scala_COLONCOLON).primaryConstructor()),
new Tree[]{gen.mkType(pos, elemtpe)}),
new Tree[]{hd, tl}));
}