diff options
Diffstat (limited to 'sources/scalac')
-rw-r--r-- | sources/scalac/CompilerCommand.java | 5 | ||||
-rw-r--r-- | sources/scalac/Global.java | 2 | ||||
-rw-r--r-- | sources/scalac/typechecker/AnalyzerPhase.java | 8 |
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) |