diff options
author | schinz <schinz@epfl.ch> | 2003-02-27 11:47:32 +0000 |
---|---|---|
committer | schinz <schinz@epfl.ch> | 2003-02-27 11:47:32 +0000 |
commit | 9454221e70396c0f93c6295026e664a1df2905c9 (patch) | |
tree | b8759959f45b3ed249226ffb6fa514efe3fe8022 /sources | |
parent | d316462efa7d98ac9cbcae8b5bd3a9b60e0e71c3 (diff) | |
download | scala-9454221e70396c0f93c6295026e664a1df2905c9.tar.gz scala-9454221e70396c0f93c6295026e664a1df2905c9.tar.bz2 scala-9454221e70396c0f93c6295026e664a1df2905c9.zip |
- bug fix: when duplicating names, also take ca...
- bug fix: when duplicating names, also take care of constructor names
Diffstat (limited to 'sources')
-rw-r--r-- | sources/scalac/transformer/AddInterfaces.java | 8 | ||||
-rw-r--r-- | 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); |