summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sources/scalac/CompilerCommand.java5
-rw-r--r--sources/scalac/Global.java2
-rw-r--r--sources/scalac/typechecker/AnalyzerPhase.java8
3 files changed, 13 insertions, 2 deletions
diff --git a/sources/scalac/CompilerCommand.java b/sources/scalac/CompilerCommand.java
index 743187e81f..903660490b 100644
--- a/sources/scalac/CompilerCommand.java
+++ b/sources/scalac/CompilerCommand.java
@@ -47,6 +47,7 @@ public class CompilerCommand extends CommandParser {
public final StringOptionParser outpath;
public final ChoiceOptionParser target;
public final BooleanOptionParser noimports;
+ public final BooleanOptionParser nopredefs;
public final StringOptionParser jaco;
public final PhaseSetOptionParser skip;
public final PhaseSetOptionParser check;
@@ -132,6 +133,10 @@ public class CompilerCommand extends CommandParser {
"noimports", "Compile without any implicit imports",
false),
+ this.nopredefs = new BooleanOptionParser(this,
+ "nopredefs", "Compile without any implicit predefined values",
+ false),
+
this.jaco = new StringOptionParser(this,
"jaco", "Pass argument to jaco backend (debugging option)",
"argument", null),
diff --git a/sources/scalac/Global.java b/sources/scalac/Global.java
index e4fea8429d..e7ea1e9d27 100644
--- a/sources/scalac/Global.java
+++ b/sources/scalac/Global.java
@@ -30,6 +30,7 @@ public class Global {
/** global options
*/
public final boolean noimports;
+ public final boolean nopredefs;
//public final boolean optimize;
public final boolean debug;
public final boolean uniqid;
@@ -136,6 +137,7 @@ public class Global {
this.reporter = args.reporter();
this.start(); // timestamp to compute the total time
this.noimports = args.noimports.value;
+ this.nopredefs = args.nopredefs.value;
//this.optimize = args.optimize.optimize;
this.debug = args.debug.value;
this.uniqid = args.uniqid.value;
diff --git a/sources/scalac/typechecker/AnalyzerPhase.java b/sources/scalac/typechecker/AnalyzerPhase.java
index 9542da51e3..1ad29b872a 100644
--- a/sources/scalac/typechecker/AnalyzerPhase.java
+++ b/sources/scalac/typechecker/AnalyzerPhase.java
@@ -57,10 +57,14 @@ public class AnalyzerPhase extends PhaseDescriptor {
.setType(definitions.UNIT_TYPE);
startContext.imports = new ImportList(
importscala, new Scope(), startContext.imports);
+ }
+
+ if (!global.noimports && !global.nopredefs) {
+ TreeFactory make = global.make;
- scala = make.Ident(Position.NOPOS, Names.scala)
+ Tree scala = make.Ident(Position.NOPOS, Names.scala)
.setSymbol(definitions.SCALA)
- .setType(scala.type);
+ .setType(Type.singleType(definitions.ROOT_TYPE, definitions.SCALA));
Symbol scalaPredefSym = definitions.getModule(Names.scala_Predef);
Tree scalaPredef = make.Select(Position.NOPOS, scala, Names.Predef)
.setSymbol(scalaPredefSym)