From 25ebed6d598d62394212cb331d111e203c9310ec Mon Sep 17 00:00:00 2001 From: paltherr Date: Sun, 21 Mar 2004 18:26:31 +0000 Subject: - Moved creation of root class loader into Global - Changed Symbol.newRootClass to take a Global as argument --- sources/scalac/Global.java | 6 ++++++ sources/scalac/symtab/Definitions.java | 3 +-- sources/scalac/symtab/Symbol.java | 5 ++--- 3 files changed, 9 insertions(+), 5 deletions(-) (limited to 'sources') diff --git a/sources/scalac/Global.java b/sources/scalac/Global.java index 1807f45b2c..30d385c016 100644 --- a/sources/scalac/Global.java +++ b/sources/scalac/Global.java @@ -36,6 +36,7 @@ import scalac.backend.Primitives; import scalac.symtab.*; // !!! >>> Interpreter stuff import scalac.symtab.Definitions; +import scalac.symtab.classfile.PackageParser; import scalac.typechecker.AnalyzerPhase; import scalac.typechecker.Infer; import scalac.util.*; @@ -321,6 +322,11 @@ public abstract class Global { return getSourceFile(file); } + /** Returns the root symbol loader. */ + public SymbolLoader getRootLoader() { + return new PackageParser(this); + } + /** the top-level compilation process */ public void compile(String[] files, boolean console) { diff --git a/sources/scalac/symtab/Definitions.java b/sources/scalac/symtab/Definitions.java index 2e1400529c..3d12a1140f 100644 --- a/sources/scalac/symtab/Definitions.java +++ b/sources/scalac/symtab/Definitions.java @@ -12,7 +12,6 @@ import scala.tools.util.Position; import scalac.Global; import scalac.atree.ATreeTyper; -import scalac.symtab.classfile.PackageParser; import scalac.util.Debug; import scalac.util.Name; import scalac.util.Names; @@ -585,7 +584,7 @@ public class Definitions { atyper = new ATreeTyper(global, this); // the root class - ROOT_CLASS = ClassSymbol.newRootClass(new PackageParser(global)); + ROOT_CLASS = ClassSymbol.newRootClass(global); // the java, java.lang and scala packages JAVA = getModule("java"); diff --git a/sources/scalac/symtab/Symbol.java b/sources/scalac/symtab/Symbol.java index 38967af3ae..1bdbf21bab 100644 --- a/sources/scalac/symtab/Symbol.java +++ b/sources/scalac/symtab/Symbol.java @@ -21,7 +21,6 @@ import scalac.util.Name; import scalac.util.Names; import scalac.util.NameTransformer; import scalac.util.Debug; -import scalac.symtab.classfile.*; public abstract class Symbol implements Modifiers, Kinds { @@ -1802,14 +1801,14 @@ public final class ClassSymbol extends TypeSymbol { } /** Creates the root class. */ - public static Symbol newRootClass(PackageParser parser) { + public static Symbol newRootClass(Global global) { int pos = Position.NOPOS; Name name = Names.ROOT.toTypeName(); Symbol owner = Symbol.NONE; int flags = JAVA | PACKAGE | FINAL | SYNTHETIC; int attrs = IS_ROOT; Symbol clasz = new ClassSymbol(pos, name, owner, flags, attrs, NONE); - clasz.setInfo(parser); + clasz.setInfo(global.getRootLoader()); clasz.primaryConstructor().setInfo( Type.MethodType(Symbol.EMPTY_ARRAY, clasz.typeConstructor())); // !!! Type.MethodType(Symbol.EMPTY_ARRAY, clasz.thisType())); -- cgit v1.2.3