From 9454221e70396c0f93c6295026e664a1df2905c9 Mon Sep 17 00:00:00 2001 From: schinz Date: Thu, 27 Feb 2003 11:47:32 +0000 Subject: - bug fix: when duplicating names, also take ca... - bug fix: when duplicating names, also take care of constructor names --- sources/scalac/transformer/AddInterfaces.java | 8 ++++++-- sources/scalac/transformer/ExpandMixins.java | 2 ++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/sources/scalac/transformer/AddInterfaces.java b/sources/scalac/transformer/AddInterfaces.java index d286b13305..33aad65d32 100644 --- a/sources/scalac/transformer/AddInterfaces.java +++ b/sources/scalac/transformer/AddInterfaces.java @@ -94,7 +94,9 @@ class AddInterfaces extends SubstTransformer { StringBuffer buf = new StringBuffer(); uniqueName(sym, buf); Name newName = Name.fromString(buf.toString()); - return (sym.name.isTypeName() ? newName.toTypeName() : newName); + if (sym.name.isTypeName()) return newName.toTypeName(); + else if (sym.name.isConstrName()) return newName.toConstrName(); + else return newName; } protected final static String CLASS_SUFFIX = "$class"; @@ -108,7 +110,9 @@ class AddInterfaces extends SubstTransformer { String interfaceStr = interfaceName.toString(); Name className = Name.fromString(interfaceStr + CLASS_SUFFIX); - return (interfaceName.isTypeName() ? className.toTypeName() : className); + if (interfaceName.isTypeName()) return className.toTypeName(); + else if (interfaceName.isConstrName()) return className.toConstrName(); + else return className; } // Modifiers for which we do not create interfaces. diff --git a/sources/scalac/transformer/ExpandMixins.java b/sources/scalac/transformer/ExpandMixins.java index 7b2804b8b9..55f76e001b 100644 --- a/sources/scalac/transformer/ExpandMixins.java +++ b/sources/scalac/transformer/ExpandMixins.java @@ -127,6 +127,8 @@ public class ExpandMixins extends Transformer { protected Symbol renameSymbol(Map symbolMap, Symbol oldSymbol) { Name newName = freshNameCreator.newName(oldSymbol.name); + if (oldSymbol.name.isTypeName()) newName = newName.toTypeName(); + else if (oldSymbol.name.isConstrName()) newName = newName.toConstrName(); Symbol newSymbol = oldSymbol.cloneSymbol(); newSymbol.name = newName; symbolMap.put(oldSymbol, newSymbol); -- cgit v1.2.3