Scala Compiler2.12.21 < Back
 

# Packages

-  package root

  The Scala compiler and reflection APIs.

  The Scala compiler and reflection APIs.

  Definition Classes
    root
-  package scala
  Definition Classes
    root
-  package tools
  Definition Classes
    scala
-  package nsc
  Definition Classes
    tools
-  package typechecker
  Definition Classes
    nsc
-  trait Macros extends MacroRuntimes with Traces with Helpers

  Code to deal with macros, namely with: * Compilation of macro definitions * Expansion of macro applications

  Code to deal with macros, namely with: * Compilation of macro definitions * Expansion of macro applications

  Say we have in a class C:

  def foo[T](xs: List[T]): T = macro fooBar

  Then fooBar needs to point to a static method of the following form:

  def fooBar[T: c.WeakTypeTag] // type tag annotation is optional (c: scala.reflect.macros.blackbox.Context) (xs: c.Expr[List[T]]) : c.Expr[T] = { ... }

  Then, if foo is called in qual.foo[Int](elems), where qual: D, the macro application is expanded to a reflective invocation of fooBar with parameters:

  (simpleMacroContext{ type PrefixType = D; val prefix = qual }) (Expr(elems)) (TypeTag(Int))

  Definition Classes
    typechecker
- DefMacroExpander
- Delayed
- Failure
- Fallback
- JavaReflectionResolvers
- MacroArgs
- MacroExpander
- MacroImplBinding
- MacroRuntimeResolver
- MacroStatus
- Skipped
- Success

o

scala.tools.nsc.typechecker.Macros

# MacroImplBinding 

###
Companion class MacroImplBinding

#### object MacroImplBinding extends Serializable

Source
  Macros.scala

Linear Supertypes
Serializable, java.io.Serializable, AnyRef, Any
 
Ordering

1. Alphabetic
2. By Inheritance

Inherited

1. MacroImplBinding
2. Serializable
3. Serializable
4. AnyRef
5. Any

1. Hide All
2. Show All

Visibility

1. Public
2. All

### Value Members

1.  final def !=(arg0: Any): Boolean
   Definition Classes
     AnyRef → Any
2.  final def ##(): Int
   Definition Classes
     AnyRef → Any
3.  final def ==(arg0: Any): Boolean
   Definition Classes
     AnyRef → Any
4.  final def asInstanceOf[T0]: T0
   Definition Classes
     Any
5.  def clone(): AnyRef
   Attributes
     protected[lang]
   Definition Classes
     AnyRef
   Annotations
     @throws( ... ) @native()
6.  final def eq(arg0: AnyRef): Boolean
   Definition Classes
     AnyRef
7.  def equals(arg0: Any): Boolean
   Definition Classes
     AnyRef → Any
8.  def finalize(): Unit
   Attributes
     protected[lang]
   Definition Classes
     AnyRef
   Annotations
     @throws( classOf[java.lang.Throwable] )
9.  final def getClass(): Class[_]
   Definition Classes
     AnyRef → Any
   Annotations
     @native()
10.  def hashCode(): Int
    Definition Classes
      AnyRef → Any
    Annotations
      @native()
11.  final def isInstanceOf[T0]: Boolean
    Definition Classes
      Any
12.  final def ne(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef
13.  final def notify(): Unit
    Definition Classes
      AnyRef
    Annotations
      @native()
14.  final def notifyAll(): Unit
    Definition Classes
      AnyRef
    Annotations
      @native()
15.  def pickle(macroImplRef: Global.Tree): Global.Tree
16.  def pickleAtom(obj: Any): Global.Tree
17.  final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
      AnyRef
18.  def toString(): String
    Definition Classes
      AnyRef → Any
19.  def unpickle(pickle: Global.Tree): Analyzer.MacroImplBinding
20.  def unpickleAtom(tree: Global.Tree): Any
21.  final def wait(): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws( ... )
22.  final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws( ... )
23.  final def wait(arg0: Long): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws( ... ) @native()

### Inherited from Serializable

### Inherited from java.io.Serializable

### Inherited from AnyRef

### Inherited from Any

### Ungrouped