summaryrefslogtreecommitdiff
path: root/sources/scalac/symtab/Definitions.java
diff options
context:
space:
mode:
Diffstat (limited to 'sources/scalac/symtab/Definitions.java')
-rw-r--r--sources/scalac/symtab/Definitions.java13
1 files changed, 12 insertions, 1 deletions
diff --git a/sources/scalac/symtab/Definitions.java b/sources/scalac/symtab/Definitions.java
index aaac2ee960..1cfc8995f8 100644
--- a/sources/scalac/symtab/Definitions.java
+++ b/sources/scalac/symtab/Definitions.java
@@ -11,6 +11,7 @@ package scalac.symtab;
import ch.epfl.lamp.util.Position;
import scalac.Global;
+import scalac.atree.ATreeTyper;
import scalac.symtab.classfile.PackageParser;
import scalac.util.Debug;
import scalac.util.Name;
@@ -19,6 +20,12 @@ import scalac.util.Names;
public class Definitions {
//########################################################################
+ // Public Fields - Root module
+
+ /** The attributed tree typer */
+ public final ATreeTyper atyper;
+
+ //########################################################################
// Public Fields & Methods - Root module
/** The root module */
@@ -461,6 +468,8 @@ public class Definitions {
global.definitions = this;
// force initialization of class Type
Type.localThisType.symbol();
+ // create attributed tree typer
+ atyper = new ATreeTyper(global, this);
// the root module
ROOT = TermSymbol.newJavaPackageModule(
@@ -520,7 +529,6 @@ public class Definitions {
initAlias(ANYREF_CLASS, JAVA_OBJECT_TYPE());
initClass(ALLREF_CLASS, new Type[]{ANYREF_TYPE()});
initClass(ALL_CLASS, new Type[]{ANY_TYPE()});
- initAlias(STRING_CLASS, JAVA_STRING_TYPE());
// create type symbols
UNIT_TYPE = newTypeSymbol(Names.Unit , UNIT_CLASS.type ());
@@ -535,6 +543,9 @@ public class Definitions {
ARRAY_TYPE = newTypeSymbol(Names.Array ,
Type.appliedType(ARRAY_CLASS.type(), new Type[]{ANYREF_TYPE()}));
+ // initialize generated classes and aliases
+ initAlias(STRING_CLASS, JAVA_STRING_TYPE());
+
// add members to scala.Any
ANY_EQ = newTerm(ANY_CLASS, Names.eq , 0);
ANY_EQEQ = newTerm(ANY_CLASS, Names.EQEQ , Modifiers.FINAL);