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

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.

1 participant