blob: 2e82e34bd93896793d1df0c4701a0c51dbde3d3a (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
package scala.reflect.macros
package compiler
import scala.tools.nsc.Global
abstract class DefaultMacroCompiler extends Resolvers
with Validators
with Errors {
val global: Global
import global._
val typer: global.analyzer.Typer
val context = typer.context
val macroDdef: DefDef
lazy val macroDef = macroDdef.symbol
private case class MacroImplResolutionException(pos: Position, msg: String) extends Exception
def abort(pos: Position, msg: String) = throw MacroImplResolutionException(pos, msg)
def resolveMacroImpl: Tree = {
try {
validateMacroImplRef()
macroImplRef
} catch {
case MacroImplResolutionException(pos, msg) =>
context.error(pos, msg)
EmptyTree
}
}
}
|