summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEugene Burmako <xeno.by@gmail.com>2012-06-06 09:44:13 +0200
committerEugene Burmako <xeno.by@gmail.com>2012-06-08 15:31:52 +0200
commitbdff66e2730518f449634375b1f3d19689d72b1e (patch)
treee7911d43c88d0546b18eaed380aa13503141cb9d
parent252a44864786b6832b9da4c29d1ac9aad48c4291 (diff)
downloadscala-bdff66e2730518f449634375b1f3d19689d72b1e.tar.gz
scala-bdff66e2730518f449634375b1f3d19689d72b1e.tar.bz2
scala-bdff66e2730518f449634375b1f3d19689d72b1e.zip
removes tags and their incantations from Predef
All tags and reflection-related stuff requires a prefix, be it scala.reflect for simple tags (ArrayTags and ClassTags), or scala.reflect.basis/scala.reflect.runtime.universe for type tags.
-rw-r--r--src/compiler/scala/tools/nsc/Global.scala1
-rw-r--r--src/compiler/scala/tools/nsc/interpreter/ILoop.scala1
-rw-r--r--src/compiler/scala/tools/nsc/interpreter/IMain.scala1
-rw-r--r--src/compiler/scala/tools/nsc/interpreter/NamedParam.scala1
-rw-r--r--src/compiler/scala/tools/nsc/interpreter/Power.scala1
-rw-r--r--src/compiler/scala/tools/nsc/interpreter/RichClass.scala2
-rw-r--r--src/compiler/scala/tools/nsc/interpreter/TypeStrings.scala1
-rw-r--r--src/compiler/scala/tools/nsc/io/Pickler.scala1
-rw-r--r--src/compiler/scala/tools/nsc/settings/MutableSettings.scala1
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/MethodSynthesis.scala1
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/NamesDefaults.scala1
-rw-r--r--src/compiler/scala/tools/nsc/util/ClassPath.scala1
-rw-r--r--src/compiler/scala/tools/nsc/util/Position.scala1
-rw-r--r--src/compiler/scala/tools/nsc/util/ScalaClassLoader.scala1
-rw-r--r--src/compiler/scala/tools/reflect/FrontEnds.scala1
-rw-r--r--src/compiler/scala/tools/reflect/StdTags.scala1
-rw-r--r--src/library/scala/Predef.scala18
-rw-r--r--src/library/scala/collection/GenTraversableOnce.scala2
-rw-r--r--src/library/scala/collection/TraversableOnce.scala1
-rw-r--r--src/library/scala/collection/TraversableProxyLike.scala1
-rw-r--r--src/library/scala/collection/generic/ArrayTagTraversableFactory.scala1
-rw-r--r--src/library/scala/collection/generic/GenericArrayTagCompanion.scala1
-rw-r--r--src/library/scala/collection/generic/GenericArrayTagTraversableTemplate.scala1
-rw-r--r--src/library/scala/collection/generic/TraversableForwarder.scala1
-rw-r--r--src/library/scala/collection/immutable/PagedSeq.scala1
-rw-r--r--src/library/scala/collection/immutable/StringLike.scala1
-rw-r--r--src/library/scala/collection/mutable/ArrayOps.scala2
-rw-r--r--src/library/scala/collection/mutable/ArrayStack.scala1
-rw-r--r--src/library/scala/collection/mutable/UnrolledBuffer.scala1
-rw-r--r--src/library/scala/collection/mutable/WrappedArray.scala2
-rw-r--r--src/library/scala/collection/parallel/ParIterableLike.scala1
-rw-r--r--src/library/scala/collection/parallel/mutable/ParArray.scala2
-rw-r--r--src/library/scala/collection/parallel/mutable/UnrolledParArrayCombiner.scala2
-rw-r--r--src/library/scala/concurrent/Future.scala1
-rw-r--r--src/library/scala/reflect/makro/Universe.scala2
-rw-r--r--src/library/scala/reflect/makro/internal/package.scala1
-rw-r--r--src/library/scala/reflect/package.scala5
-rw-r--r--src/library/scala/runtime/ScalaRunTime.scala1
-rw-r--r--src/library/scala/util/Sorting.scala2
-rw-r--r--src/library/scala/util/control/Exception.scala1
-rw-r--r--src/partest/scala/tools/partest/SigTest.scala1
-rw-r--r--src/scalacheck/org/scalacheck/Arbitrary.scala1
-rw-r--r--src/scalacheck/org/scalacheck/util/Buildable.scala1
43 files changed, 48 insertions, 24 deletions
diff --git a/src/compiler/scala/tools/nsc/Global.scala b/src/compiler/scala/tools/nsc/Global.scala
index 57124b9c1c..89298d3d2c 100644
--- a/src/compiler/scala/tools/nsc/Global.scala
+++ b/src/compiler/scala/tools/nsc/Global.scala
@@ -30,6 +30,7 @@ import backend.opt.{ Inliners, InlineExceptionHandlers, ClosureElimination, Dead
import backend.icode.analysis._
import language.postfixOps
import reflect.internal.StdAttachments
+import scala.reflect.ClassTag
class Global(var currentSettings: Settings, var reporter: Reporter)
extends SymbolTable
diff --git a/src/compiler/scala/tools/nsc/interpreter/ILoop.scala b/src/compiler/scala/tools/nsc/interpreter/ILoop.scala
index fdf7db1b9f..e5e7d7081d 100644
--- a/src/compiler/scala/tools/nsc/interpreter/ILoop.scala
+++ b/src/compiler/scala/tools/nsc/interpreter/ILoop.scala
@@ -24,6 +24,7 @@ import util.ScalaClassLoader
import ScalaClassLoader._
import scala.tools.util._
import language.{implicitConversions, existentials}
+import scala.reflect.{ClassTag, classTag}
import scala.tools.reflect.StdTags._
/** The Scala interactive shell. It provides a read-eval-print loop
diff --git a/src/compiler/scala/tools/nsc/interpreter/IMain.scala b/src/compiler/scala/tools/nsc/interpreter/IMain.scala
index 0be8579d30..d19a83ef8d 100644
--- a/src/compiler/scala/tools/nsc/interpreter/IMain.scala
+++ b/src/compiler/scala/tools/nsc/interpreter/IMain.scala
@@ -26,6 +26,7 @@ import java.util.concurrent.Future
import typechecker.Analyzer
import language.implicitConversions
import scala.reflect.runtime.{ universe => ru }
+import scala.reflect.{ ClassTag, classTag }
import scala.tools.reflect.StdTags._
/** directory to save .class files to */
diff --git a/src/compiler/scala/tools/nsc/interpreter/NamedParam.scala b/src/compiler/scala/tools/nsc/interpreter/NamedParam.scala
index 61a61de1e9..3a69ea86b5 100644
--- a/src/compiler/scala/tools/nsc/interpreter/NamedParam.scala
+++ b/src/compiler/scala/tools/nsc/interpreter/NamedParam.scala
@@ -9,6 +9,7 @@ package interpreter
import NamedParam._
import language.implicitConversions
import scala.reflect.runtime.{universe => ru}
+import scala.reflect.{ClassTag, classTag}
trait NamedParamCreator {
protected def freshName: () => String
diff --git a/src/compiler/scala/tools/nsc/interpreter/Power.scala b/src/compiler/scala/tools/nsc/interpreter/Power.scala
index ee69c83f4d..1d3c5560fd 100644
--- a/src/compiler/scala/tools/nsc/interpreter/Power.scala
+++ b/src/compiler/scala/tools/nsc/interpreter/Power.scala
@@ -15,6 +15,7 @@ import java.net.{ URL, MalformedURLException }
import io.{ Path }
import language.implicitConversions
import scala.reflect.runtime.{universe => ru}
+import scala.reflect.{ClassTag, classTag}
/** Collecting some power mode examples.
diff --git a/src/compiler/scala/tools/nsc/interpreter/RichClass.scala b/src/compiler/scala/tools/nsc/interpreter/RichClass.scala
index 2e735e3b9b..32eb1e95c1 100644
--- a/src/compiler/scala/tools/nsc/interpreter/RichClass.scala
+++ b/src/compiler/scala/tools/nsc/interpreter/RichClass.scala
@@ -6,6 +6,8 @@
package scala.tools.nsc
package interpreter
+import scala.reflect.{ ClassTag, classTag }
+
class RichClass[T](val clazz: Class[T]) {
def toTag: ClassTag[T] = ClassTag[T](clazz)
def toTypeString: String = TypeStrings.fromClazz(clazz)
diff --git a/src/compiler/scala/tools/nsc/interpreter/TypeStrings.scala b/src/compiler/scala/tools/nsc/interpreter/TypeStrings.scala
index c5888129f5..12bba9c86a 100644
--- a/src/compiler/scala/tools/nsc/interpreter/TypeStrings.scala
+++ b/src/compiler/scala/tools/nsc/interpreter/TypeStrings.scala
@@ -11,6 +11,7 @@ import r.TypeVariable
import scala.reflect.NameTransformer
import NameTransformer._
import scala.reflect.runtime.{universe => ru}
+import scala.reflect.{ClassTag, classTag}
import typechecker.DestructureTypes
import scala.tools.util.StringOps.ojoin
diff --git a/src/compiler/scala/tools/nsc/io/Pickler.scala b/src/compiler/scala/tools/nsc/io/Pickler.scala
index 416b84eec6..48361cd157 100644
--- a/src/compiler/scala/tools/nsc/io/Pickler.scala
+++ b/src/compiler/scala/tools/nsc/io/Pickler.scala
@@ -4,6 +4,7 @@ import annotation.unchecked
import Lexer._
import java.io.Writer
import language.implicitConversions
+import reflect.ClassTag
/** An abstract class for writing and reading Scala objects to and
* from a legible representation. The presesentation follows the following grammar:
diff --git a/src/compiler/scala/tools/nsc/settings/MutableSettings.scala b/src/compiler/scala/tools/nsc/settings/MutableSettings.scala
index 2e4aa270bc..c0d9a677e8 100644
--- a/src/compiler/scala/tools/nsc/settings/MutableSettings.scala
+++ b/src/compiler/scala/tools/nsc/settings/MutableSettings.scala
@@ -12,6 +12,7 @@ import io.{ AbstractFile, Path, PlainFile, VirtualDirectory }
import scala.tools.util.StringOps
import scala.collection.mutable.ListBuffer
import scala.io.Source
+import scala.reflect.{ ClassTag, classTag }
/** A mutable Settings object.
*/
diff --git a/src/compiler/scala/tools/nsc/typechecker/MethodSynthesis.scala b/src/compiler/scala/tools/nsc/typechecker/MethodSynthesis.scala
index 776d61af2f..9d6b4a589c 100644
--- a/src/compiler/scala/tools/nsc/typechecker/MethodSynthesis.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/MethodSynthesis.scala
@@ -8,6 +8,7 @@ package typechecker
import symtab.Flags._
import scala.collection.{ mutable, immutable }
import scala.tools.util.StringOps.{ ojoin }
+import scala.reflect.ClassTag
import scala.reflect.runtime.{ universe => ru }
import language.higherKinds
diff --git a/src/compiler/scala/tools/nsc/typechecker/NamesDefaults.scala b/src/compiler/scala/tools/nsc/typechecker/NamesDefaults.scala
index 932e4548ef..85b2039765 100644
--- a/src/compiler/scala/tools/nsc/typechecker/NamesDefaults.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/NamesDefaults.scala
@@ -9,6 +9,7 @@ package typechecker
import symtab.Flags._
import scala.collection.mutable
import scala.ref.WeakReference
+import scala.reflect.ArrayTag
/**
* @author Lukas Rytz
diff --git a/src/compiler/scala/tools/nsc/util/ClassPath.scala b/src/compiler/scala/tools/nsc/util/ClassPath.scala
index 472b5180b4..0636fcf581 100644
--- a/src/compiler/scala/tools/nsc/util/ClassPath.scala
+++ b/src/compiler/scala/tools/nsc/util/ClassPath.scala
@@ -11,6 +11,7 @@ import java.net.URL
import scala.collection.{ mutable, immutable }
import io.{ File, Directory, Path, Jar, AbstractFile }
import scala.tools.util.StringOps.splitWhere
+import scala.reflect.ClassTag
import Jar.isJarOrZip
import File.pathSeparator
import java.net.MalformedURLException
diff --git a/src/compiler/scala/tools/nsc/util/Position.scala b/src/compiler/scala/tools/nsc/util/Position.scala
index b27ca17bfe..d07468e728 100644
--- a/src/compiler/scala/tools/nsc/util/Position.scala
+++ b/src/compiler/scala/tools/nsc/util/Position.scala
@@ -7,6 +7,7 @@
package scala.tools.nsc
package util
+import reflect.ClassTag
import reflect.base.Attachments
import reflect.api.PositionApi
diff --git a/src/compiler/scala/tools/nsc/util/ScalaClassLoader.scala b/src/compiler/scala/tools/nsc/util/ScalaClassLoader.scala
index 0f8c0755e0..5b30d9aacd 100644
--- a/src/compiler/scala/tools/nsc/util/ScalaClassLoader.scala
+++ b/src/compiler/scala/tools/nsc/util/ScalaClassLoader.scala
@@ -15,6 +15,7 @@ import scala.reflect.runtime.ReflectionUtils.unwrapHandler
import ScalaClassLoader._
import scala.util.control.Exception.{ catching }
import language.implicitConversions
+import scala.reflect.{ ClassTag, classTag }
trait HasClassPath {
def classPathURLs: Seq[URL]
diff --git a/src/compiler/scala/tools/reflect/FrontEnds.scala b/src/compiler/scala/tools/reflect/FrontEnds.scala
index 52eadc4e04..0e4dbd406a 100644
--- a/src/compiler/scala/tools/reflect/FrontEnds.scala
+++ b/src/compiler/scala/tools/reflect/FrontEnds.scala
@@ -3,6 +3,7 @@ package reflect
import scala.tools.nsc.reporters._
import scala.tools.nsc.Settings
+import scala.reflect.ClassTag
trait FrontEnds extends scala.reflect.api.FrontEnds {
diff --git a/src/compiler/scala/tools/reflect/StdTags.scala b/src/compiler/scala/tools/reflect/StdTags.scala
index f01e476273..c782181f21 100644
--- a/src/compiler/scala/tools/reflect/StdTags.scala
+++ b/src/compiler/scala/tools/reflect/StdTags.scala
@@ -2,6 +2,7 @@ package scala.tools
package reflect
import java.lang.{Class => jClass}
+import scala.reflect.{ClassTag, classTag}
import scala.reflect.base.{MirrorOf, TypeCreator, Universe => BaseUniverse}
import scala.reflect.runtime.{universe => ru}
diff --git a/src/library/scala/Predef.scala b/src/library/scala/Predef.scala
index a6477f1709..65e8549ae1 100644
--- a/src/library/scala/Predef.scala
+++ b/src/library/scala/Predef.scala
@@ -111,24 +111,6 @@ object Predef extends LowPriorityImplicits {
def classManifest[T](implicit m: ClassManifest[T]) = m
def optManifest[T](implicit m: OptManifest[T]) = m
- // Tag types and companions, and incantations for summoning
- type ArrayTag[T] = scala.reflect.ArrayTag[T]
- type ClassTag[T] = scala.reflect.ClassTag[T]
- type TypeTag[T] = scala.reflect.TypeTag[T]
- type ConcreteTypeTag[T] = scala.reflect.ConcreteTypeTag[T]
- val ClassTag = scala.reflect.ClassTag // doesn't need to be lazy, because it's not a path-dependent type
- // [Paul to Eugene] No lazy vals in Predef. Too expensive. Have to work harder on breaking initialization dependencies.
- lazy val TypeTag = scala.reflect.TypeTag // needs to be lazy, because requires scala.reflect.mirror instance
- lazy val ConcreteTypeTag = scala.reflect.ConcreteTypeTag
-
- // [Eugene to Martin] it's really tedious to type "implicitly[...]" all the time, so I'm reintroducing these shortcuts
- def arrayTag[T](implicit atag: ArrayTag[T]) = atag
- def classTag[T](implicit ctag: ClassTag[T]) = ctag
- def tag[T](implicit ttag: TypeTag[T]) = ttag
- def typeTag[T](implicit ttag: TypeTag[T]) = ttag
- def concreteTag[T](implicit cttag: ConcreteTypeTag[T]) = cttag
- def concreteTypeTag[T](implicit cttag: ConcreteTypeTag[T]) = cttag
-
// Minor variations on identity functions
def identity[A](x: A): A = x // @see `conforms` for the implicit version
@inline def implicitly[T](implicit e: T) = e // for summoning implicit values from the nether world -- TODO: when dependent method types are on by default, give this result type `e.type`, so that inliner has better chance of knowing which method to inline in calls like `implicitly[MatchingStrategy[Option]].zero`
diff --git a/src/library/scala/collection/GenTraversableOnce.scala b/src/library/scala/collection/GenTraversableOnce.scala
index eab6b84ea8..8855c7f783 100644
--- a/src/library/scala/collection/GenTraversableOnce.scala
+++ b/src/library/scala/collection/GenTraversableOnce.scala
@@ -8,6 +8,8 @@
package scala.collection
+import scala.reflect.ArrayTag
+
/** A template trait for all traversable-once objects which may be
* traversed in parallel.
*
diff --git a/src/library/scala/collection/TraversableOnce.scala b/src/library/scala/collection/TraversableOnce.scala
index d42c037dee..4275be949e 100644
--- a/src/library/scala/collection/TraversableOnce.scala
+++ b/src/library/scala/collection/TraversableOnce.scala
@@ -11,6 +11,7 @@ package scala.collection
import mutable.{ Buffer, Builder, ListBuffer, ArrayBuffer }
import annotation.unchecked.{ uncheckedVariance => uV }
import language.{implicitConversions, higherKinds}
+import reflect.ArrayTag
/** A template trait for collections which can be traversed either once only
* or one or more times.
diff --git a/src/library/scala/collection/TraversableProxyLike.scala b/src/library/scala/collection/TraversableProxyLike.scala
index 20880e369d..afc9452294 100644
--- a/src/library/scala/collection/TraversableProxyLike.scala
+++ b/src/library/scala/collection/TraversableProxyLike.scala
@@ -12,6 +12,7 @@ package scala.collection
import generic._
import mutable.{Buffer, StringBuilder}
+import reflect.ArrayTag
// Methods could be printed by cat TraversableLike.scala | egrep '^ (override )?def'
diff --git a/src/library/scala/collection/generic/ArrayTagTraversableFactory.scala b/src/library/scala/collection/generic/ArrayTagTraversableFactory.scala
index ddae0a4d64..bcd73c1eb8 100644
--- a/src/library/scala/collection/generic/ArrayTagTraversableFactory.scala
+++ b/src/library/scala/collection/generic/ArrayTagTraversableFactory.scala
@@ -10,6 +10,7 @@ package scala.collection
package generic
import language.higherKinds
+import reflect.ArrayTag
/** A template for companion objects of `ClassTagTraversable` and
* subclasses thereof.
diff --git a/src/library/scala/collection/generic/GenericArrayTagCompanion.scala b/src/library/scala/collection/generic/GenericArrayTagCompanion.scala
index 959adbce6d..5c825ebfef 100644
--- a/src/library/scala/collection/generic/GenericArrayTagCompanion.scala
+++ b/src/library/scala/collection/generic/GenericArrayTagCompanion.scala
@@ -11,6 +11,7 @@ package generic
import mutable.Builder
import language.higherKinds
+import reflect.ArrayTag
/** This class represents companions of classes which require ArrayTags
* for their element types.
diff --git a/src/library/scala/collection/generic/GenericArrayTagTraversableTemplate.scala b/src/library/scala/collection/generic/GenericArrayTagTraversableTemplate.scala
index ac84683c59..88f0b25929 100644
--- a/src/library/scala/collection/generic/GenericArrayTagTraversableTemplate.scala
+++ b/src/library/scala/collection/generic/GenericArrayTagTraversableTemplate.scala
@@ -12,6 +12,7 @@ package generic
import mutable.Builder
import annotation.unchecked.uncheckedVariance
import language.higherKinds
+import reflect.ArrayTag
/** This trait represents collections classes which require array
* tags for their element types.
diff --git a/src/library/scala/collection/generic/TraversableForwarder.scala b/src/library/scala/collection/generic/TraversableForwarder.scala
index 3d5bc2704f..86a202f28c 100644
--- a/src/library/scala/collection/generic/TraversableForwarder.scala
+++ b/src/library/scala/collection/generic/TraversableForwarder.scala
@@ -11,6 +11,7 @@ package scala.collection.generic
import scala.collection._
import mutable.{ Buffer, StringBuilder }
import immutable.{ List, Stream }
+import reflect.ArrayTag
/** This trait implements a forwarder for traversable objects. It forwards
* all calls to a different traversable, except for:
diff --git a/src/library/scala/collection/immutable/PagedSeq.scala b/src/library/scala/collection/immutable/PagedSeq.scala
index 94953ce38b..ac6da23068 100644
--- a/src/library/scala/collection/immutable/PagedSeq.scala
+++ b/src/library/scala/collection/immutable/PagedSeq.scala
@@ -13,6 +13,7 @@ package immutable
import java.io._
import scala.util.matching.Regex
+import reflect.ArrayTag
/** The `PagedSeq` object defines a lazy implementations of
* a random access sequence.
diff --git a/src/library/scala/collection/immutable/StringLike.scala b/src/library/scala/collection/immutable/StringLike.scala
index e41b17a5e8..9b6377e979 100644
--- a/src/library/scala/collection/immutable/StringLike.scala
+++ b/src/library/scala/collection/immutable/StringLike.scala
@@ -13,6 +13,7 @@ import generic._
import mutable.Builder
import scala.util.matching.Regex
import scala.math.ScalaNumber
+import reflect.ArrayTag
/** A companion object for the `StringLike` containing some constants.
* @since 2.8
diff --git a/src/library/scala/collection/mutable/ArrayOps.scala b/src/library/scala/collection/mutable/ArrayOps.scala
index 0807721f7d..787b8ac228 100644
--- a/src/library/scala/collection/mutable/ArrayOps.scala
+++ b/src/library/scala/collection/mutable/ArrayOps.scala
@@ -12,7 +12,7 @@ package scala.collection
package mutable
import compat.Platform.arraycopy
-import scala.reflect.ArrayTag
+import scala.reflect.{ArrayTag, ClassTag}
import scala.runtime.ScalaRunTime._
import parallel.mutable.ParArray
diff --git a/src/library/scala/collection/mutable/ArrayStack.scala b/src/library/scala/collection/mutable/ArrayStack.scala
index ed5f39f21b..7870a8f053 100644
--- a/src/library/scala/collection/mutable/ArrayStack.scala
+++ b/src/library/scala/collection/mutable/ArrayStack.scala
@@ -10,6 +10,7 @@ package scala.collection
package mutable
import generic._
+import reflect.ArrayTag
/** Factory object for the `ArrayStack` class.
*
diff --git a/src/library/scala/collection/mutable/UnrolledBuffer.scala b/src/library/scala/collection/mutable/UnrolledBuffer.scala
index 0c2e6e1cae..9ef34e67e6 100644
--- a/src/library/scala/collection/mutable/UnrolledBuffer.scala
+++ b/src/library/scala/collection/mutable/UnrolledBuffer.scala
@@ -12,6 +12,7 @@ import collection.AbstractIterator
import collection.Iterator
import collection.generic._
import annotation.tailrec
+import reflect.ArrayTag
/** A buffer that stores elements in an unrolled linked list.
*
diff --git a/src/library/scala/collection/mutable/WrappedArray.scala b/src/library/scala/collection/mutable/WrappedArray.scala
index 86317819a1..789ccc2d98 100644
--- a/src/library/scala/collection/mutable/WrappedArray.scala
+++ b/src/library/scala/collection/mutable/WrappedArray.scala
@@ -11,7 +11,7 @@
package scala.collection
package mutable
-import scala.reflect.ArrayTag
+import scala.reflect.{ArrayTag, ClassTag}
import scala.runtime.ScalaRunTime._
import scala.collection.generic._
import scala.collection.parallel.mutable.ParArray
diff --git a/src/library/scala/collection/parallel/ParIterableLike.scala b/src/library/scala/collection/parallel/ParIterableLike.scala
index c1d0e9c3a6..0b2a0ec5bb 100644
--- a/src/library/scala/collection/parallel/ParIterableLike.scala
+++ b/src/library/scala/collection/parallel/ParIterableLike.scala
@@ -24,6 +24,7 @@ import scala.collection.GenIterable
import scala.collection.GenTraversableOnce
import scala.collection.GenTraversable
import immutable.HashMapCombiner
+import reflect.{ArrayTag, ClassTag}
import java.util.concurrent.atomic.AtomicBoolean
diff --git a/src/library/scala/collection/parallel/mutable/ParArray.scala b/src/library/scala/collection/parallel/mutable/ParArray.scala
index 29d84408db..e61eab2072 100644
--- a/src/library/scala/collection/parallel/mutable/ParArray.scala
+++ b/src/library/scala/collection/parallel/mutable/ParArray.scala
@@ -26,7 +26,7 @@ import scala.collection.parallel.CHECK_RATE
import scala.collection.mutable.ArraySeq
import scala.collection.mutable.Builder
import scala.collection.GenTraversableOnce
-
+import scala.reflect.ArrayTag
diff --git a/src/library/scala/collection/parallel/mutable/UnrolledParArrayCombiner.scala b/src/library/scala/collection/parallel/mutable/UnrolledParArrayCombiner.scala
index 43d40776bf..42c015e0b4 100644
--- a/src/library/scala/collection/parallel/mutable/UnrolledParArrayCombiner.scala
+++ b/src/library/scala/collection/parallel/mutable/UnrolledParArrayCombiner.scala
@@ -21,7 +21,7 @@ import scala.collection.parallel.TaskSupport
import scala.collection.parallel.unsupportedop
import scala.collection.parallel.Combiner
import scala.collection.parallel.Task
-
+import scala.reflect.ArrayTag
diff --git a/src/library/scala/concurrent/Future.scala b/src/library/scala/concurrent/Future.scala
index 375659bedc..2a52d0ac0b 100644
--- a/src/library/scala/concurrent/Future.scala
+++ b/src/library/scala/concurrent/Future.scala
@@ -25,6 +25,7 @@ import scala.annotation.tailrec
import scala.collection.mutable.Stack
import scala.collection.mutable.Builder
import scala.collection.generic.CanBuildFrom
+import scala.reflect.ClassTag
import language.higherKinds
diff --git a/src/library/scala/reflect/makro/Universe.scala b/src/library/scala/reflect/makro/Universe.scala
index d970e2474e..45bce08718 100644
--- a/src/library/scala/reflect/makro/Universe.scala
+++ b/src/library/scala/reflect/makro/Universe.scala
@@ -88,7 +88,7 @@ abstract class Universe extends scala.reflect.api.Universe {
def addAttachment(attachment: Any): this.type
/** ... */
- def removeAttachment[T: ClassTag]: this.type
+ def removeAttachment[T: scala.reflect.ClassTag]: this.type
}
override type SymTree >: Null <: Tree with SymTreeContextApi
diff --git a/src/library/scala/reflect/makro/internal/package.scala b/src/library/scala/reflect/makro/internal/package.scala
index c0518384ab..51425696f9 100644
--- a/src/library/scala/reflect/makro/internal/package.scala
+++ b/src/library/scala/reflect/makro/internal/package.scala
@@ -2,6 +2,7 @@ package scala.reflect.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`
diff --git a/src/library/scala/reflect/package.scala b/src/library/scala/reflect/package.scala
index ba93a1c91f..447d509292 100644
--- a/src/library/scala/reflect/package.scala
+++ b/src/library/scala/reflect/package.scala
@@ -21,6 +21,11 @@ package object reflect extends reflect_compat {
// ArrayTag trait is defined outside the basis
// ClassTag class is defined outside the basis
+ def arrayTag[T](implicit atag: ArrayTag[T]) = atag
+ def classTag[T](implicit ctag: ClassTag[T]) = ctag
+ // typeTag incantation is defined inside the basis
+ // concreteTypeTag incantation is defined inside the basis
+
type TypeTag[T] = scala.reflect.basis.TypeTag[T]
type ConcreteTypeTag[T] = scala.reflect.basis.ConcreteTypeTag[T]
diff --git a/src/library/scala/runtime/ScalaRunTime.scala b/src/library/scala/runtime/ScalaRunTime.scala
index e3d3c89aa6..5715ed2719 100644
--- a/src/library/scala/runtime/ScalaRunTime.scala
+++ b/src/library/scala/runtime/ScalaRunTime.scala
@@ -12,6 +12,7 @@ import scala.collection.{ Seq, IndexedSeq, TraversableView, AbstractIterator }
import scala.collection.mutable.WrappedArray
import scala.collection.immutable.{ StringLike, NumericRange, List, Stream, Nil, :: }
import scala.collection.generic.{ Sorted }
+import scala.reflect.{ ArrayTag, ClassTag, arrayTag, classTag }
import scala.util.control.ControlThrowable
import scala.xml.{ Node, MetaData }
diff --git a/src/library/scala/util/Sorting.scala b/src/library/scala/util/Sorting.scala
index 7d98e57741..2e4709a7f8 100644
--- a/src/library/scala/util/Sorting.scala
+++ b/src/library/scala/util/Sorting.scala
@@ -8,7 +8,7 @@
package scala.util
-import scala.reflect.ClassTag
+import scala.reflect.{ ArrayTag, ClassTag }
import scala.math.Ordering
/** The Sorting object provides functions that can sort various kinds of
diff --git a/src/library/scala/util/control/Exception.scala b/src/library/scala/util/control/Exception.scala
index 466118f85b..2ee053c92b 100644
--- a/src/library/scala/util/control/Exception.scala
+++ b/src/library/scala/util/control/Exception.scala
@@ -9,6 +9,7 @@
package scala.util.control
import collection.immutable.List
+import reflect.{ ClassTag, classTag }
import java.lang.reflect.InvocationTargetException
import language.implicitConversions
diff --git a/src/partest/scala/tools/partest/SigTest.scala b/src/partest/scala/tools/partest/SigTest.scala
index d120bc1a37..1d8728294b 100644
--- a/src/partest/scala/tools/partest/SigTest.scala
+++ b/src/partest/scala/tools/partest/SigTest.scala
@@ -8,6 +8,7 @@ package scala.tools.partest
import scala.tools.nsc.Settings
import scala.tools.nsc.interpreter.ILoop
import java.lang.reflect.{ Method => JMethod, Field => JField }
+import scala.reflect.{ClassTag, classTag}
/** Support code for testing signatures.
*/
diff --git a/src/scalacheck/org/scalacheck/Arbitrary.scala b/src/scalacheck/org/scalacheck/Arbitrary.scala
index 9bb235f917..28e116b479 100644
--- a/src/scalacheck/org/scalacheck/Arbitrary.scala
+++ b/src/scalacheck/org/scalacheck/Arbitrary.scala
@@ -10,6 +10,7 @@
package org.scalacheck
import util.{FreqMap,Buildable}
+import scala.reflect.ClassTag
sealed abstract class Arbitrary[T] {
val arbitrary: Gen[T]
diff --git a/src/scalacheck/org/scalacheck/util/Buildable.scala b/src/scalacheck/org/scalacheck/util/Buildable.scala
index 662bc6146b..5c960c3ba8 100644
--- a/src/scalacheck/org/scalacheck/util/Buildable.scala
+++ b/src/scalacheck/org/scalacheck/util/Buildable.scala
@@ -10,6 +10,7 @@
package org.scalacheck.util
import scala.collection._
+import scala.reflect.ClassTag
trait Buildable[T,C[_]] {
def builder: mutable.Builder[T,C[T]]