-
Notifications
You must be signed in to change notification settings - Fork 17
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
Missing custom decorators with decorator parameters #189
Comments
If I revert 1c88d86, now I see |
But the problem is that for simpler decorators, visiting the annotation in the IR translator invoke the decorator function without sending a parameter. We basically get null for the function to invoke. |
Since we can't expand |
On second thought, I don't think it makes a ton of sense just to swap problems here. I reverted the change in 2a6e522, |
Related to #188.
Consider the following code:
The above seems to be a common pattern for decorators that take arguments and whose decoratorated functions also take arguments. To do this, you nest the functions three levels deep. What happens in Ariadne, however, is that we only "peel" back two of these. The following IR is produced from the above code on 644c562:
The invoked function at the very end if actually not
f()
but the middle function:The
core()
function should be called, but it's not:The points-to analysis:
I see
core()
there, but's not invoked. Looks to me like need one more function invocation here.The text was updated successfully, but these errors were encountered: