From 9e04e5e0a9c142dc4cc36ba8b023c3f88ed1ecdd Mon Sep 17 00:00:00 2001 From: paltherr Date: Fri, 2 Apr 2004 13:21:56 +0000 Subject: - Moved instance of FreshNameCreator from Globa... - Moved instance of FreshNameCreator from Global to Unit --- sources/scalac/Global.java | 5 ----- sources/scalac/Unit.java | 6 ++++++ sources/scalac/ast/TreeGen.java | 2 +- sources/scalac/transformer/LambdaLift.java | 2 +- sources/scalac/transformer/matching/PatternTool.java | 2 +- 5 files changed, 9 insertions(+), 8 deletions(-) (limited to 'sources/scalac') 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; } -- cgit v1.2.3