提交 4a3f8d4d 编写于 作者: 梦境迷离's avatar 梦境迷离

fix

上级 6a3cf303
......@@ -81,7 +81,7 @@ class DeriveScalableBuilder(override val c: whitebox.Context) extends AbstractMa
expr.tree match {
case buildFunction: Function =>
val functionName = TermName(builderFunctionPrefix + key)
key -> q"lazy val $functionName: ${buildFunction.tpe} = $buildFunction"
key -> q"lazy val $functionName: ${buildFunction.tpe} = $buildFunction"
}
}.unzip
val innerVarTermName = TermName("_columns")
......
......@@ -49,26 +49,26 @@ object DeriveToCaseClass {
val genericType = c.typecheck(q"${idxType._2}", c.TYPEmode).tpe.typeArgs.head
q"$packageName.Converter[${genericType.typeSymbol.name.toTypeName}].toScala($columnValues)"
} else {
val caseClassFileTypeName = TypeName(idxType._2.typeSymbol.name.decodedName.toString)
val caseClassFieldTypeName = TypeName(idxType._2.typeSymbol.name.decodedName.toString)
idxType._2 match {
case t if t =:= typeOf[Int] =>
q"$packageName.Converter[$caseClassFileTypeName].toScala($columnValues).getOrElse(0)"
q"$packageName.Converter[$caseClassFieldTypeName].toScala($columnValues).getOrElse(0)"
case t if t =:= typeOf[String] =>
q"""$packageName.Converter[$caseClassFileTypeName].toScala($columnValues).getOrElse("")"""
q"""$packageName.Converter[$caseClassFieldTypeName].toScala($columnValues).getOrElse("")"""
case t if t =:= typeOf[Float] =>
q"$packageName.Converter[$caseClassFileTypeName].toScala($columnValues).getOrElse(0F)"
q"$packageName.Converter[$caseClassFieldTypeName].toScala($columnValues).getOrElse(0F)"
case t if t =:= typeOf[Double] =>
q"$packageName.Converter[$caseClassFileTypeName].toScala($columnValues).getOrElse(0D)"
q"$packageName.Converter[$caseClassFieldTypeName].toScala($columnValues).getOrElse(0D)"
case t if t =:= typeOf[Char] =>
q"$packageName.Converter[$caseClassFileTypeName].toScala($columnValues).getOrElse('?')"
q"$packageName.Converter[$caseClassFieldTypeName].toScala($columnValues).getOrElse('?')"
case t if t =:= typeOf[Byte] =>
q"$packageName.Converter[$caseClassFileTypeName].toScala($columnValues).getOrElse(0)"
q"$packageName.Converter[$caseClassFieldTypeName].toScala($columnValues).getOrElse(0)"
case t if t =:= typeOf[Short] =>
q"$packageName.Converter[$caseClassFileTypeName].toScala($columnValues).getOrElse(0)"
q"$packageName.Converter[$caseClassFieldTypeName].toScala($columnValues).getOrElse(0)"
case t if t =:= typeOf[Boolean] =>
q"$packageName.Converter[$caseClassFileTypeName].toScala($columnValues).getOrElse(false)"
q"$packageName.Converter[$caseClassFieldTypeName].toScala($columnValues).getOrElse(false)"
case t if t =:= typeOf[Long] =>
q"$packageName.Converter[$caseClassFileTypeName].toScala($columnValues).getOrElse(0L)"
q"$packageName.Converter[$caseClassFieldTypeName].toScala($columnValues).getOrElse(0L)"
}
}
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册