Skip to content
This repository has been archived by the owner on Nov 27, 2018. It is now read-only.

Make case class serialization more robust #22

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

clhodapp
Copy link

This contains fixes and tests to address two issues with case class serialization in jacks.

First, case classes in the root package cannot be serialized. This is because their scalap ClassSymbol names are prefixed with "<empty>.", which prevents them from being seen as the correct class in the jacks Scala module.

Second, jacks fails to correctly serialize case classes with a user-defined companion object, if that companion object is defined before the case class in the .scala file that contains them (companion objects have to be in the same file as the class to which they are a companion). This is because jacks simply finds the first scalap ClassSymbol from the file whose name matches the class name from the JavaType being serialized without checking whether that ClassSymbol is for the companion object.

* Correctly serialize case classes that appear after their companion object
* Correctly serialize case classes that are not contained in a package
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant