Skip to content

Commit

Permalink
cleanup
Browse files Browse the repository at this point in the history
  • Loading branch information
mkrzemien committed Jun 6, 2020
1 parent 21dddb8 commit b14a034
Show file tree
Hide file tree
Showing 61 changed files with 225 additions and 166 deletions.
Expand Up @@ -9,14 +9,15 @@ import scala.reflect.macros.blackbox
object MacwireAkkaMacros {
private val log = new Logger()

def wireProps_Impl[T: c.WeakTypeTag](c: blackbox.Context): c.Expr[Props] = new internals.Crimper[c.type, T](c, log).wireProps
def wireAnonymousActor_Impl[T: c.WeakTypeTag](c: blackbox.Context): c.Expr[ActorRef] = new internals.Crimper[c.type, T](c, log).wireAnonymousActor
def wireActor_Impl[T: c.WeakTypeTag](c: blackbox.Context)(name: c.Expr[String]): c.Expr[ActorRef] = new internals.Crimper[c.type, T](c, log).wireActor(name)
def wirePropsWith_Impl[T: c.WeakTypeTag](c: blackbox.Context): c.Expr[Props] = new internals.Crimper[c.type, T](c, log).wirePropsWithProducer
def wireAnonymousActorWith_Impl[T: c.WeakTypeTag](c: blackbox.Context): c.Expr[ActorRef] = new internals.Crimper[c.type, T](c, log).wireAnonymousActorWithProducer
def wireActorWith_Impl[T: c.WeakTypeTag](c: blackbox.Context)(name: c.Expr[String]): c.Expr[ActorRef] = new internals.Crimper[c.type, T](c, log).wireActorWithProducer(name)
def wireProps_Impl[T: c.WeakTypeTag](c: blackbox.Context): c.Expr[Props] = new internals.Crimper[c.type, T](c, log).wireProps
def wireAnonymousActor_Impl[T: c.WeakTypeTag](c: blackbox.Context): c.Expr[ActorRef] = new internals.Crimper[c.type, T](c, log).wireAnonymousActor
def wireActor_Impl[T: c.WeakTypeTag](c: blackbox.Context)(name: c.Expr[String]): c.Expr[ActorRef] = new internals.Crimper[c.type, T](c, log).wireActor(name)

def wirePropsWithFactory_Impl[T: c.WeakTypeTag](c: blackbox.Context)(factory: c.Tree): c.Expr[Props] = new internals.Crimper[c.type, T](c, log).wirePropsWithFactory(factory)
def wireAnonymousActorWithFactory_Impl[T: c.WeakTypeTag](c: blackbox.Context)(factory: c.Tree): c.Expr[ActorRef] = new internals.Crimper[c.type, T](c, log).wireAnonymousActorWithFactory(factory)
def wireActorWithFactory_Impl[T: c.WeakTypeTag](c: blackbox.Context)(factory: c.Tree)(name: c.Expr[String]): c.Expr[ActorRef] = new internals.Crimper[c.type, T](c, log).wireActorWithFactory(factory)(name)
def wirePropsWithProducer_Impl[T: c.WeakTypeTag](c: blackbox.Context): c.Expr[Props] = new internals.Crimper[c.type, T](c, log).wirePropsWithProducer
def wireAnonymousActorWithProducer_Impl[T: c.WeakTypeTag](c: blackbox.Context): c.Expr[ActorRef] = new internals.Crimper[c.type, T](c, log).wireAnonymousActorWithProducer
def wireActorWithProducer_Impl[T: c.WeakTypeTag](c: blackbox.Context)(name: c.Expr[String]): c.Expr[ActorRef] = new internals.Crimper[c.type, T](c, log).wireActorWithProducer(name)

def wirePropsWithFactory_Impl[T: c.WeakTypeTag](c: blackbox.Context)(factory: c.Tree): c.Expr[Props] = new internals.Crimper[c.type, T](c, log).wirePropsWithFactory(factory)
def wireAnonymousActorWithFactory_Impl[T: c.WeakTypeTag](c: blackbox.Context)(factory: c.Tree): c.Expr[ActorRef] = new internals.Crimper[c.type, T](c, log).wireAnonymousActorWithFactory(factory)
def wireActorWithFactory_Impl[T: c.WeakTypeTag](c: blackbox.Context)(factory: c.Tree)(name: c.Expr[String]): c.Expr[ActorRef] = new internals.Crimper[c.type, T](c, log).wireActorWithFactory(factory)(name)
}
Expand Up @@ -38,7 +38,7 @@ private[macwire] final class Crimper[C <: blackbox.Context, T: C#WeakTypeTag](va

def wireActor(name: c.Expr[String]): c.Expr[ActorRef] = log.withBlock(s"wireActor[$targetType]: at ${c.enclosingPosition}") {
val tree = q"$actorRefFactoryTree.actorOf($propsTree, ${name.tree})"
log("Generated code: " + showCode(tree))
log("Generated code: " + showRaw(tree))
c.Expr[ActorRef](tree)
}

Expand All @@ -47,6 +47,16 @@ private[macwire] final class Crimper[C <: blackbox.Context, T: C#WeakTypeTag](va
case _ => c.abort(c.enclosingPosition, s"wirePropsWith does not support the type: [$targetType]")
}

lazy val wireAnonymousActorWithProducer: c.Expr[ActorRef] = weakTypeOf[T] match {
case t if t <:< typeOf[IndirectActorProducer] => wireAnonymousActor
case _ => c.abort(c.enclosingPosition, s"wireAnonymousActorWith does not support the type: [$targetType]")
}

def wireActorWithProducer(name: c.Expr[String]): c.Expr[ActorRef] = weakTypeOf[T] match {
case t if t <:< typeOf[IndirectActorProducer] => wireActor(name)
case _ => c.abort(c.enclosingPosition, s"wireActorWith does not support the type: [$targetType]")
}

def wirePropsWithFactory(factory: c.Tree): c.Expr[Props] = log.withBlock(s"wireProps[$targetType]: at ${c.enclosingPosition}") {
import com.softwaremill.macwire.MacwireMacros._

Expand All @@ -56,26 +66,16 @@ private[macwire] final class Crimper[C <: blackbox.Context, T: C#WeakTypeTag](va
c.Expr[Props](propsTree)
}

lazy val wireAnonymousActorWithProducer: c.Expr[ActorRef] = weakTypeOf[T] match {
case t if t <:< typeOf[IndirectActorProducer] => wireAnonymousActor
case _ => c.abort(c.enclosingPosition, s"wireAnonymousActorWith does not support the type: [$targetType]")
}

def wireAnonymousActorWithFactory(factory: c.Tree): c.Expr[ActorRef] = log.withBlock(s"Constructing ActorRef. Trying to find arguments for constructor of: [$targetType] at ${c.enclosingPosition}") {
import com.softwaremill.macwire.MacwireMacros._

val funTree = wireWith_impl(c)(factory)
val propsTree = q"akka.actor.Props($funTree)"
val tree = q"$actorRefFactoryTree.actorOf($propsTree)"
log("Generated code: " + showCode(tree))
log("Generated code: " + showRaw(tree))
c.Expr[ActorRef](tree)
}

def wireActorWithProducer(name: c.Expr[String]): c.Expr[ActorRef] = weakTypeOf[T] match {
case t if t <:< typeOf[IndirectActorProducer] => wireActor(name)
case _ => c.abort(c.enclosingPosition, s"wireActorWith does not support the type: [$targetType]")
}

def wireActorWithFactory(factory: c.Tree)(name: c.Expr[String]): c.Expr[ActorRef] = log.withBlock(s"wireActorWithProducer[$targetType]: at ${c.enclosingPosition}") {
import com.softwaremill.macwire.MacwireMacros._

Expand Down
Expand Up @@ -8,24 +8,81 @@ package object akkasupport {
def wireProps[T <: Actor]: Props = macro MacwireAkkaMacros.wireProps_Impl[T]
def wireAnonymousActor[T <: Actor]: ActorRef = macro MacwireAkkaMacros.wireAnonymousActor_Impl[T]
def wireActor[T <: Actor](name: String): ActorRef = macro MacwireAkkaMacros.wireActor_Impl[T]
def wirePropsWith[T]: Props = macro MacwireAkkaMacros.wirePropsWith_Impl[T]
def wireAnonymousActorWith[T]: ActorRef = macro MacwireAkkaMacros.wireAnonymousActorWith_Impl[T]
def wireActorWith[T](name: String): ActorRef = macro MacwireAkkaMacros.wireActorWith_Impl[T]

def wirePropsWith[T](factory: () => T): Props = macro MacwireAkkaMacros.wirePropsWithFactory_Impl[T]
def wirePropsWith[A, T](factory: (A) => T): Props = macro MacwireAkkaMacros.wirePropsWithFactory_Impl[T]
def wirePropsWith[A, B, T](factory: (A, B) => T): Props = macro MacwireAkkaMacros.wirePropsWithFactory_Impl[T]
def wirePropsWith[A, B, C, T](factory: (A, B, C) => T): Props = macro MacwireAkkaMacros.wirePropsWithFactory_Impl[T]

def wireAnonymousActorWith[T](factory: () => T): ActorRef = macro MacwireAkkaMacros.wireAnonymousActorWithFactory_Impl[T]
def wireAnonymousActorWith[A, T](factory: (A) => T): ActorRef = macro MacwireAkkaMacros.wireAnonymousActorWithFactory_Impl[T]
def wireAnonymousActorWith[A, B, T](factory: (A, B) => T): ActorRef = macro MacwireAkkaMacros.wireAnonymousActorWithFactory_Impl[T]
def wireAnonymousActorWith[A, B, C, T](factory: (A, B, C) => T): ActorRef = macro MacwireAkkaMacros.wireAnonymousActorWithFactory_Impl[T]
//FIXME: more function types

def wireActorWith[T](factory: () => T)(name: String): ActorRef = macro MacwireAkkaMacros.wireActorWithFactory_Impl[T]
def wireActorWith[A, T](factory: (A) => T)(name: String): ActorRef = macro MacwireAkkaMacros.wireActorWithFactory_Impl[T]
def wireActorWith[A, B, T](factory: (A, B) => T)(name: String): ActorRef = macro MacwireAkkaMacros.wireActorWithFactory_Impl[T]
def wireActorWith[A, B, C, T](factory: (A, B, C) => T)(name: String): ActorRef = macro MacwireAkkaMacros.wireActorWithFactory_Impl[T]

def wirePropsWith[T]: Props = macro MacwireAkkaMacros.wirePropsWithProducer_Impl[T]
def wireAnonymousActorWith[T]: ActorRef = macro MacwireAkkaMacros.wireAnonymousActorWithProducer_Impl[T]
def wireActorWith[T](name: String): ActorRef = macro MacwireAkkaMacros.wireActorWithProducer_Impl[T]

def wirePropsWith[RES](factory: () => RES): Props = macro MacwireAkkaMacros.wirePropsWithFactory_Impl[RES]
def wirePropsWith[A,RES](factory: (A) => RES): Props = macro MacwireAkkaMacros.wirePropsWithFactory_Impl[RES]
def wirePropsWith[A,B,RES](factory: (A,B) => RES): Props = macro MacwireAkkaMacros.wirePropsWithFactory_Impl[RES]
def wirePropsWith[A,B,C,RES](factory: (A,B,C) => RES): Props = macro MacwireAkkaMacros.wirePropsWithFactory_Impl[RES]
def wirePropsWith[A,B,C,D,RES](factory: (A,B,C,D) => RES): Props = macro MacwireAkkaMacros.wirePropsWithFactory_Impl[RES]
def wirePropsWith[A,B,C,D,E,RES](factory: (A,B,C,D,E) => RES): Props = macro MacwireAkkaMacros.wirePropsWithFactory_Impl[RES]
def wirePropsWith[A,B,C,D,E,F,RES](factory: (A,B,C,D,E,F) => RES): Props = macro MacwireAkkaMacros.wirePropsWithFactory_Impl[RES]
def wirePropsWith[A,B,C,D,E,F,G,RES](factory: (A,B,C,D,E,F,G) => RES): Props = macro MacwireAkkaMacros.wirePropsWithFactory_Impl[RES]
def wirePropsWith[A,B,C,D,E,F,G,H,RES](factory: (A,B,C,D,E,F,G,H) => RES): Props = macro MacwireAkkaMacros.wirePropsWithFactory_Impl[RES]
def wirePropsWith[A,B,C,D,E,F,G,H,I,RES](factory: (A,B,C,D,E,F,G,H,I) => RES): Props = macro MacwireAkkaMacros.wirePropsWithFactory_Impl[RES]
def wirePropsWith[A,B,C,D,E,F,G,H,I,J,RES](factory: (A,B,C,D,E,F,G,H,I,J) => RES): Props = macro MacwireAkkaMacros.wirePropsWithFactory_Impl[RES]
def wirePropsWith[A,B,C,D,E,F,G,H,I,J,K,RES](factory: (A,B,C,D,E,F,G,H,I,J,K) => RES): Props = macro MacwireAkkaMacros.wirePropsWithFactory_Impl[RES]
def wirePropsWith[A,B,C,D,E,F,G,H,I,J,K,L,RES](factory: (A,B,C,D,E,F,G,H,I,J,K,L) => RES): Props = macro MacwireAkkaMacros.wirePropsWithFactory_Impl[RES]
def wirePropsWith[A,B,C,D,E,F,G,H,I,J,K,L,M,RES](factory: (A,B,C,D,E,F,G,H,I,J,K,L,M) => RES): Props = macro MacwireAkkaMacros.wirePropsWithFactory_Impl[RES]
def wirePropsWith[A,B,C,D,E,F,G,H,I,J,K,L,M,N,RES](factory: (A,B,C,D,E,F,G,H,I,J,K,L,M,N) => RES): Props = macro MacwireAkkaMacros.wirePropsWithFactory_Impl[RES]
def wirePropsWith[A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,RES](factory: (A,B,C,D,E,F,G,H,I,J,K,L,M,N,O) => RES): Props = macro MacwireAkkaMacros.wirePropsWithFactory_Impl[RES]
def wirePropsWith[A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,RES](factory: (A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P) => RES): Props = macro MacwireAkkaMacros.wirePropsWithFactory_Impl[RES]
def wirePropsWith[A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,RES](factory: (A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q) => RES): Props = macro MacwireAkkaMacros.wirePropsWithFactory_Impl[RES]
def wirePropsWith[A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,RES](factory: (A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R) => RES): Props = macro MacwireAkkaMacros.wirePropsWithFactory_Impl[RES]
def wirePropsWith[A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,RES](factory: (A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S) => RES): Props = macro MacwireAkkaMacros.wirePropsWithFactory_Impl[RES]
def wirePropsWith[A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,RES](factory: (A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T) => RES): Props = macro MacwireAkkaMacros.wirePropsWithFactory_Impl[RES]
def wirePropsWith[A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,RES](factory: (A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U) => RES): Props = macro MacwireAkkaMacros.wirePropsWithFactory_Impl[RES]
def wirePropsWith[A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,RES](factory: (A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V) => RES): Props = macro MacwireAkkaMacros.wirePropsWithFactory_Impl[RES]

def wireAnonymousActorWith[RES](factory: () => RES): ActorRef = macro MacwireAkkaMacros.wireAnonymousActorWithFactory_Impl[RES]
def wireAnonymousActorWith[A,RES](factory: (A) => RES): ActorRef = macro MacwireAkkaMacros.wireAnonymousActorWithFactory_Impl[RES]
def wireAnonymousActorWith[A,B,RES](factory: (A,B) => RES): ActorRef = macro MacwireAkkaMacros.wireAnonymousActorWithFactory_Impl[RES]
def wireAnonymousActorWith[A,B,C,RES](factory: (A,B,C) => RES): ActorRef = macro MacwireAkkaMacros.wireAnonymousActorWithFactory_Impl[RES]
def wireAnonymousActorWith[A,B,C,D,RES](factory: (A,B,C,D) => RES): ActorRef = macro MacwireAkkaMacros.wireAnonymousActorWithFactory_Impl[RES]
def wireAnonymousActorWith[A,B,C,D,E,RES](factory: (A,B,C,D,E) => RES): ActorRef = macro MacwireAkkaMacros.wireAnonymousActorWithFactory_Impl[RES]
def wireAnonymousActorWith[A,B,C,D,E,F,RES](factory: (A,B,C,D,E,F) => RES): ActorRef = macro MacwireAkkaMacros.wireAnonymousActorWithFactory_Impl[RES]
def wireAnonymousActorWith[A,B,C,D,E,F,G,RES](factory: (A,B,C,D,E,F,G) => RES): ActorRef = macro MacwireAkkaMacros.wireAnonymousActorWithFactory_Impl[RES]
def wireAnonymousActorWith[A,B,C,D,E,F,G,H,RES](factory: (A,B,C,D,E,F,G,H) => RES): ActorRef = macro MacwireAkkaMacros.wireAnonymousActorWithFactory_Impl[RES]
def wireAnonymousActorWith[A,B,C,D,E,F,G,H,I,RES](factory: (A,B,C,D,E,F,G,H,I) => RES): ActorRef = macro MacwireAkkaMacros.wireAnonymousActorWithFactory_Impl[RES]
def wireAnonymousActorWith[A,B,C,D,E,F,G,H,I,J,RES](factory: (A,B,C,D,E,F,G,H,I,J) => RES): ActorRef = macro MacwireAkkaMacros.wireAnonymousActorWithFactory_Impl[RES]
def wireAnonymousActorWith[A,B,C,D,E,F,G,H,I,J,K,RES](factory: (A,B,C,D,E,F,G,H,I,J,K) => RES): ActorRef = macro MacwireAkkaMacros.wireAnonymousActorWithFactory_Impl[RES]
def wireAnonymousActorWith[A,B,C,D,E,F,G,H,I,J,K,L,RES](factory: (A,B,C,D,E,F,G,H,I,J,K,L) => RES): ActorRef = macro MacwireAkkaMacros.wireAnonymousActorWithFactory_Impl[RES]
def wireAnonymousActorWith[A,B,C,D,E,F,G,H,I,J,K,L,M,RES](factory: (A,B,C,D,E,F,G,H,I,J,K,L,M) => RES): ActorRef = macro MacwireAkkaMacros.wireAnonymousActorWithFactory_Impl[RES]
def wireAnonymousActorWith[A,B,C,D,E,F,G,H,I,J,K,L,M,N,RES](factory: (A,B,C,D,E,F,G,H,I,J,K,L,M,N) => RES): ActorRef = macro MacwireAkkaMacros.wireAnonymousActorWithFactory_Impl[RES]
def wireAnonymousActorWith[A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,RES](factory: (A,B,C,D,E,F,G,H,I,J,K,L,M,N,O) => RES): ActorRef = macro MacwireAkkaMacros.wireAnonymousActorWithFactory_Impl[RES]
def wireAnonymousActorWith[A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,RES](factory: (A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P) => RES): ActorRef = macro MacwireAkkaMacros.wireAnonymousActorWithFactory_Impl[RES]
def wireAnonymousActorWith[A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,RES](factory: (A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q) => RES): ActorRef = macro MacwireAkkaMacros.wireAnonymousActorWithFactory_Impl[RES]
def wireAnonymousActorWith[A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,RES](factory: (A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R) => RES): ActorRef = macro MacwireAkkaMacros.wireAnonymousActorWithFactory_Impl[RES]
def wireAnonymousActorWith[A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,RES](factory: (A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S) => RES): ActorRef = macro MacwireAkkaMacros.wireAnonymousActorWithFactory_Impl[RES]
def wireAnonymousActorWith[A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,RES](factory: (A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T) => RES): ActorRef = macro MacwireAkkaMacros.wireAnonymousActorWithFactory_Impl[RES]
def wireAnonymousActorWith[A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,RES](factory: (A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U) => RES): ActorRef = macro MacwireAkkaMacros.wireAnonymousActorWithFactory_Impl[RES]
def wireAnonymousActorWith[A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,RES](factory: (A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V) => RES): ActorRef = macro MacwireAkkaMacros.wireAnonymousActorWithFactory_Impl[RES]

def wireActorWith[RES](factory: () => RES)(name: String): ActorRef = macro MacwireAkkaMacros.wireActorWithFactory_Impl[RES]
def wireActorWith[A,RES](factory: (A) => RES)(name: String): ActorRef = macro MacwireAkkaMacros.wireActorWithFactory_Impl[RES]
def wireActorWith[A,B,RES](factory: (A,B) => RES)(name: String): ActorRef = macro MacwireAkkaMacros.wireActorWithFactory_Impl[RES]
def wireActorWith[A,B,C,RES](factory: (A,B,C) => RES)(name: String): ActorRef = macro MacwireAkkaMacros.wireActorWithFactory_Impl[RES]
def wireActorWith[A,B,C,D,RES](factory: (A,B,C,D) => RES)(name: String): ActorRef = macro MacwireAkkaMacros.wireActorWithFactory_Impl[RES]
def wireActorWith[A,B,C,D,E,RES](factory: (A,B,C,D,E) => RES)(name: String): ActorRef = macro MacwireAkkaMacros.wireActorWithFactory_Impl[RES]
def wireActorWith[A,B,C,D,E,F,RES](factory: (A,B,C,D,E,F) => RES)(name: String): ActorRef = macro MacwireAkkaMacros.wireActorWithFactory_Impl[RES]
def wireActorWith[A,B,C,D,E,F,G,RES](factory: (A,B,C,D,E,F,G) => RES)(name: String): ActorRef = macro MacwireAkkaMacros.wireActorWithFactory_Impl[RES]
def wireActorWith[A,B,C,D,E,F,G,H,RES](factory: (A,B,C,D,E,F,G,H) => RES)(name: String): ActorRef = macro MacwireAkkaMacros.wireActorWithFactory_Impl[RES]
def wireActorWith[A,B,C,D,E,F,G,H,I,RES](factory: (A,B,C,D,E,F,G,H,I) => RES)(name: String): ActorRef = macro MacwireAkkaMacros.wireActorWithFactory_Impl[RES]
def wireActorWith[A,B,C,D,E,F,G,H,I,J,RES](factory: (A,B,C,D,E,F,G,H,I,J) => RES)(name: String): ActorRef = macro MacwireAkkaMacros.wireActorWithFactory_Impl[RES]
def wireActorWith[A,B,C,D,E,F,G,H,I,J,K,RES](factory: (A,B,C,D,E,F,G,H,I,J,K) => RES)(name: String): ActorRef = macro MacwireAkkaMacros.wireActorWithFactory_Impl[RES]
def wireActorWith[A,B,C,D,E,F,G,H,I,J,K,L,RES](factory: (A,B,C,D,E,F,G,H,I,J,K,L) => RES)(name: String): ActorRef = macro MacwireAkkaMacros.wireActorWithFactory_Impl[RES]
def wireActorWith[A,B,C,D,E,F,G,H,I,J,K,L,M,RES](factory: (A,B,C,D,E,F,G,H,I,J,K,L,M) => RES)(name: String): ActorRef = macro MacwireAkkaMacros.wireActorWithFactory_Impl[RES]
def wireActorWith[A,B,C,D,E,F,G,H,I,J,K,L,M,N,RES](factory: (A,B,C,D,E,F,G,H,I,J,K,L,M,N) => RES)(name: String): ActorRef = macro MacwireAkkaMacros.wireActorWithFactory_Impl[RES]
def wireActorWith[A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,RES](factory: (A,B,C,D,E,F,G,H,I,J,K,L,M,N,O) => RES)(name: String): ActorRef = macro MacwireAkkaMacros.wireActorWithFactory_Impl[RES]
def wireActorWith[A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,RES](factory: (A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P) => RES)(name: String): ActorRef = macro MacwireAkkaMacros.wireActorWithFactory_Impl[RES]
def wireActorWith[A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,RES](factory: (A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q) => RES)(name: String): ActorRef = macro MacwireAkkaMacros.wireActorWithFactory_Impl[RES]
def wireActorWith[A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,RES](factory: (A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R) => RES)(name: String): ActorRef = macro MacwireAkkaMacros.wireActorWithFactory_Impl[RES]
def wireActorWith[A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,RES](factory: (A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S) => RES)(name: String): ActorRef = macro MacwireAkkaMacros.wireActorWithFactory_Impl[RES]
def wireActorWith[A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,RES](factory: (A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T) => RES)(name: String): ActorRef = macro MacwireAkkaMacros.wireActorWithFactory_Impl[RES]
def wireActorWith[A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,RES](factory: (A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U) => RES)(name: String): ActorRef = macro MacwireAkkaMacros.wireActorWithFactory_Impl[RES]
def wireActorWith[A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,RES](factory: (A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V) => RES)(name: String): ActorRef = macro MacwireAkkaMacros.wireActorWithFactory_Impl[RES]
}

Expand Up @@ -18,9 +18,9 @@ object SomeActor {
private def get(a: A) = new SomeActor(a)
}

val a = new A{}

val system = ActorSystem("wireActorWithFactory-12-privateMethod")
AfterAllTerminate(system)

val a = new A{}

val someActor = wireActorWith(SomeActor.get _)("bob")

0 comments on commit b14a034

Please sign in to comment.