aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJon Pretty <jon.pretty@propensive.com>2018-06-08 00:02:34 +0200
committerGitHub <noreply@github.com>2018-06-08 00:02:34 +0200
commita23741f40a38328662d09ab2353ddf5972c0c53f (patch)
tree31c317c39930e670302d6c255e55ffefe346bb45
parenta208e2f57dc0a6e06f4c47540d7a36a152c32caa (diff)
parent905de4e7bab4c252d9f879f25bc66c38855e401b (diff)
downloadmagnolia-a23741f40a38328662d09ab2353ddf5972c0c53f.tar.gz
magnolia-a23741f40a38328662d09ab2353ddf5972c0c53f.tar.bz2
magnolia-a23741f40a38328662d09ab2353ddf5972c0c53f.zip
Merge pull request #102 from vpavkin/vpavkin/fix-scalajs-compilation
Use encodedName to avoid invalid identifier names
-rw-r--r--core/shared/src/main/scala/magnolia.scala10
1 files changed, 5 insertions, 5 deletions
diff --git a/core/shared/src/main/scala/magnolia.scala b/core/shared/src/main/scala/magnolia.scala
index 1d45fa7..e46dd3a 100644
--- a/core/shared/src/main/scala/magnolia.scala
+++ b/core/shared/src/main/scala/magnolia.scala
@@ -101,7 +101,7 @@ object Magnolia {
def knownSubclasses(sym: ClassSymbol): List[Symbol] = {
val children = sym.knownDirectSubclasses.toList
val (abstractTypes, concreteTypes) = children.partition(_.isAbstract)
-
+
abstractTypes.map(_.asClass).flatMap(knownSubclasses(_)) ::: concreteTypes
}
@@ -167,7 +167,7 @@ object Magnolia {
def directInferImplicit(genericType: Type, typeConstructor: Type): Option[Tree] = {
val genericTypeName = genericType.typeSymbol.name.decodedName.toString.toLowerCase
- val assignedName = TermName(c.freshName(s"${genericTypeName}Typeclass"))
+ val assignedName = TermName(c.freshName(s"${genericTypeName}Typeclass")).encodedName.toTermName
val typeSymbol = genericType.typeSymbol
val classType = if (typeSymbol.isClass) Some(typeSymbol.asClass) else None
val isCaseClass = classType.exists(_.isCaseClass)
@@ -313,7 +313,7 @@ object Magnolia {
..$assignments
$typeNameDef
-
+
${c.prefix}.combine($magnoliaPkg.Magnolia.caseClass[$typeConstructor, $genericType](
$typeName,
false,
@@ -374,11 +374,11 @@ object Magnolia {
Some(q"""{
val $subtypesVal: $scalaPkg.Array[$magnoliaPkg.Subtype[$typeConstructor, $genericType]] =
new $scalaPkg.Array(${assignments.size})
-
+
..$assignments
$typeNameDef
-
+
${c.prefix}.dispatch(new $magnoliaPkg.SealedTrait(
$typeName,
$subtypesVal: $scalaPkg.Array[$magnoliaPkg.Subtype[$typeConstructor, $genericType]],