-
Notifications
You must be signed in to change notification settings - Fork 23
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
Fixes to isFunctionCallExternal()
after end-to-end test
#215
Conversation
…detection of calls in external context. Added relevant cases to a test sample.
Codecov Report
@@ Coverage Diff @@
## master #215 +/- ##
==========================================
+ Coverage 91.65% 91.73% +0.08%
==========================================
Files 267 267
Lines 6527 6549 +22
Branches 1307 1320 +13
==========================================
+ Hits 5982 6008 +26
+ Misses 289 287 -2
+ Partials 256 254 -2
... and 2 files with indirect coverage changes 📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
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.
One question, some nits. Otherwise looking decent!
isFunctionCallExternal()
afted end-to-end testisFunctionCallExternal()
after end-to-end test
Preface
Test of pending release against Scribble uncovered additional edge-cases for external call detection:
ContractType.method()
member accesses forpublic
functions, whereContractType
is one of the inheritance bases. Some of those calls are invoked internally. Example is here.FunctionLikeSetType
s are now yet handled, where we have various possible functions via overloading. Example is here.This PR makes attempts to address these issues. Related Scribble tuning PR is here: Consensys/scribble#232
Changes
isFunctionCallExternal()
as method ofInferType
.Notes
This is a breaking change (previous PR #213 was also breaking due to signature change), so pending release would have to bump major version of the package to avoid breaking dependencies.
Regards.