Have @ExoEntity imply @Serializable, integrate with IDE database tools - #94
Draft
Zrp200 wants to merge 4 commits into
Draft
Have @ExoEntity imply @Serializable, integrate with IDE database tools#94Zrp200 wants to merge 4 commits into
Zrp200 wants to merge 4 commits into
Conversation
Zrp200
marked this pull request as draft
January 20, 2026 02:18
Zrp200
marked this pull request as ready for review
January 20, 2026 02:20
Zrp200
marked this pull request as draft
January 26, 2026 00:57
This allows for direct IDE integration with the serialized data class
This removes the need to specify @serializable every single time it's used Also adjusted engine to detect it as an implicit serializer
* Updated associated usages to remove @serializable
Zrp200
force-pushed
the
meta-annotations
branch
from
January 26, 2026 01:45
134ebdb to
fc3a77e
Compare
Author
|
I'd failed to adjust the engine to detect the annotation as implying that there is a serializer previously |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This is actually several suggestions regarding the same annotation (ExoEntity). I've split them into separate commits to reflect the individual suggestions.
I don't mind if you implement this yourself without merging or implement only a part of these, but I figured I'd at least offer code.
IDE database integration for ExoEntity
59b036e adds a
@Languageannotation toExoEntity#valueannotation to enable IDE integration with the annotation.This should simulate actual query usage of the given name. I noticed that names are always quoted in queries, so this is always quoted as well.
This enables:
ExoEntity implies
@SerializableIn every single example usage of ExoEntity, as well as every example I find in the codebase, this annotation is always accompanied by
@Serializable.Add
@MetaSerializableto ExoEntitya1ee287 lets you omit
@Serializableentirely when using that annotation.So instead of
You can write simply
Extension: Make
@ExoEntitya true alias of SerializableAs an extension of the previous, d267581 makes
@Serializablecompletely optional in all cases:So instead of
You can write
Extension: Add a docstring to
@ExoEntity134ebdb just adds a docstring to
@ExoEntity, not sure what else to say.