diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2014-06-27 16:04:37 +0200 |
---|---|---|
committer | Jason Zaugg <jzaugg@gmail.com> | 2014-06-27 16:04:37 +0200 |
commit | fbfce33cb03bc2b41dd0f46fa9f4630036b4f2ca (patch) | |
tree | 9219c9a2f186d51eceff3c7094412481a4b99b8d /src/compiler/scala/tools/nsc/typechecker/Macros.scala | |
parent | 856fe4ad0472ab71d91a6ab442fba77c4cf9950b (diff) | |
parent | a907887158a469b6a21d027fd37bc360e9009b2f (diff) | |
download | scala-fbfce33cb03bc2b41dd0f46fa9f4630036b4f2ca.tar.gz scala-fbfce33cb03bc2b41dd0f46fa9f4630036b4f2ca.tar.bz2 scala-fbfce33cb03bc2b41dd0f46fa9f4630036b4f2ca.zip |
Merge pull request #3778 from xeno-by/topic/plugins-is-blackbox
adds MacroPlugin.pluginsIsBlackbox
Diffstat (limited to 'src/compiler/scala/tools/nsc/typechecker/Macros.scala')
-rw-r--r-- | src/compiler/scala/tools/nsc/typechecker/Macros.scala | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/typechecker/Macros.scala b/src/compiler/scala/tools/nsc/typechecker/Macros.scala index f40a92f8e5..ef74beec62 100644 --- a/src/compiler/scala/tools/nsc/typechecker/Macros.scala +++ b/src/compiler/scala/tools/nsc/typechecker/Macros.scala @@ -263,7 +263,12 @@ trait Macros extends MacroRuntimes with Traces with Helpers { } def isBlackbox(expandee: Tree): Boolean = isBlackbox(dissectApplied(expandee).core.symbol) - def isBlackbox(macroDef: Symbol): Boolean = { + def isBlackbox(macroDef: Symbol): Boolean = pluginsIsBlackbox(macroDef) + + /** Default implementation of `isBlackbox`. + * Can be overridden by analyzer plugins (see AnalyzerPlugins.pluginsIsBlackbox for more details) + */ + def standardIsBlackbox(macroDef: Symbol): Boolean = { val fastTrackBoxity = fastTrack.get(macroDef).map(_.isBlackbox) val bindingBoxity = loadMacroImplBinding(macroDef).map(_.isBlackbox) fastTrackBoxity orElse bindingBoxity getOrElse false |