diff options
author | Christopher Vogt <christopher.vogt@epfl.ch> | 2012-10-08 19:34:45 +0200 |
---|---|---|
committer | Eugene Burmako <xeno.by@gmail.com> | 2012-10-11 20:06:31 +0200 |
commit | b9e3d94604e20791317d9c7b1aa939e0bff6c945 (patch) | |
tree | cd36aa7aa84c997caa29d377f1c360d6ca133110 | |
parent | 69693d90ac043feb1bff7adb26db0b2fd73a0640 (diff) | |
download | scala-b9e3d94604e20791317d9c7b1aa939e0bff6c945.tar.gz scala-b9e3d94604e20791317d9c7b1aa939e0bff6c945.tar.bz2 scala-b9e3d94604e20791317d9c7b1aa939e0bff6c945.zip |
removed docs for internal TypeCreator and TreeCreator
-rw-r--r-- | src/reflect/scala/reflect/api/TreeCreator.scala | 20 | ||||
-rw-r--r-- | src/reflect/scala/reflect/api/TypeCreator.scala | 22 |
2 files changed, 5 insertions, 37 deletions
diff --git a/src/reflect/scala/reflect/api/TreeCreator.scala b/src/reflect/scala/reflect/api/TreeCreator.scala index a8e8ae1b58..c668fe0b4d 100644 --- a/src/reflect/scala/reflect/api/TreeCreator.scala +++ b/src/reflect/scala/reflect/api/TreeCreator.scala @@ -1,25 +1,9 @@ package scala.reflect package api -/** A mirror-aware factory for trees. +/** This is an internal implementation class. * - * In the reflection API, artifacts are specific to universes and - * symbolic references used in artifacts (e.g. `scala.Int`) are resolved by mirrors. - * - * Therefore to build a tree one needs to know a universe that the tree is going to be bound to - * and a mirror that is going to resolve symbolic references (e.g. to determine that `scala.Int` - * points to a core class `Int` from scala-library.jar). - * - * `TreeCreator` implements this notion by providing a standalone tree factory. - * - * This is immediately useful for reification. When the compiler reifies an expression, - * the end result needs to make sense in any mirror. That's because the compiler knows - * the universe it's reifying an expression into (specified by the target of the `reify` call), - * but it cannot know in advance the mirror to instantiate the result in (e.g. on JVM - * it doesn't know what classloader use to resolve symbolic names in the reifee). - * - * Due to a typechecker restriction (no eta-expansion for dependent method types), - * `TreeCreator` can't have a functional type, so it's implemented as class with an apply method. + * @see [[http://docs.scala-lang.org/overviews/reflection/architecture.html]]. */ abstract class TreeCreator { def apply[U <: Universe with Singleton](m: scala.reflect.api.Mirror[U]): U # Tree diff --git a/src/reflect/scala/reflect/api/TypeCreator.scala b/src/reflect/scala/reflect/api/TypeCreator.scala index 2b3ef4320b..16585cd23f 100644 --- a/src/reflect/scala/reflect/api/TypeCreator.scala +++ b/src/reflect/scala/reflect/api/TypeCreator.scala @@ -1,25 +1,9 @@ package scala.reflect package api -/** A mirror-aware factory for types. - * - * In the reflection API, artifacts are specific to universes and - * symbolic references used in artifacts (e.g. `scala.Int`) are resolved by mirrors. - * - * Therefore to build a type one needs to know a universe that the type is going to be bound to - * and a mirror that is going to resolve symbolic references (e.g. to determine that `scala.Int` - * points to a core class `Int` from scala-library.jar). - * - * `TypeCreator` implements this notion by providing a standalone type factory. - * - * This is immediately useful for type tags. When the compiler creates a type tag, - * the end result needs to make sense in any mirror. That's because the compiler knows - * the universe it's creating a type tag for (since `TypeTag` is path-dependent on a universe), - * but it cannot know in advance the mirror to instantiate the result in (e.g. on JVM - * it doesn't know what classloader use to resolve symbolic names in the type tag). - * - * Due to a typechecker restriction (no eta-expansion for dependent method types), - * `TypeCreator` can't have a functional type, so it's implemented as class with an apply method. +/** This is an internal implementation class. + * + * @see [[http://docs.scala-lang.org/overviews/reflection/architecture.html]]. */ abstract class TypeCreator { def apply[U <: Universe with Singleton](m: scala.reflect.api.Mirror[U]): U # Type |