summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorEugene Burmako <xeno.by@gmail.com>2014-02-21 21:25:29 +0100
committerEugene Burmako <xeno.by@gmail.com>2014-02-21 21:33:19 +0100
commit42031708b25f7252fab9992fe444651f8c141e40 (patch)
tree574385abd44805d8475af206e0914a7fcf29b5c9 /src
parent6ce573b491160c0998a35579cc83a4cee2592803 (diff)
downloadscala-42031708b25f7252fab9992fe444651f8c141e40.tar.gz
scala-42031708b25f7252fab9992fe444651f8c141e40.tar.bz2
scala-42031708b25f7252fab9992fe444651f8c141e40.zip
SI-8321 whitebox bundles are now recognized as such
whitebox.Context <: blackbox.Context, so in order to check for blackboxity it's not enough to check whether the context used is <: blackbox.Context.
Diffstat (limited to 'src')
-rw-r--r--src/reflect/scala/reflect/internal/Definitions.scala8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/reflect/scala/reflect/internal/Definitions.scala b/src/reflect/scala/reflect/internal/Definitions.scala
index e1d760a87a..20f6d51fcf 100644
--- a/src/reflect/scala/reflect/internal/Definitions.scala
+++ b/src/reflect/scala/reflect/internal/Definitions.scala
@@ -628,8 +628,12 @@ trait Definitions extends api.StandardDefinitions {
isContextCompatible && hasSingleConstructor && nonAbstract
}
- def isBlackboxMacroBundleType(tp: Type) =
- isMacroBundleType(tp) && (macroBundleParamInfo(tp) <:< BlackboxContextClass.tpe)
+ def isBlackboxMacroBundleType(tp: Type) = {
+ val isBundle = isMacroBundleType(tp)
+ val isBlackbox = (macroBundleParamInfo(tp) <:< BlackboxContextClass.tpe)
+ val notWhitebox = !(macroBundleParamInfo(tp) <:< WhiteboxContextClass.tpe)
+ isBundle && isBlackbox && notWhitebox
+ }
def isListType(tp: Type) = tp <:< classExistentialType(ListClass)
def isIterableType(tp: Type) = tp <:< classExistentialType(IterableClass)