From 3896a416faffe337a96f873214b02f231f306174 Mon Sep 17 00:00:00 2001 From: Eugene Burmako Date: Wed, 6 Jun 2012 10:37:31 +0200 Subject: miscellaneous cleanup, mostly fighting with feature warnings --- src/library/scala/collection/generic/package.scala | 2 ++ src/library/scala/languageFeature.scala | 14 +++++----- src/library/scala/reflect/NameTransformer.scala | 4 +-- src/library/scala/reflect/ScalaLongSignature.java | 4 ++- src/library/scala/reflect/ScalaSignature.java | 3 +- src/library/scala/reflect/api/Exprs.scala | 2 +- src/library/scala/reflect/makro/Aliases.scala | 3 +- .../scala/reflect/makro/CapturedVariables.scala | 3 +- src/library/scala/reflect/makro/Context.scala | 5 ++-- src/library/scala/reflect/makro/Enclosures.scala | 3 +- src/library/scala/reflect/makro/Evals.scala | 3 +- src/library/scala/reflect/makro/ExprUtils.scala | 32 ++++++++++++++++++++++ src/library/scala/reflect/makro/Exprs.scala | 3 +- src/library/scala/reflect/makro/FrontEnds.scala | 3 +- .../scala/reflect/makro/Infrastructure.scala | 3 +- src/library/scala/reflect/makro/Names.scala | 3 +- src/library/scala/reflect/makro/Parsers.scala | 3 +- src/library/scala/reflect/makro/Reifiers.scala | 5 ++-- src/library/scala/reflect/makro/Settings.scala | 4 ++- src/library/scala/reflect/makro/TreeBuilder.scala | 3 +- src/library/scala/reflect/makro/TypeTags.scala | 3 +- src/library/scala/reflect/makro/Typers.scala | 3 +- src/library/scala/reflect/makro/Universe.scala | 7 +++-- src/library/scala/reflect/makro/Util.scala | 31 --------------------- .../scala/reflect/makro/internal/package.scala | 4 +-- 25 files changed, 88 insertions(+), 65 deletions(-) create mode 100644 src/library/scala/reflect/makro/ExprUtils.scala delete mode 100644 src/library/scala/reflect/makro/Util.scala (limited to 'src/library') diff --git a/src/library/scala/collection/generic/package.scala b/src/library/scala/collection/generic/package.scala index e0351ebae6..2e58f313c9 100644 --- a/src/library/scala/collection/generic/package.scala +++ b/src/library/scala/collection/generic/package.scala @@ -1,6 +1,8 @@ package scala.collection import generic.CanBuildFrom +import language.higherKinds + package object generic { type CanBuild[-Elem, +To] = CanBuildFrom[Nothing, Elem, To] diff --git a/src/library/scala/languageFeature.scala b/src/library/scala/languageFeature.scala index c990f714c1..c32f1eb724 100644 --- a/src/library/scala/languageFeature.scala +++ b/src/library/scala/languageFeature.scala @@ -4,26 +4,26 @@ import annotation.meta object languageFeature { - @meta.languageFeature("extension of type scala.Dynamic", true) + @meta.languageFeature("extension of type scala.Dynamic", enableRequired = true) sealed trait dynamics - @meta.languageFeature("postfix operator #", false) + @meta.languageFeature("postfix operator #", enableRequired = false) sealed trait postfixOps - @meta.languageFeature("reflective access of structural type member #", false) + @meta.languageFeature("reflective access of structural type member #", enableRequired = false) sealed trait reflectiveCalls - @meta.languageFeature("implicit conversion #", false) + @meta.languageFeature("implicit conversion #", enableRequired = false) sealed trait implicitConversions - @meta.languageFeature("higher-kinded type", false) + @meta.languageFeature("higher-kinded type", enableRequired = false) sealed trait higherKinds - @meta.languageFeature("#, which cannot be expressed by wildcards, ", false) + @meta.languageFeature("#, which cannot be expressed by wildcards, ", enableRequired = false) sealed trait existentials object experimental { - @meta.languageFeature("macro definition", true) + @meta.languageFeature("macro definition", enableRequired = true) sealed trait macros } } diff --git a/src/library/scala/reflect/NameTransformer.scala b/src/library/scala/reflect/NameTransformer.scala index 38fbbc98f2..ff56e20d52 100755 --- a/src/library/scala/reflect/NameTransformer.scala +++ b/src/library/scala/reflect/NameTransformer.scala @@ -8,8 +8,8 @@ package scala.reflect -/** - * @author Martin Odersky +/** Provides functions to encode and decode Scala symbolic names. + * Also provides some constants. */ object NameTransformer { // XXX Short term: providing a way to alter these without having to recompile diff --git a/src/library/scala/reflect/ScalaLongSignature.java b/src/library/scala/reflect/ScalaLongSignature.java index 1ffd6d2520..fce58207f1 100644 --- a/src/library/scala/reflect/ScalaLongSignature.java +++ b/src/library/scala/reflect/ScalaLongSignature.java @@ -5,7 +5,9 @@ import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; -/** */ +/** + * [Martin to Eugene++] Todo: Move to somewhere else? +*/ @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.TYPE) public @interface ScalaLongSignature { diff --git a/src/library/scala/reflect/ScalaSignature.java b/src/library/scala/reflect/ScalaSignature.java index d1cdbc0589..f0df99fe79 100644 --- a/src/library/scala/reflect/ScalaSignature.java +++ b/src/library/scala/reflect/ScalaSignature.java @@ -5,7 +5,8 @@ import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; -/** */ +/** * [Martin to Eugene++] Todo: Move to somewhere else? + */ @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.TYPE) public @interface ScalaSignature { diff --git a/src/library/scala/reflect/api/Exprs.scala b/src/library/scala/reflect/api/Exprs.scala index dd09d8e7c6..bda125a1a1 100644 --- a/src/library/scala/reflect/api/Exprs.scala +++ b/src/library/scala/reflect/api/Exprs.scala @@ -5,7 +5,7 @@ package scala.reflect package api -import language.implicitConversions + import scala.reflect.base.TreeCreator trait Exprs { self: Universe => diff --git a/src/library/scala/reflect/makro/Aliases.scala b/src/library/scala/reflect/makro/Aliases.scala index 5e9ebdb263..c78c9a6a04 100644 --- a/src/library/scala/reflect/makro/Aliases.scala +++ b/src/library/scala/reflect/makro/Aliases.scala @@ -1,4 +1,5 @@ -package scala.reflect.makro +package scala.reflect +package makro trait Aliases { self: Context => diff --git a/src/library/scala/reflect/makro/CapturedVariables.scala b/src/library/scala/reflect/makro/CapturedVariables.scala index 6ce832b2b3..592e28b3b2 100644 --- a/src/library/scala/reflect/makro/CapturedVariables.scala +++ b/src/library/scala/reflect/makro/CapturedVariables.scala @@ -1,4 +1,5 @@ -package scala.reflect.makro +package scala.reflect +package makro trait CapturedVariables { self: Context => diff --git a/src/library/scala/reflect/makro/Context.scala b/src/library/scala/reflect/makro/Context.scala index 09cd96664c..f9858a063c 100644 --- a/src/library/scala/reflect/makro/Context.scala +++ b/src/library/scala/reflect/makro/Context.scala @@ -1,4 +1,5 @@ -package scala.reflect.makro +package scala.reflect +package makro import language.experimental.macros @@ -19,7 +20,7 @@ trait Context extends Aliases with Exprs with TypeTags with Evals - with Util { + with ExprUtils { /** The compile-time universe */ val universe: Universe diff --git a/src/library/scala/reflect/makro/Enclosures.scala b/src/library/scala/reflect/makro/Enclosures.scala index 136d39498e..69bd8d09c7 100644 --- a/src/library/scala/reflect/makro/Enclosures.scala +++ b/src/library/scala/reflect/makro/Enclosures.scala @@ -1,4 +1,5 @@ -package scala.reflect.makro +package scala.reflect +package makro trait Enclosures { self: Context => diff --git a/src/library/scala/reflect/makro/Evals.scala b/src/library/scala/reflect/makro/Evals.scala index e34f74ca1b..4e5fc2f97f 100644 --- a/src/library/scala/reflect/makro/Evals.scala +++ b/src/library/scala/reflect/makro/Evals.scala @@ -1,4 +1,5 @@ -package scala.reflect.makro +package scala.reflect +package makro trait Evals { self: Context => diff --git a/src/library/scala/reflect/makro/ExprUtils.scala b/src/library/scala/reflect/makro/ExprUtils.scala new file mode 100644 index 0000000000..c3e5cc6bc1 --- /dev/null +++ b/src/library/scala/reflect/makro/ExprUtils.scala @@ -0,0 +1,32 @@ +package scala.reflect +package makro + +trait ExprUtils { + self: Context => + + def literalNull: Expr[Null] + + def literalUnit: Expr[Unit] + + def literalTrue: Expr[Boolean] + + def literalFalse: Expr[Boolean] + + def literal(x: Boolean): Expr[Boolean] + + def literal(x: Byte): Expr[Byte] + + def literal(x: Short): Expr[Short] + + def literal(x: Int): Expr[Int] + + def literal(x: Long): Expr[Long] + + def literal(x: Float): Expr[Float] + + def literal(x: Double): Expr[Double] + + def literal(x: String): Expr[String] + + def literal(x: Char): Expr[Char] +} diff --git a/src/library/scala/reflect/makro/Exprs.scala b/src/library/scala/reflect/makro/Exprs.scala index ab0ea83d73..b4f8e7ac4e 100644 --- a/src/library/scala/reflect/makro/Exprs.scala +++ b/src/library/scala/reflect/makro/Exprs.scala @@ -1,4 +1,5 @@ -package scala.reflect.makro +package scala.reflect +package makro trait Exprs { self: Context => diff --git a/src/library/scala/reflect/makro/FrontEnds.scala b/src/library/scala/reflect/makro/FrontEnds.scala index 7e47701ffa..5087f90174 100644 --- a/src/library/scala/reflect/makro/FrontEnds.scala +++ b/src/library/scala/reflect/makro/FrontEnds.scala @@ -1,4 +1,5 @@ -package scala.reflect.makro +package scala.reflect +package makro trait FrontEnds extends scala.reflect.api.FrontEnds { self: Context => diff --git a/src/library/scala/reflect/makro/Infrastructure.scala b/src/library/scala/reflect/makro/Infrastructure.scala index 69394a27ea..e6bfe33366 100644 --- a/src/library/scala/reflect/makro/Infrastructure.scala +++ b/src/library/scala/reflect/makro/Infrastructure.scala @@ -1,4 +1,5 @@ -package scala.reflect.makro +package scala.reflect +package makro trait Infrastructure { self: Context => diff --git a/src/library/scala/reflect/makro/Names.scala b/src/library/scala/reflect/makro/Names.scala index c842c48e52..909976d83c 100644 --- a/src/library/scala/reflect/makro/Names.scala +++ b/src/library/scala/reflect/makro/Names.scala @@ -1,4 +1,5 @@ -package scala.reflect.makro +package scala.reflect +package makro trait Names { self: Context => diff --git a/src/library/scala/reflect/makro/Parsers.scala b/src/library/scala/reflect/makro/Parsers.scala index 737d387434..9866b7e491 100644 --- a/src/library/scala/reflect/makro/Parsers.scala +++ b/src/library/scala/reflect/makro/Parsers.scala @@ -1,4 +1,5 @@ -package scala.reflect.makro +package scala.reflect +package makro trait Parsers { self: Context => diff --git a/src/library/scala/reflect/makro/Reifiers.scala b/src/library/scala/reflect/makro/Reifiers.scala index 535aaadc3d..f39f56f935 100644 --- a/src/library/scala/reflect/makro/Reifiers.scala +++ b/src/library/scala/reflect/makro/Reifiers.scala @@ -1,4 +1,5 @@ -package scala.reflect.makro +package scala.reflect +package makro trait Reifiers { self: Context => @@ -85,6 +86,6 @@ trait Reifiers { // made these guys non path-dependent, otherwise exception handling quickly becomes a mess -case class ReificationError(var pos: reflect.api.PositionApi, val msg: String) extends Throwable(msg) +case class ReificationError(val pos: reflect.api.PositionApi, val msg: String) extends Throwable(msg) case class UnexpectedReificationError(val pos: reflect.api.PositionApi, val msg: String, val cause: Throwable = null) extends Throwable(msg, cause) diff --git a/src/library/scala/reflect/makro/Settings.scala b/src/library/scala/reflect/makro/Settings.scala index c4a8ebd1b5..c6c7e5870b 100644 --- a/src/library/scala/reflect/makro/Settings.scala +++ b/src/library/scala/reflect/makro/Settings.scala @@ -1,4 +1,5 @@ -package scala.reflect.makro +package scala.reflect +package makro trait Settings { self: Context => @@ -18,6 +19,7 @@ trait Settings { /** Updates current compiler settings with an option string. * Use `scalac -help`, `scalac -X` and `scalac -Y` to learn about currently supported options. + * todo. http://groups.google.com/group/scala-internals/browse_thread/thread/07c18cff41f59203 */ def setCompilerSettings(options: String): this.type diff --git a/src/library/scala/reflect/makro/TreeBuilder.scala b/src/library/scala/reflect/makro/TreeBuilder.scala index 3510932c13..c4179b9c80 100644 --- a/src/library/scala/reflect/makro/TreeBuilder.scala +++ b/src/library/scala/reflect/makro/TreeBuilder.scala @@ -1,4 +1,5 @@ -package scala.reflect.makro +package scala.reflect +package makro // [Eugene] I added some stuff that was necessary for typetag materialization macros // but we should think it over and pick other generally useful stuff diff --git a/src/library/scala/reflect/makro/TypeTags.scala b/src/library/scala/reflect/makro/TypeTags.scala index 7b98f391a7..3251c27908 100644 --- a/src/library/scala/reflect/makro/TypeTags.scala +++ b/src/library/scala/reflect/makro/TypeTags.scala @@ -1,4 +1,5 @@ -package scala.reflect.makro +package scala.reflect +package makro trait TypeTags { self: Context => diff --git a/src/library/scala/reflect/makro/Typers.scala b/src/library/scala/reflect/makro/Typers.scala index 2087309520..2610d7dd50 100644 --- a/src/library/scala/reflect/makro/Typers.scala +++ b/src/library/scala/reflect/makro/Typers.scala @@ -1,4 +1,5 @@ -package scala.reflect.makro +package scala.reflect +package makro trait Typers { self: Context => diff --git a/src/library/scala/reflect/makro/Universe.scala b/src/library/scala/reflect/makro/Universe.scala index 45bce08718..ffc4042a0a 100644 --- a/src/library/scala/reflect/makro/Universe.scala +++ b/src/library/scala/reflect/makro/Universe.scala @@ -1,4 +1,5 @@ -package scala.reflect.makro +package scala.reflect +package makro abstract class Universe extends scala.reflect.api.Universe { @@ -82,13 +83,13 @@ abstract class Universe extends scala.reflect.api.Universe { def setSymbol(sym: Symbol): this.type /** ... */ - def attachments: scala.reflect.base.Attachments { type Pos = Position } + def attachments: base.Attachments { type Pos = Position } /** ... */ def addAttachment(attachment: Any): this.type /** ... */ - def removeAttachment[T: scala.reflect.ClassTag]: this.type + def removeAttachment[T: ClassTag]: this.type } override type SymTree >: Null <: Tree with SymTreeContextApi diff --git a/src/library/scala/reflect/makro/Util.scala b/src/library/scala/reflect/makro/Util.scala deleted file mode 100644 index 16eb2395a9..0000000000 --- a/src/library/scala/reflect/makro/Util.scala +++ /dev/null @@ -1,31 +0,0 @@ -package scala.reflect.makro - -trait Util { - self: Context => - - def literalNull: Expr[Null] - - def literalUnit: Expr[Unit] - - def literalTrue: Expr[Boolean] - - def literalFalse: Expr[Boolean] - - def literal(x: Boolean): Expr[Boolean] - - def literal(x: Byte): Expr[Byte] - - def literal(x: Short): Expr[Short] - - def literal(x: Int): Expr[Int] - - def literal(x: Long): Expr[Long] - - def literal(x: Float): Expr[Float] - - def literal(x: Double): Expr[Double] - - def literal(x: String): Expr[String] - - def literal(x: Char): Expr[Char] -} diff --git a/src/library/scala/reflect/makro/internal/package.scala b/src/library/scala/reflect/makro/internal/package.scala index 51425696f9..de7350bf48 100644 --- a/src/library/scala/reflect/makro/internal/package.scala +++ b/src/library/scala/reflect/makro/internal/package.scala @@ -1,8 +1,8 @@ -package scala.reflect.makro +package scala.reflect +package makro import language.experimental.macros import scala.reflect.base.{Universe => BaseUniverse} -import scala.reflect.{ClassTag, ArrayTag} // anchors for materialization macros emitted during tag materialization in Implicits.scala // implementation is magically hardwired into `scala.reflect.reify.Taggers` -- cgit v1.2.3