diff options
author | Martin Odersky <odersky@gmail.com> | 2014-08-03 20:44:27 +0200 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2014-08-03 20:45:09 +0200 |
commit | 168e4f18f0b2f8ac0e3d7ef5128797303dec6a44 (patch) | |
tree | d07dbc2cd645e56784cf5c2b830508724761fc8c /src/dotty/tools/dotc/config/Settings.scala | |
parent | 2020938a77590f8c461041707716eca228f647d2 (diff) | |
download | dotty-168e4f18f0b2f8ac0e3d7ef5128797303dec6a44.tar.gz dotty-168e4f18f0b2f8ac0e3d7ef5128797303dec6a44.tar.bz2 dotty-168e4f18f0b2f8ac0e3d7ef5128797303dec6a44.zip |
Added version settings -migration, -source
Diffstat (limited to 'src/dotty/tools/dotc/config/Settings.scala')
-rw-r--r-- | src/dotty/tools/dotc/config/Settings.scala | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/dotty/tools/dotc/config/Settings.scala b/src/dotty/tools/dotc/config/Settings.scala index 17d4d6712..531c49bfb 100644 --- a/src/dotty/tools/dotc/config/Settings.scala +++ b/src/dotty/tools/dotc/config/Settings.scala @@ -18,6 +18,7 @@ object Settings { val IntTag = ClassTag.Int val StringTag = ClassTag(classOf[String]) val ListTag = ClassTag(classOf[List[_]]) + val VersionTag = ClassTag(classOf[ScalaVersion]) class SettingsState(initialValues: Seq[Any]) { private var values = ArrayBuffer(initialValues: _*) @@ -132,6 +133,11 @@ object Settings { case _: NumberFormatException => fail(s"$arg2 is not an integer argument for $name", args2) } + case (VersionTag, _) => + ScalaVersion.parse(argRest) match { + case Success(v) => update(v, args) + case Failure(ex) => fail(ex.getMessage, args) + } case (_, Nil) => missingArg } @@ -246,5 +252,8 @@ object Settings { def PrefixSetting(name: String, pre: String, descr: String): Setting[List[String]] = publish(Setting(name, descr, Nil, prefix = pre)) + + def VersionSetting(name: String, descr: String, default: ScalaVersion = NoScalaVersion): Setting[ScalaVersion] = + publish(Setting(name, descr, default)) } }
\ No newline at end of file |