Set this As Default Argument in Ghost Invocations#86
Closed
rcosta358 wants to merge 2 commits intoliquid-java:mainfrom
Closed
Set this As Default Argument in Ghost Invocations#86rcosta358 wants to merge 2 commits intoliquid-java:mainfrom
this As Default Argument in Ghost Invocations#86rcosta358 wants to merge 2 commits intoliquid-java:mainfrom
Conversation
Collaborator
|
Just for the record: Java does this with m() being a short-hand version of this.m(). In this case, the elements between parentheses are exactly the same. Here, the idea is that m() is the same as m(this), which kind of changes the things between parentheses, having the potential of being a source of confusion for reading and writing refinements. On one hand, if we end up implementing dot-syntax for refinements (I usually think it's a good idea), the "this" makes sense before the "." But if we have non-interpreted functions as "functions", then adding an extra parameter when having zero elements syntactically seems a bit off to me. |
Collaborator
Author
|
We can change the syntax then, if everyone agrees. |
Collaborator
Author
|
What do you think @CatarinaGamboa? |
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.
Previously, if a ghost invocation had no arguments, we would get the error
Index 0 out of bounds for length 0.Instead of giving the user a better error message, what if we set
thisas the default argument for ghost invocations, when none is provided? Most of the time, this is the one we intend to use, so this would be an improvement.This way, we can write simpler and easier to read refinements:
This was done by checking if the arguments are empty in the parser and if so add the variable
thisto the list.