-
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
Merged
Merged
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
Closed
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
…ommands within the domain on the project files
chore: refactored the .collect() calls on the chained iterators to just use an opaque type behind the Iterator type and avoid to consume the view of the command line arguments
This bug was causing to fail the linkage step, since the linker was receiving a ::default()(ed) Argument, which evaluates to ""
…ake the user's declared files easier to read, reducing the amount of directories per file that should be passed to the configuration file
…ine of every target, since GCC handles the references to the modules via gcm.cache
… command line, deleted by mistake (too much v-dd)
…nd env vars to the commands executors
…t on their identifier
gbm25
approved these changes
Aug 7, 2024
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have seen the tests and everything seemed to work correctly.
Approved!
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:
ProjectModel
for everyConfigurationFile
so we can avoid remap them on every program iterationproject_model
that uses owned data to use theclone-on-write
idiomCow
as the inner type ofArgument
, but this means to introduce lifetimes bounds for the whole codebase, so we may see if it's worth the efforttoml
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 optionsWindows
with theMSYS2
project, so we can run integration tests againstGCC
on Windows on the GitHub actionsextra_args
property from theModules
entitiesNOTE: Some code comments are on Spanish in this initial commit, used to just set up this upstream branch. Sorry about that, English readers.