summaryrefslogtreecommitdiff
path: root/src/reflect/scala/reflect/runtime/JavaUniverseForce.scala
diff options
context:
space:
mode:
authorEugene Burmako <xeno.by@gmail.com>2014-01-30 10:01:31 +0300
committerEugene Burmako <xeno.by@gmail.com>2014-02-14 23:51:22 +0100
commit2155ca4bba9de396bde32588e63736042178ca49 (patch)
treeaecc2f712969d67e8d2931303205b8fa4725d658 /src/reflect/scala/reflect/runtime/JavaUniverseForce.scala
parent114c99691674873393223a11a9aa9168c3f41d77 (diff)
downloadscala-2155ca4bba9de396bde32588e63736042178ca49.tar.gz
scala-2155ca4bba9de396bde32588e63736042178ca49.tar.bz2
scala-2155ca4bba9de396bde32588e63736042178ca49.zip
reflection API compatibility with 2.10.x
This is just one of the possible strategies for compatibility with reflection API of 2.10.x family. Here’s the discussion: 1) Do nothing. Document the fact that we’ve organized internal APIs in a separate module and let people figure out themselves. Pros: no boilerplate on our side. Cons: potential for confusion, major upfront migration effort. 2) (This commit). Introduce a compatibility pack with a manual import. Compatibility pack lives in a separate module that has to be manually imported. People will get compilation errors when trying to compile macros using internal APIs against 2.11, but those will be quenched by a single `import compat._` import. Compatibility stubs would still produce deprecation warnings, but people can choose to ignore them to alleviate migration costs. Pros: brings attention of the users to the fact that they are using internal APIs by providing a more powerful nudge than just deprecation. Cons: even though migration effort is trivial, it is still non-zero. 3) Deprecate internal APIs in-place. Pros: zero migration effort required. Cons: those who ignore deprecations will be unaware about using internal APIs, there will be some naming conflicts between Universe.xxxType and internal.xxxType type factories.
Diffstat (limited to 'src/reflect/scala/reflect/runtime/JavaUniverseForce.scala')
-rw-r--r--src/reflect/scala/reflect/runtime/JavaUniverseForce.scala1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/reflect/scala/reflect/runtime/JavaUniverseForce.scala b/src/reflect/scala/reflect/runtime/JavaUniverseForce.scala
index be8a2865d3..01655bdb54 100644
--- a/src/reflect/scala/reflect/runtime/JavaUniverseForce.scala
+++ b/src/reflect/scala/reflect/runtime/JavaUniverseForce.scala
@@ -31,6 +31,7 @@ trait JavaUniverseForce { self: runtime.JavaUniverse =>
this.rootMirror
this.traceSymbols
this.perRunCaches
+ this.compat
this.treeBuild
this.FreshNameExtractor
this.FixedMirrorTreeCreator