Skip to content

Commit 4634e1f

Browse files
committed
Supports Proxy config option
1 parent eefd9f8 commit 4634e1f

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

core/src/main/scala/magnolia1/magnolia.scala

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,15 +56,15 @@ object Magnolia {
5656
import c.universe._
5757

5858
val weakConfig = weakTypeOf[C]
59-
val proxyType: c.Type = weakConfig.decl(TypeName("Proxy")).info
59+
val proxyType: c.Symbol = weakConfig.decl(TypeName("Proxy"))
6060
val ignoreType: c.Type = weakConfig.decl(TypeName("Ignore")).info
6161
val NullaryMethodType(ConstantType(Constant(readOnly: Boolean))) = weakConfig.decl(TermName("readOnly")).info
6262
val NullaryMethodType(ConstantType(Constant(minFields: Int))) = weakConfig.decl(TermName("minFields")).info
6363
val NullaryMethodType(ConstantType(Constant(maxFields: Int))) = weakConfig.decl(TermName("maxFields")).info
6464
val NullaryMethodType(ConstantType(Constant(minCases: Int))) = weakConfig.decl(TermName("minCases")).info
6565
val NullaryMethodType(ConstantType(Constant(maxCases: Int))) = weakConfig.decl(TermName("maxCases")).info
6666

67-
genMacro[T, c.Type, c.Type](c, Some(MagnoliaConfig(proxyType, ignoreType, readOnly, minFields, maxFields, minCases, maxCases)))
67+
genMacro[T, c.Symbol, c.Type](c, Some(MagnoliaConfig(proxyType, ignoreType, readOnly, minFields, maxFields, minCases, maxCases)))
6868
}
6969

7070
def gen[T: c.WeakTypeTag](c: whitebox.Context): c.Tree = {
@@ -84,7 +84,7 @@ object Magnolia {
8484
def warning(message: String): Unit = c.warning(c.enclosingPosition, s"magnolia: $message")
8585

8686
val prefixType = c.prefix.tree.tpe
87-
val prefixObject = prefixType.typeSymbol
87+
val prefixObject = config.map(_.proxyType.asInstanceOf[c.Symbol]).getOrElse(prefixType.typeSymbol)
8888
val prefixName = prefixObject.name.decodedName
8989

9090
val TypeClassNme = TypeName("Typeclass")

0 commit comments

Comments
 (0)