-
Notifications
You must be signed in to change notification settings - Fork 996
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
[WIP] Expose immediate base contracts and base constructors #132
Conversation
Add hexadecimal support for subdenominations
Open files with UTF-8 encoding
* Refactored base contract exposure, added support for legacy-ast.
This pull request has now been refactored. It additionally adds support for both AST formats. It also now exposes explicit base constructor calls on both contract definitions and constructor definitions. (Meaning base constructors called on a contract's constructor definition, or those called via the use of parenthesis on the contract definition). The example below has explicit constructor calls on the contract definition for B and D, and explicit constructor calls on the constructor definition for C and D.
NOTE: Please verify legacy-ast heuristics are sufficient, as legacy-ast is known to present unreliable nodes at times. All tests to this point have yielded expected results. |
… base constructor to use it.
- contract.constructor return the first constructor (following c3 lin.) - remove contract.contract_not_inherited - add contract.constructors, which returns all the constructors (including inherited) Add documentation on constructor call on contract's definition
This pull request aims to resolve #131 . It aims to provide the immediate base contracts of a given contract in the correct order of declaration via
contract.immediate_inheritance
. This contrasts to the existing providedcontract.inheritance
which provides a flattened, linearized base contract list (all ancestors in the inheritance chain, immediate and not).