diff options
author | Jon Pretty <jon.pretty@propensive.com> | 2018-06-08 00:02:34 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-06-08 00:02:34 +0200 |
commit | a23741f40a38328662d09ab2353ddf5972c0c53f (patch) | |
tree | 31c317c39930e670302d6c255e55ffefe346bb45 /core/shared/src/main | |
parent | a208e2f57dc0a6e06f4c47540d7a36a152c32caa (diff) | |
parent | 905de4e7bab4c252d9f879f25bc66c38855e401b (diff) | |
download | magnolia-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
Diffstat (limited to 'core/shared/src/main')
-rw-r--r-- | core/shared/src/main/scala/magnolia.scala | 10 |
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]], |