summaryrefslogtreecommitdiff
path: root/sources/scalac
diff options
context:
space:
mode:
authorschinz <schinz@epfl.ch>2003-05-14 13:06:47 +0000
committerschinz <schinz@epfl.ch>2003-05-14 13:06:47 +0000
commit974fe6069de1fc2c9e7138a3c976a3cc7092233d (patch)
tree5b38a0a0fd025b24638aec6d381a9ca5c2b5685d /sources/scalac
parent74be7e83e5b49f9f7906d6b17966a544511d8322 (diff)
downloadscala-974fe6069de1fc2c9e7138a3c976a3cc7092233d.tar.gz
scala-974fe6069de1fc2c9e7138a3c976a3cc7092233d.tar.bz2
scala-974fe6069de1fc2c9e7138a3c976a3cc7092233d.zip
- names of constructor methods are not construc...
- names of constructor methods are not constructor names anymore, since that violates several invariants in Symbol.java
Diffstat (limited to 'sources/scalac')
-rw-r--r--sources/scalac/transformer/AddConstructors.java9
1 files changed, 5 insertions, 4 deletions
diff --git a/sources/scalac/transformer/AddConstructors.java b/sources/scalac/transformer/AddConstructors.java
index 5725af9b02..995752fb20 100644
--- a/sources/scalac/transformer/AddConstructors.java
+++ b/sources/scalac/transformer/AddConstructors.java
@@ -10,6 +10,7 @@ package scalac.transformer;
import scalac.Global;
import scalac.util.Name;
+import scalac.util.Names;
import scalac.ast.Tree;
import Tree.*;
@@ -47,7 +48,7 @@ import scalac.util.Debug;
*/
public class AddConstructors extends Transformer {
- public final static Name CTOR_N = Name.fromString("<init>").toConstrName();
+ public final static Name CTOR_N = Names.CONSTRUCTOR;
// True iff we generate code for INT backend.
protected final boolean forINT;
@@ -80,7 +81,7 @@ public class AddConstructors extends Transformer {
Symbol constr = (Symbol) constructors.get(classConstr);
if (constr == null) {
- assert !owner.isInterface();
+ assert !owner.isInterface() : Debug.show(owner) + " is interface";
int flags = forJVM
? classConstr.flags & (Modifiers.PRIVATE | Modifiers.PROTECTED)
: classConstr.flags;
@@ -110,7 +111,7 @@ public class AddConstructors extends Transformer {
assert treeSym.name.isTypeName();
if (treeSym.isInterface())
- return tree;
+ return super.transform(tree);
Symbol[] paramSyms = new Symbol[vparams[0].length];
for (int i = 0; i < paramSyms.length; i++)
@@ -209,7 +210,7 @@ public class AddConstructors extends Transformer {
Tree base = baseClasses[0];
switch (base) {
case Apply(Tree fun, Tree[] args):
- return gen.New(copy.Apply
+ return gen.New(copy.Apply
(base,
gen.Ident(base.pos, getConstructor(fun.symbol())),
transform(args)));