-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refactor and clean the code #109
Open
TheRustifyer
wants to merge
27
commits into
main
Choose a base branch
from
refactor-and-clean-code
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains 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
feat: removed the cache last generated commands, so they're one only one entity feat: reworked the conversion from our cache to the compile_commands.json format feat: unified the serialization and serialization entities. The intermediate ones used to clone data from the non-owned version of the cache has been deleted, and the SourceCommandLine now only works with owned data, so there's no need anymore to use those intermediate data mappers (that already was cloning from borrowed data)
…t and common Argument(s) that only need to be created once
…instead of owned data. Code compiles but is far from finished yet
This was referenced Jun 23, 2024
Open
This was
linked to
issues
Jun 24, 2024
… if they are already built if there's no header declared by the user. This closes #116
…tionUnit fix: we can't use join for file_stem(s) that contains dots in their names, since it skips anything after the first point
…nership is transferred to the build_model procedure
…nership is transferred to the build_model procedure fix: changed back the types on the config file data structures to their original reference types
TheRustifyer
added this to the Refactor, optimize and clean the code before workspaces (v0.10.0) milestone
Jun 25, 2024
…s worth the change of not having commands
…rocessing of translation units
…d anymore. Everything works again with plain references or moved values
…hts data structures for generating the C++ module interfaces command lines
…ed at generation time only
…entors of TranslationUnit when they're behind a impl TranslationUnit
…ation Unit, so now we only need a single block of code to process them all
… 112 feat: Added the clone-on-write idiom in any place that makes sense for now. Still we have to change Argument, SourceCommandLine and fields on the project model
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
PR
aims to refactor and clean the code written so far in Zork++ before introduce new features.Some of the core ideas is:
project_model
that uses owned data to use theclone-on-write
idiomtoml
crate on the latest version, the one that brokes the non-owned types compatibilities, and solve the performance downgrade by completely cache the configuration files, as well as the project model if there's no changes over the translation units or the configuration optionsNOTE: Some code comments are on Spanish in this initial commit, used to just set up this upstream branch. Sorry about that, English readers.