diff options
author | paltherr <paltherr@epfl.ch> | 2003-02-21 12:12:36 +0000 |
---|---|---|
committer | paltherr <paltherr@epfl.ch> | 2003-02-21 12:12:36 +0000 |
commit | 5d47aa2f775f0648c9f36610de918613af12a8d3 (patch) | |
tree | 3d4a1d264c207e65f39eef369536f7acc50c4734 /sources/scalac | |
parent | 0b68bd30b1b5101aaf3b913ab00c0af33104bf8e (diff) | |
download | scala-5d47aa2f775f0648c9f36610de918613af12a8d3.tar.gz scala-5d47aa2f775f0648c9f36610de918613af12a8d3.tar.bz2 scala-5d47aa2f775f0648c9f36610de918613af12a8d3.zip |
- Added flag -nopredefs
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) |