summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorschinz <schinz@epfl.ch>2003-02-27 11:47:32 +0000
committerschinz <schinz@epfl.ch>2003-02-27 11:47:32 +0000
commit9454221e70396c0f93c6295026e664a1df2905c9 (patch)
treeb8759959f45b3ed249226ffb6fa514efe3fe8022
parentd316462efa7d98ac9cbcae8b5bd3a9b60e0e71c3 (diff)
downloadscala-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
-rw-r--r--sources/scalac/transformer/AddInterfaces.java8
-rw-r--r--sources/scalac/transformer/ExpandMixins.java2
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);