summaryrefslogtreecommitdiff
path: root/sources/scalac
diff options
context:
space:
mode:
authorpaltherr <paltherr@epfl.ch>2004-04-02 13:21:56 +0000
committerpaltherr <paltherr@epfl.ch>2004-04-02 13:21:56 +0000
commit9e04e5e0a9c142dc4cc36ba8b023c3f88ed1ecdd (patch)
treedf17e486a70b12ca389091b648ce319a0057764c /sources/scalac
parentdc77b955f83268878402dbbe7d64396b0f7763bd (diff)
downloadscala-9e04e5e0a9c142dc4cc36ba8b023c3f88ed1ecdd.tar.gz
scala-9e04e5e0a9c142dc4cc36ba8b023c3f88ed1ecdd.tar.bz2
scala-9e04e5e0a9c142dc4cc36ba8b023c3f88ed1ecdd.zip
- Moved instance of FreshNameCreator from Globa...
- Moved instance of FreshNameCreator from Global to Unit
Diffstat (limited to 'sources/scalac')
-rw-r--r--sources/scalac/Global.java5
-rw-r--r--sources/scalac/Unit.java6
-rw-r--r--sources/scalac/ast/TreeGen.java2
-rw-r--r--sources/scalac/transformer/LambdaLift.java2
-rw-r--r--sources/scalac/transformer/matching/PatternTool.java2
5 files changed, 9 insertions, 8 deletions
diff --git a/sources/scalac/Global.java b/sources/scalac/Global.java
index a45a1aeac8..156a475fbc 100644
--- a/sources/scalac/Global.java
+++ b/sources/scalac/Global.java
@@ -101,10 +101,6 @@ public abstract class Global {
*/
public final TreeFactory make;
- /** the fresh name creator
- */
- public final FreshNameCreator freshNameCreator;
-
/** the tree generator
*/
public final TreeGen treeGen;
@@ -264,7 +260,6 @@ public abstract class Global {
error("unknown printer kind: " + args.printer.value);
this.treePrinter = newTextTreePrinter(writer);
}
- this.freshNameCreator = new FreshNameCreator();
this.make = new DefaultTreeFactory();
this.PHASE = args.phases;
// if (!optimize) PHASE.remove(args.phases.OPTIMIZE);
diff --git a/sources/scalac/Unit.java b/sources/scalac/Unit.java
index 5dc7f85089..fd3c77a086 100644
--- a/sources/scalac/Unit.java
+++ b/sources/scalac/Unit.java
@@ -13,6 +13,7 @@ import scala.tools.util.SourceFile;
import scalac.ast.Tree;
import scalac.atree.ARepository;
+import scalac.util.FreshNameCreator;
import java.util.HashMap;
@@ -39,6 +40,10 @@ public class Unit {
*/
public final boolean mixinOnly;
+ /** the fresh name creator
+ */
+ public final FreshNameCreator fresh;
+
/** the content of the compilation unit in tree form
*/
public Tree[] body;
@@ -50,6 +55,7 @@ public class Unit {
this.source = source;
this.console = console;
this.mixinOnly = mixinOnly;
+ this.fresh = new FreshNameCreator();
}
public Unit(Global global, SourceFile source, boolean console) {
diff --git a/sources/scalac/ast/TreeGen.java b/sources/scalac/ast/TreeGen.java
index 33774c5fe3..fced52680f 100644
--- a/sources/scalac/ast/TreeGen.java
+++ b/sources/scalac/ast/TreeGen.java
@@ -1050,7 +1050,7 @@ public class TreeGen implements Kinds, Modifiers, TypeTags {
private Symbol newLocal(Symbol owner, int pos, int flags, String prefix,
Type type)
{
- Name name = global.freshNameCreator.newName(prefix);
+ Name name = Names.LOCAL(owner); // !!! create unique names ?
flags |= Modifiers.SYNTHETIC;
Symbol local = owner.newVariable(pos, flags, name);
global.nextPhase();
diff --git a/sources/scalac/transformer/LambdaLift.java b/sources/scalac/transformer/LambdaLift.java
index 352ec48d62..ea4080a0ef 100644
--- a/sources/scalac/transformer/LambdaLift.java
+++ b/sources/scalac/transformer/LambdaLift.java
@@ -196,7 +196,7 @@ public class LambdaLift extends OwnerTransformer
* If symbol is a class assign same name to its primary constructor.
*/
private void makeUnique(Symbol sym) {
- sym.name = global.freshNameCreator.newName(sym.name);
+ sym.name = unit.fresh.newName(sym.name);
}
private Type.Map traverseTypeMap = new Type.Map() {
diff --git a/sources/scalac/transformer/matching/PatternTool.java b/sources/scalac/transformer/matching/PatternTool.java
index c1e3c73483..91772a0332 100644
--- a/sources/scalac/transformer/matching/PatternTool.java
+++ b/sources/scalac/transformer/matching/PatternTool.java
@@ -40,7 +40,7 @@ abstract class PatternTool {
// constructor
public PatternTool( Unit unit ) {
this.unit = unit;
- this.fresh = unit.global.freshNameCreator;
+ this.fresh = unit.fresh;
this.gen = unit.global.treeGen;
this.defs = unit.global.definitions;
}