summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sources/scalac/symtab/classfile/CLRPackageParser.java15
-rw-r--r--sources/scalac/symtab/classfile/PackageParser.java8
2 files changed, 9 insertions, 14 deletions
diff --git a/sources/scalac/symtab/classfile/CLRPackageParser.java b/sources/scalac/symtab/classfile/CLRPackageParser.java
index f6578a4aff..2af865101c 100644
--- a/sources/scalac/symtab/classfile/CLRPackageParser.java
+++ b/sources/scalac/symtab/classfile/CLRPackageParser.java
@@ -57,7 +57,7 @@ public class CLRPackageParser extends SymbolLoader {
}
public static CLRPackageParser instance;
- public static CLRPackageParser create(Global global) {
+ public static CLRPackageParser instance(Global global) {
if (instance != null)
return instance;
instance = new CLRPackageParser(global);
@@ -225,19 +225,18 @@ public class CLRPackageParser extends SymbolLoader {
// main functionality
protected String doComplete(Symbol p) {
- // for future use
- return "!!!";
+ return "!!! CLRPackageParser";
}
/**
*/
- public void importCLRTypes(Symbol p, Scope members, PackageParser pp) {
+ public void importCLRTypes(Symbol p, Scope members) {
if (p.isRoot()) {
for (int i = 0; i < types.length; i++) {
int j = types[i].FullName.indexOf('.');
if (j < 0) continue;
String namespace = types[i].FullName.substring(0, j);
- importCLRNamespace(namespace, p, members, pp);
+ importCLRNamespace(namespace, p, members);
}
return;
}
@@ -262,7 +261,7 @@ public class CLRPackageParser extends SymbolLoader {
Symbol clazz = p.newLoadedClass(JAVA, n.toTypeName(), completer, members);
map(clazz, types[i]);
} else {
- importCLRNamespace(name, p, members, pp);
+ importCLRNamespace(name, p, members);
}
}
}
@@ -270,12 +269,12 @@ public class CLRPackageParser extends SymbolLoader {
/** Imports a CLR namespace as a scala package.
*/
protected void importCLRNamespace(String namespace, Symbol p,
- Scope members, PackageParser pp)
+ Scope members)
{
Name n = Name.fromString(namespace);
if (members.lookup(n) == Symbol.NONE) {
//System.out.println("importing namespace " + namespace);
- p.newLoadedPackage(n, pp, members);
+ p.newLoadedPackage(n, this, members);
}
}
diff --git a/sources/scalac/symtab/classfile/PackageParser.java b/sources/scalac/symtab/classfile/PackageParser.java
index 374c977c38..c28a11f443 100644
--- a/sources/scalac/symtab/classfile/PackageParser.java
+++ b/sources/scalac/symtab/classfile/PackageParser.java
@@ -34,17 +34,12 @@ public class PackageParser extends SymbolLoader {
//########################################################################
// Private Fields
- /** The CLR package parser */
- private final CLRPackageParser importer;
-
//########################################################################
// Public Constructors
/** Initializes this instance. */
public PackageParser(Global global) {
super(global);
- this.importer = (global.target == global.TARGET_MSIL)
- ? CLRPackageParser.create(global) : null;
}
//########################################################################
@@ -126,7 +121,8 @@ public class PackageParser extends SymbolLoader {
}
// collect and create CLR members
- if (importer != null) importer.importCLRTypes(peckage, members, this);
+ if (global.target == global.TARGET_MSIL)
+ CLRPackageParser.instance(global).importCLRTypes(peckage, members);
// initialize package
peckage.setInfo(Type.compoundType(Type.EMPTY_ARRAY, members, peckage));