summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpaltherr <paltherr@epfl.ch>2004-03-06 15:09:57 +0000
committerpaltherr <paltherr@epfl.ch>2004-03-06 15:09:57 +0000
commitdc1e6dd94958985efcca02d39e77be0ecd3f86e1 (patch)
treea0cc4a689ae303a89951e2477bcdc9602caeedde
parentb67498347516d936e7327c56f9e00fa759d12646 (diff)
downloadscala-dc1e6dd94958985efcca02d39e77be0ecd3f86e1.tar.gz
scala-dc1e6dd94958985efcca02d39e77be0ecd3f86e1.tar.bz2
scala-dc1e6dd94958985efcca02d39e77be0ecd3f86e1.zip
- Added methods objectType and stringType in Ja...
- Added methods objectType and stringType in JavaTypeFactory
-rw-r--r--sources/scalac/symtab/classfile/CLRClassParser.java4
-rw-r--r--sources/scalac/symtab/classfile/JavaTypeCreator.java12
-rw-r--r--sources/scalac/symtab/classfile/JavaTypeFactory.java2
3 files changed, 15 insertions, 3 deletions
diff --git a/sources/scalac/symtab/classfile/CLRClassParser.java b/sources/scalac/symtab/classfile/CLRClassParser.java
index fb472ad9fd..c56889eae3 100644
--- a/sources/scalac/symtab/classfile/CLRClassParser.java
+++ b/sources/scalac/symtab/classfile/CLRClassParser.java
@@ -286,9 +286,9 @@ public class CLRClassParser extends ClassParser {
protected scalac.symtab.Type getCLRType(Type type) {
if (type == importer.OBJECT)
- return global.definitions.OBJECT_TYPE();
+ return make.objectType();
if (type == importer.STRING)
- return global.definitions.STRING_TYPE();
+ return make.stringType();
if (type == importer.VOID)
return make.voidType();
if (type == importer.BOOLEAN)
diff --git a/sources/scalac/symtab/classfile/JavaTypeCreator.java b/sources/scalac/symtab/classfile/JavaTypeCreator.java
index 1c0036ad1c..d361d4cd12 100644
--- a/sources/scalac/symtab/classfile/JavaTypeCreator.java
+++ b/sources/scalac/symtab/classfile/JavaTypeCreator.java
@@ -31,6 +31,7 @@ public class JavaTypeCreator implements JavaTypeFactory {
protected final Type BOOLEAN_TYPE;
protected final Type UNIT_TYPE;
protected final Type OBJECT_TYPE;
+ protected final Type STRING_TYPE;
protected final Type ARRAY_TYPE;
public JavaTypeCreator(Definitions definitions) {
@@ -46,6 +47,7 @@ public class JavaTypeCreator implements JavaTypeFactory {
this.BOOLEAN_TYPE = definitions.BOOLEAN_CLASS.typeConstructor();
this.UNIT_TYPE = definitions.UNIT_CLASS.typeConstructor();
this.OBJECT_TYPE = definitions.OBJECT_CLASS.typeConstructor();
+ this.STRING_TYPE = definitions.STRING_CLASS.typeConstructor();
this.ARRAY_TYPE = definitions.ARRAY_CLASS.typeConstructor();
}
@@ -89,6 +91,14 @@ public class JavaTypeCreator implements JavaTypeFactory {
return UNIT_TYPE;
}
+ public Type objectType() {
+ return OBJECT_TYPE;
+ }
+
+ public Type stringType() {
+ return STRING_TYPE;
+ }
+
public Type classType(Name classname) {
return classType(definitions.getClass(classname));
}
@@ -163,7 +173,7 @@ public class JavaTypeCreator implements JavaTypeFactory {
else if (value instanceof Double)
return doubleType();
else if (value instanceof String)
- return definitions.STRING_CLASS.typeConstructor();
+ return stringType();
else if (value instanceof Boolean)
return booleanType();
else
diff --git a/sources/scalac/symtab/classfile/JavaTypeFactory.java b/sources/scalac/symtab/classfile/JavaTypeFactory.java
index be98e6feff..5b89ebf231 100644
--- a/sources/scalac/symtab/classfile/JavaTypeFactory.java
+++ b/sources/scalac/symtab/classfile/JavaTypeFactory.java
@@ -23,6 +23,8 @@ public interface JavaTypeFactory {
Type doubleType();
Type booleanType();
Type voidType();
+ Type objectType();
+ Type stringType();
Type classType(Name classname);
Type classType(Symbol clasz);
Type arrayType(Type elemtpe);