diff options
author | jvican <jorgevc@fastmail.es> | 2016-06-27 23:20:03 +0200 |
---|---|---|
committer | jvican <jorgevc@fastmail.es> | 2016-06-29 00:08:56 +0200 |
commit | 66847062f37a4a5088e9d3fd2228d2679e334d61 (patch) | |
tree | 34ae75ac7cece5f844cb98d79e27973e790f17d5 /src/dotty/tools/dotc/core/Definitions.scala | |
parent | c7d1826cf0456e5efad5cb66ae06e7273c8a8e2a (diff) | |
download | dotty-66847062f37a4a5088e9d3fd2228d2679e334d61.tar.gz dotty-66847062f37a4a5088e9d3fd2228d2679e334d61.tar.bz2 dotty-66847062f37a4a5088e9d3fd2228d2679e334d61.zip |
Implement -Yno-predef and -Yno-imports
* Implement flags -Yno-predef and -Yno-imports
* Add unit tests for both
Diffstat (limited to 'src/dotty/tools/dotc/core/Definitions.scala')
-rw-r--r-- | src/dotty/tools/dotc/core/Definitions.scala | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/src/dotty/tools/dotc/core/Definitions.scala b/src/dotty/tools/dotc/core/Definitions.scala index 5cb373cfd..87d46f823 100644 --- a/src/dotty/tools/dotc/core/Definitions.scala +++ b/src/dotty/tools/dotc/core/Definitions.scala @@ -627,15 +627,24 @@ class Definitions { def isTupleClass(cls: Symbol) = isVarArityClass(cls, tpnme.Tuple) def isProductClass(cls: Symbol) = isVarArityClass(cls, tpnme.Product) - val RootImportFns = List[() => TermRef]( - () => JavaLangPackageVal.termRef, - () => ScalaPackageVal.termRef, + val StaticRootImportFns = List[() => TermRef]( + () => JavaLangPackageVal.termRef, + () => ScalaPackageVal.termRef + ) + + val PredefImportFns = List[() => TermRef]( () => ScalaPredefModuleRef, - () => DottyPredefModuleRef) + () => DottyPredefModuleRef + ) + + lazy val RootImportFns = + if (ctx.settings.YnoImports.value) List.empty[() => TermRef] + else if (ctx.settings.YnoPredef.value) StaticRootImportFns + else StaticRootImportFns ++ PredefImportFns lazy val RootImportTypes = RootImportFns.map(_()) - /** `Modules whose members are in the default namespace and their module classes */ + /** Modules whose members are in the default namespace and their module classes */ lazy val UnqualifiedOwnerTypes: Set[NamedType] = RootImportTypes.toSet[NamedType] ++ RootImportTypes.map(_.symbol.moduleClass.typeRef) |