@@ -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