diff options
author | Eugene Burmako <xeno.by@gmail.com> | 2014-02-21 21:25:29 +0100 |
---|---|---|
committer | Eugene Burmako <xeno.by@gmail.com> | 2014-02-21 21:33:19 +0100 |
commit | 42031708b25f7252fab9992fe444651f8c141e40 (patch) | |
tree | 574385abd44805d8475af206e0914a7fcf29b5c9 /src | |
parent | 6ce573b491160c0998a35579cc83a4cee2592803 (diff) | |
download | scala-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.scala | 8 |
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) |