-
Notifications
You must be signed in to change notification settings - Fork 0
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
Intermediate Representation (IR) Support #50
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
0x19
added
documentation
Improvements or additions to documentation
enhancement
New feature or request
future work
Something we should do in the future
ir
Intermediate Representation
labels
Aug 5, 2023
Pull Request Test Coverage Report for Build 5789356876
💛 - Coveralls |
0x19
changed the title
Intermediate Response (IR) Support
Intermediate Representation (IR) Support
Aug 5, 2023
…gmas(). IR Pragmas implementation
…adding Import support to IR
…ard import, symbols, ids of the source units were broken
At this point we have all of the basic parts covered from the AST besides the FunctionCall. Prior this PR is merged to master following needs to happen:
Once this is done, we're ready for release of 1st revision of the Intermediate Response package! |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
documentation
Improvements or additions to documentation
enhancement
New feature or request
future work
Something we should do in the future
ir
Intermediate Representation
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.
Completely new package, Intermediate Representation, designed to bring sanity to the AST by providing contract visual representation that is readable.
Current version will not support function body statements, except FunctionCall.
Function call will be used later on to build control flow graphs so we'll add it inside.
Following package will be used so we can properly build ABIs as well as future CFG graphs (Control Flow Unit) 🥳
Each node has AST node connected to it so in case that any additional transformations/retrievals are needed such as source location, body statements, etc... can be done manually. In the future full support for statements will come but for now, building only necessary parts.
There's one primary unit test in builder_test.go that does most of the required job. Rest of the unit tests are just boilerplates for the future and to test out that getters are actually there, in place, working.
Bugfixes:
Additions:
MaskLocalSourcesPath
in sources.go ensuring returned response path do not contain full path. This is for example when we're serving it from the browser to not see local full path where it's located 😂