From 974fe6069de1fc2c9e7138a3c976a3cc7092233d Mon Sep 17 00:00:00 2001 From: schinz Date: Wed, 14 May 2003 13:06:47 +0000 Subject: - names of constructor methods are not construc... - names of constructor methods are not constructor names anymore, since that violates several invariants in Symbol.java --- sources/scalac/transformer/AddConstructors.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'sources/scalac') 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("").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))); -- cgit v1.2.3